【Android Studio&Kotlin】compileSdkVersion とbuildToolsVersion の違いとは

こんにちは。YOSHITAKA(@YOSHITA19704216)です。

初心者
compileSdkVersion とbuildToolsVersion の違いってなんですか?

よしたか
学んだことをアウトプットしていきます。

 

この記事を読むことで
  • compileSdkVersion とbuildToolsVersion の違いがわかります。

Contents

compileSdkVersion とbuildToolsVersion の違いとは

対象者

大前提
  • compileSdkVersion とbuildToolsVersion の違いがぼんやりしている人向けです。

compileSdkVersion

コンパイル時に使うAndroid SDKのバージョンです。

(アプリをコンパイルする際のAPIバージョン。)

このAPIバージョンまでの機能をアプリ内で利用することができる。

例:compileSdkVersion 22

バージョンにないメソッドを使おうとするとビルドできないです。

次の場合はエラーになる(見本)

compileSdkVersion 19
にして、Lollipop(API Level 21)のメソッドを使おうとするとエラーが出てビルドできません

ポイント
  • SDK ManagerでそのバージョンのSDK Platformがインストールされている必要があります

buildToolsVersion

アプリビルドの際のコンパイラのバージョンのこと。

SDKビルドツールのバージョンの指定。

例:buildToolsVersion "19.1.0"
これが低いとmultidexなどの機能が利用できないなどがあるようです

Android Studio 3.0.0以降は必須ではなくなっていて、指定しない場合は使用しているpluginが必要とする内で一番高いバージョンが使われる。

ポイント
  • コンパイラのバージョンなので、compileSdkVersionを上げた時は一緒に上げる必要がある。

エラーを回避する方法

compileSdkVersionを21に設定していたとしても、APIレベル21の機能を使わない限りはAPIレベルが21未満の端末上でもアプリは動作する。

 

minSdkVersin <= compileSdkVersionかつcompileSdkVersionの機能をアプリ内で使う場合は下記のように条件分岐で対応すると良いっぽい。

〇〇.kt

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.L) {
  // ここはLollipop(Android 5.0)以降で実行される。
} else {
  // こっちはKitKat(Android 4.4)以前。
}

 

まとめ

今回はcompileSdkVersion とbuildToolsVersion の違いについてお伝えしました。

 

※プログラミングは習得中ですので、参考程度に記事を読んでください。

 

参考はこちら

https://qiita.com/SpeakEasy/items/0c7df773c96de1ffa9c3

あなたは「Web集客」に限界を感じていませんか?

サイトをただ作るだけで満足ですか?

あなたのサービスやコンテンツはとっても有益なものがたくさんあります。

良いコンテンツも埋もれてしまっては全く意味がありません。

正しい知識と実践で、SEO対策はもちろん、ユーザビリティーを考えたサイトを作りませんか?

私と歩めばWebマーケティング知識とWordPressスキルが定着し、サイト回遊率、再訪問がアップします。

しかも、これだけでは終わりません!!

その先の「攻めのメディア」と組み合わせ、あなたのサービスを広めて売上を伸ばしていきます。

サイトを育てて、長い間愛されることのできるWordPressサイトからの集客導線(ゴールデンルート)を一緒に作りませんか?

↓ ↓ ↓ ↓ ↓ ↓ 

おすすめの記事