これまでのところ正常に機能するAndroidアプリを作成しました。次に、Google Cloud Messaging (GCM) の機能を追加しました。分析やアプリのインデックス作成などを追加したと思われる Google のデモ プロジェクトを使用しました。
アプリの起動は意図したとおりに機能しますが、多くの時間がかかります。ログには、次のような多くのメッセージが表示されます。
I/dex2oat: ----------------------------------------------------
I/dex2oat: <SS>: S T A R T I N G . . .
I/dex2oat: <SS>: Zip is absent. Canceled.
I/dex2oat: /system/bin/dex2oat --runtime-arg -classpath --runtime-arg --instruction-set=arm --instruction-set-features=div --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --dex-file=/data/data/world.b2g.b2gether/files/instant-run/dex/slice-com.google.android.gms-play-services-measurement-8.4.0_d76b40d326ea93493481fa158b18846c1c4627dd-classes.dex --oat-fd=29 --art-fd=-1 --oat-location=/data/data/world.b2g.b2gether/cache/slice-com.google.android.gms-play-services-measurement-8.4.0_d76b40d326ea93493481fa158b18846c1c4627dd-classes.dex --runtime-arg -Xms64m --runtime-arg -Xmx512m
I/dex2oat: dex2oat took 288.616ms (threads: 4)
I/dex2oat: ----------------------------------------------------
I/dex2oat: <SS>: S T A R T I N G . . .
I/dex2oat: <SS>: Zip is absent. Canceled.
I/dex2oat: /system/bin/dex2oat --runtime-arg -classpath --runtime-arg --instruction-set=arm --instruction-set-features=div --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --dex-file=/data/data/world.b2g.b2gether/files/instant-run/dex/slice-com.google.android.gms-play-services-maps-8.4.0_36e4d7c4ee371ae72ff4fba4383d7535cc7f3d3a-classes.dex --oat-fd=29 --art-fd=-1 --oat-location=/data/data/world.b2g.b2gether/cache/slice-com.google.android.gms-play-services-maps-8.4.0_36e4d7c4ee371ae72ff4fba4383d7535cc7f3d3a-classes.dex --runtime-arg -Xms64m --runtime-arg -Xmx512m
I/dex2oat: dex2oat took 321.095ms (threads: 4)
I/dex2oat: ----------------------------------------------------
I/dex2oat: <SS>: S T A R T I N G . . .
I/dex2oat: <SS>: Zip is absent. Canceled.
I/dex2oat: /system/bin/dex2oat --runtime-arg -classpath --runtime-arg --instruction-set=arm --instruction-set-features=div --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --dex-file=/data/data/world.b2g.b2gether/files/instant-run/dex/slice-com.google.android.gms-play-services-location-8.4.0_298f1e5056d6eea423c13052ef0c9136963ce27b-classes.dex --oat-fd=29 --art-fd=-1 --oat-location=/data/data/world.b2g.b2gether/cache/slice-com.google.android.gms-play-services-location-8.4.0_298f1e5056d6eea423c13052ef0c9136963ce27b-classes.dex --runtime-arg -Xms64m --runtime-arg -Xmx512m
I/dex2oat: dex2oat took 298.720ms (threads: 4)
I/dex2oat: ----------------------------------------------------
...
一部のパッケージが欠落しているように見えます。これらの機能 (マップと GCM を除く) は必要ないため、Android Studio で Analytics、Authentication... のオプションを無効にしました。それでも、これらのメッセージは引き続き表示されます。
これは、build.gradle ファイルでサービスを適用したためでしょうか?
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile files('libs/greendao-2.1.0.jar')
compile project(':volley')
compile 'com.android.support:support-v13:23.3.0'
compile 'com.android.support:recyclerview-v7:23.3.0'
compile 'com.android.support:appcompat-v7:23.3.0'
compile 'com.google.android.gms:play-services-gcm:8.4.0'
compile 'com.google.android.gms:play-services-maps:8.4.0'
compile 'com.google.android.gms:play-services-location:8.4.0'
}
apply plugin: 'com.google.gms.google-services'
アプリのgradle configにも書いた
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0'
classpath 'com.google.gms:google-services:2.0.0'
}
}
- - - - - - - - - - - - - 編集 : - - - - - - - - - - - ----
それはgradleのせいのようです
新しい Android Studio に更新した時点まで問題を少しさかのぼります。ある時点で、Gradle 2.8からGradle 2.10に切り替える必要がありました。Gradle 2.8 に変更すると、この問題はなくなります。残念ながら、Android Studio から、今すぐ 2.10 に更新する必要があると表示されます。
それで、なにかお手伝いできますか?
----------------------- EDIT 07.June.2016 : -------------------- ---
Android Studio 2.1.2 への新しいアップデートにより、このバグは修正されたようです (少なくとも、このメッセージは表示されなくなりました)。