2016-04-08 7 views
2

私はKitkatをサポートするために、私のアプリのコンパイルSDKバージョンと最小SDKバージョンを23から19に変更しました。私はこれらのサポートライブラリがコンパイルSDKのバージョンから別のSDKのバージョンを使用してはならないというエラーを取得していますcompileSDKのバージョンを変更するときにアンドロイドサポートライブラリの問題を解決するには?

compile 'com.android.support:appcompat-v7:23.1.1' 
compile 'com.android.support:design:23.1.1' 

問題は、私は次の依存関係を持っている私のbuild.gradleファイルです。

23.1.119.1.1に変更するだけで問題が発生する可能性がありますか?

EDIT:

私はいくつかのより多くの記事を読んでいると、彼らは私が常に最新のバージョンに私のcompileSDKバージョンを設定すべきであると言います。しかし私が理解していることから、それは私のアプリの最小SDKバージョンではなく、最新のSDKバージョンでのみサポートされている機能を使用する可能性があります。

答えて

2

サポートライブラリのメジャー番号は常にcompileSdkVersionと一致する必要がありますが、compileSdkVersionを変更してKitKatをサポートする必要はありません。

Android開発は、KitKatのリリースから3年後に移行しました。最新のマテリアルアプリケーションを作成するには、SDKの最新バージョンを使用する必要があります。たとえば、SKD 19のsupport libraryにはDesignまたはRecyclerViewライブラリがありません。

API 19をサポートしていることを確認するには、使用する前にメソッドのAPIレベルを認識し、認識できるときにサポートライブラリバージョンのクラスを使用します。

minSdkVersionを19に設定すると、APIレベル19でサポートされていないメソッドを使用するとコンパイルでエラーが発生しません。その場合、lintは警告します。あなたのアプリケーションがターゲットとするすべてのバージョンでサポートされていない新しいメソッドを呼び出すためのNewApiエラーが発生します。

gradlew lintlintを手動で実行することも、リリースまたはデバッグビルドを作成するたびにconfigure lintを実行することもできます。 abortOnError trueを設定すると、コンパイルエラーと同様の影響を持つビルドエラーが発生します。

+0

最小のAPIレベルを19に設定すると、コンパイラはレベル19以上のAPIメソッドを使用するかどうかを教えてくれますか? – Roymunson

+0

@Roymunsonあなたのコメントに答えるために私の答えを広げました。 – Benjamin

関連する問題