2016-08-07 6 views
0

コマンドラインからコンパイルできない小さなAndroidアプリケーションがあります。 Android Studioのエミュレータにアプリケーションをビルドして問題なく展開できますが、コマンドラインからビルドしようとすると、私は以下のエラーが表示されます。コマンドラインからコンパイルするとcom.android.dex.DexIndexOverflowExceptionが発生する

gradle clean assembleDebug 

FAILURE:例外で失敗しましたビルドします。

  • 何が問題になりましたか: ':app:transformClassesWithDexForRelease'タスクの実行に失敗しました。

    com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexIndexOverflowException:メソッドIDないで[0、 は0xffff]:65536

  • してみてください。スタックトレースを取得するために--stacktraceオプションを指定して実行します。より多くのログ出力を得るには、--infoまたは--debugオプションを指定して実行します。

BUILDは、私は私がここで説明アンドロイド64kの方法の制限を超えまし言って理解

失敗しました。しかし、なぜアプリケーションはAndroid Studioで罰金コンパイルう

https://developer.android.com/studio/build/multidex.html

を?コマンドラインからコンパイルするときに私が間違っていることは何ですか?前もって感謝します。

答えて

1

それは私がすべてのGoogleはbuild.gradleにすなわち、私の依存関係にサービスライブラリを再生含めた判明したように:

compile 'com.google.android.gms:play-services:9.4.0' 

が、私はその依存関係を削除し、個別に各プレイ・サービスのライブラリを追加した、すなわち:そのマニュアルに従って

compile 'com.google.android.gms:play-services-maps:9.4.0' 

https://developers.google.com/android/guides/setup

このように私は使用しているライブラリのみを含めています。今度は、アプリはAndroid Studioとコマンドラインでコンパイルされます。私はのAndroid Studioのアプリケーションは、私が以前にAndroidのメーカーではなく、コマンドライン上でコンパイルできた理由であるコンパイル時に必要なもので、全プレイServicesライブラリを置き換えると仮定し、私はこれを確認することができませんでした。これが他の人に役立つことを願っています

関連する問題