天天看點

Didn‘t find class “android.app.Application$ActivityLifecycleCallbacks$-CC“

最近在編寫一個新的工程的時候發現一個很奇怪的問題,直接執行AS Run的時候程式可以正常執行,但是如果先通過指令行編譯出apk,再install到手機時候,報以下crash:

07-01 11:49:31.634 E/AndroidRuntime(23465): java.lang.NoClassDefFoundError: Failed resolution of: Landroid/app/Application$ActivityLifecycleCallbacks$-CC;
07-01 11:49:31.634 E/AndroidRuntime(23465): 	at androidx.lifecycle.ReportFragment$LifecycleCallbacks.onActivityPreStarted(Unknown Source:0)
07-01 11:49:31.634 E/AndroidRuntime(23465): 	at android.app.Activity.dispatchActivityPreStarted(Activity.java:1357)
07-01 11:49:31.634 E/AndroidRuntime(23465): 	at android.app.Activity.performStart(Activity.java:8124)
07-01 11:49:31.634 E/AndroidRuntime(23465): 	at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3669)
07-01 11:49:31.634 E/AndroidRuntime(23465): 	at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
07-01 11:49:31.634 E/AndroidRuntime(23465): 	at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
07-01 11:49:31.634 E/AndroidRuntime(23465): 	at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
07-01 11:49:31.634 E/AndroidRuntime(23465): 	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
07-01 11:49:31.634 E/AndroidRuntime(23465): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2232)
07-01 11:49:31.634 E/AndroidRuntime(23465): 	at android.os.Handler.dispatchMessage(Handler.java:106)
07-01 11:49:31.634 E/AndroidRuntime(23465): 	at android.os.Looper.loop(Looper.java:232)
07-01 11:49:31.634 E/AndroidRuntime(23465): 	at android.app.ActivityThread.main(ActivityThread.java:8146)
07-01 11:49:31.634 E/AndroidRuntime(23465): 	at java.lang.reflect.Method.invoke(Native Method)
07-01 11:49:31.634 E/AndroidRuntime(23465): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
07-01 11:49:31.634 E/AndroidRuntime(23465): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:959)
07-01 11:49:31.634 E/AndroidRuntime(23465): Caused by: java.lang.ClassNotFoundException: Didn't find class "android.app.Application$ActivityLifecycleCallbacks$-CC" on path: DexPathList[[zip file "/data/app/~~lf-WqU6MkXvROEoAzsGb2Q==/com.bytedance.tnt.historyclipboard-AKbTWMmpUJmu0SLCylBwRw==/base.apk"],nativeLibraryDirectories=[/data/app/~~lf-WqU6MkXvROEoAzsGb2Q==/com.bytedance.tnt.historyclipboard-AKbTWMmpUJmu0SLCylBwRw==/lib/arm64, /data/app/~~lf-WqU6MkXvROEoAzsGb2Q==/com.bytedance.tnt.historyclipboard-AKbTWMmpUJmu0SLCylBwRw==/base.apk!/lib/armeabi-v7a, /system/lib, /system_ext/lib, /product/lib]]
07-01 11:49:31.634 E/AndroidRuntime(23465): 	at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:207)
07-01 11:49:31.634 E/AndroidRuntime(23465): 	at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
07-01 11:49:31.634 E/AndroidRuntime(23465): 	at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
07-01 11:49:31.634 E/AndroidRuntime(23465): 	... 15 more
           

一開始懷疑是androidX的問題,一路把所有androidx的庫都更新到最新版本還是同樣的錯誤,後來建立工程之後發現沒有問題了,對比之後發現是minSdkVersion 21的問題,修改為minSdkVersion 28就可以了,先記錄,具體的原因還沒有頭緒。