2016-06-18 5 views
0

Android Nで作業しようとしています。私はかなり新しいAndroid開発者です。以前のバージョンでも動作しています。ここでAndroid:新しいN機能を使用しようとしていて、奇妙なメッセージをグラフトで取得しようとしています

は私が私のbuild.gradle起動する方法です:

:だから

compileSdkVersion 24 
    buildToolsVersion "24.0.0" 

    defaultConfig { 
     applicationId "io.craigmiller160.contacts5" 
     minSdkVersion 21 
     targetSdkVersion 24 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 

を、私はこれを行うと、二つのことが起こる24

に私のcompileSdkVersion、targetSdkVersion、およびbuildToolsVersionを設定しました

1)投稿したコードスニペットのbuildTypesセクションがAndroidStudioによって強調表示されます。 "buildTypesを '(groovy.lang.Closure)に適用できません'というエラーメッセージが表示されます。"このアプリケーションでgroovyを使用していない、btw。

compile 'com.android.support:appcompat-v7:23.4.0' 
    compile 'com.android.support:design:23.4.0' 
    compile 'com.android.support:support-v13:23.4.0' 
    compile 'com.android.support:cardview-v7:23.4.0' 
    compile 'com.android.support:support-v4:23.4.0' 

私はすでに、彼らがすべてだと言うことができます:私は私のサポートライブラリを持つ別のAndroidStudioエラーメッセージが表示されます24.

2)に私のSDKのバージョンを変更するまで、このメッセージは、表示されて起動しませんでした24ではなくsdk 23をターゲットにしています。私はエラーの強調表示を消したいと思います。問題は、sdk 24の特定のバージョン番号では何も見つかりません.24.0.0だけ使用できますか?それとも、具体的に見ることができる場所がありますか?

3)これは最終的な無関係のものですが、私はプロのJava開発者です。以前のJVMで私たちのアプリケーションを実行するクライアントとの下位互換性の必要性から、Java 8の機能を使用することはありません。私のアプリがまだAndroidのプレNバージョンで動作している状態で、ジャックツールチェーンでJava 8の機能を安全に使用できますか?

誰もが私の設定から見ることができるように、私のアプリはLollipop以上を意図的にターゲットにしています(特定の理由で、市場シェアにもかかわらず)。しかし、私はこのためにpre-Nの互換性を破りたくありません。

ありがとうございます。

編集:奇妙なことに、私は答えを待つ間にこれらの変更を行う前にプロジェクトを以前のコミットに戻しました。しかし、今私はsdk 24をダウンロードしたときに新しいサポートライブラリをダウンロードしたので、バージョン24.0.0が利用可能であることを伝える別の警告が出ました。これはtargetSdkが23だったときにだけ表示されました。私が24まで上げた瞬間、どのバージョンに切り替えるべきかについてのヒントはありません。奇妙な。

質問2を無視してください。ちょうど1,3としてください。

答えて

1

というエラーメッセージ「buildTypesはに適用することができない 『(groovy.lang.Closure)』」あなたのbuildTypes行の前に空白行を追加すること

てみてくださいがあります。それでも問題が解決しない場合は、サブセットではなく、質問を編集してbuild.gradleファイル全体を投稿することを検討してください。

私はGradleのは、Groovyのに基づいて、このアプリでは全く

をグルーヴィー使用していませんよ。

私はちょうど24.0.0を使用できますか?

はい。

また、具体的に見ることのできる場所がありますか?

$ANDROID_HOME/extras/android/m2repository/com/android/support/appcompat-v7/$ANDROID_HOMEはどこにでもAndroid SDKがインストールされています)をご覧ください。一般的に言えば、com.android.supportライブラリのすべてが一斉に更新されるため、1つを検索すると(例えば、appcompat-v7)、他のライブラリに有効なバージョン番号を渡す必要があります。

Android Studioの[プロジェクトの構造]ダイアログで依存関係を設定することもできます。個人的には、build.gradleファイルで直接作業しています。

私のアプリがまだAndroidの以前のバージョンで動作している状態で、安全にJava 8の機能をJack toolchainで使用できますか?彼らはAPIレベルに新しく追加されたとして

あなたは新しいクラスを使用することはできません(例えば、java.util.stream)は、24その他の機能はAPIレベルに戻って7 IIRCを動作するようになっています。それが言われて、私はまだそれらを試していない。

関連する問題