Android Studio 3.2
から3.3
に更新しました。プロジェクトのGradleプラグインを3.2.1
から3.3
に更新しました。 Run/Debug configuration
でプロファイリングするとアプリがクラッシュします。Clean/Rebuild/Invalidate caches
は役に立ちません。
それを機能させる1つの方法を見つけました:プラグインを3.2.1
にロールバックします(プロジェクトbuild.gradle内)
dependencies {
classpath 'com.Android.tools.build:gradle:3.2.1'
}
他に方法はありますか?
01-15 13:38:31.527 6969-6969/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.appcard.androidterminal, PID: 6969
Java.lang.NoClassDefFoundError: Failed resolution of: Lcom/Android/tools/profiler/support/ProfilerService;
at com.appcard.androidterminal.AppContext.<init>(AppContext.Java:53)
at Java.lang.reflect.Constructor.newInstance(Native Method)
at Java.lang.Class.newInstance(Class.Java:1606)
at Android.app.Instrumentation.newApplication(Instrumentation.Java:1000)
at Android.app.Instrumentation.newApplication(Instrumentation.Java:985)
at Android.app.LoadedApk.makeApplication(LoadedApk.Java:567)
at Android.app.ActivityThread.handleBindApplication(ActivityThread.Java:4837)
at Android.app.ActivityThread.access$1500(ActivityThread.Java:178)
at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1531)
at Android.os.Handler.dispatchMessage(Handler.Java:111)
at Android.os.Looper.loop(Looper.Java:194)
at Android.app.ActivityThread.main(ActivityThread.Java:5643)
at Java.lang.reflect.Method.invoke(Native Method)
at Java.lang.reflect.Method.invoke(Method.Java:372)
at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:960)
at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:755)
Caused by: Java.lang.ClassNotFoundException: Didn't find class "com.Android.tools.profiler.support.ProfilerService" on path: DexPathList[[Zip file "/data/app/com.appcard.androidterminal-1/base.apk"],nativeLibraryDirectories=[/data/app/com.appcard.androidterminal-1/lib/arm, /vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.Java:56)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:511)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:469)
at com.appcard.androidterminal.AppContext.<init>(AppContext.Java:53)
at Java.lang.reflect.Constructor.newInstance(Native Method)
at Java.lang.Class.newInstance(Class.Java:1606)
at Android.app.Instrumentation.newApplication(Instrumentation.Java:1000)
at Android.app.Instrumentation.newApplication(Instrumentation.Java:985)
at Android.app.LoadedApk.makeApplication(LoadedApk.Java:567)
at Android.app.ActivityThread.handleBindApplication(ActivityThread.Java:4837)
at Android.app.ActivityThread.access$1500(ActivityThread.Java:178)
at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1531)
at Android.os.Handler.dispatchMessage(Handler.Java:111)
at Android.os.Looper.loop(Looper.Java:194)
at Android.app.ActivityThread.main(ActivityThread.Java:5643)
at Java.lang.reflect.Method.invoke(Native Method)
at Java.lang.reflect.Method.invoke(Method.Java:372)
at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:960)
at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:755)
Suppressed: Java.lang.ClassNotFoundException: com.Android.tools.profiler.support.ProfilerService
at Java.lang.Class.classForName(Native Method)
at Java.lang.BootClassLoader.findClass(ClassLoader.Java:781)
at Java.lang.BootClassLoader.loadClass(ClassLoader.Java:841)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:504)
... 17 more
Caused by: Java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
私はバグを埋めました、これがグーグル開発者の応答です:
エミュレータAPI25以下で問題を再現することができました。回避策は、26以上のデバイス/エミュレーターAPIを使用することです。
https://issuetracker.google.com/issues/122944954#comment4
更新:
はい、これは修正されました。修正は3.3.1にはありませんが、次のリリースにあります。