本人第一次接触安卓,这是我学安卓的第8天
在提交应用到谷歌的时候,遇到这个bug,很奇怪,不知道为啥,插线到手机测试怎么都没问题,一打包安装就会崩。
我找了很久,真的不知道原来安装还有混淆这种东西
原因是:混淆把搞的锅
解决办法:在混淆文件里加这两行
-keepattributes RuntimeVisibleAnnotations
-keep class * extends androidx.navigation.Navigator
下面是报错的日志,看看是不是和你的一样
FATAL EXCEPTION: main
Process: com.comicbear, PID: 27591
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.comicbear/com.comicbear.ui.main.MainActivity}: android.view.InflateException: Binary XML file line #32 in com.comicbear:layout/activity_main: Binary XML file line #32 in com.comicbear:layout/activity_main: Error inflating class fragment
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3900)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4046)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:101)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2440)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:211)
at android.os.Looper.loop(Looper.java:300)
at android.app.ActivityThread.main(ActivityThread.java:8321)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:581)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1028)
Caused by: android.view.InflateException: Binary XML file line #32 in com.comicbear:layout/activity_main: Binary XML file line #32 in com.comicbear:layout/activity_main: Error inflating class fragment
Caused by: android.view.InflateException: Binary XML file line #32 in com.comicbear:layout/activity_main: Error inflating class fragment
Caused by: java.lang.IllegalArgumentException: No @Navigator.Name annotation found for k
at androidx.navigation.r.c(Unknown Source:59)
at androidx.navigation.r.a(Unknown Source:4)
at androidx.navigation.NavController.<init>(Unknown Source:71)
at androidx.navigation.l.<init>(Unknown Source:0)
at androidx.navigation.fragment.NavHostFragment.u0(Unknown Source:6)
at androidx.fragment.app.Fragment.Z0(Unknown Source:16)
at androidx.fragment.app.n.d(Unknown Source:49)
at androidx.fragment.app.j.B0(Unknown Source:225)
at androidx.fragment.app.j.A0(Unknown Source:2)
at androidx.fragment.app.h.onCreateView(SourceFile:33)
at androidx.fragment.app.e.w(Unknown Source:8)
at androidx.fragment.app.FragmentActivity.y(Unknown Source:2)
at androidx.fragment.app.FragmentActivity.onCreateView(SourceFile:1)
at android.view.LayoutInflater.tryCreateView(LayoutInflater.java:1113)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1026)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:990)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1169)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1130)
at android.view.LayoutInflater.inflate(LayoutInflater.java:711)
at android.view.LayoutInflater.inflate(LayoutInflater.java:548)
at q3.g.d(Unknown Source:3)
at q3.g.c(Unknown Source:2)
at com.comicbear.ui.main.MainActivity.W(Unknown Source:4)
at com.comicbear.base.BaseActivity.onCreate(Unknown Source:3)
at com.comicbear.ui.main.MainActivity.onCreate(Unknown Source:0)
at android.app.Activity.performCreate(Activity.java:8547)
at android.app.Activity.performCreate(Activity.java:8511)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1437)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3881)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4046)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:101)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2440)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:211)
2024-03-21 01:26:16.367 27591-27591 AndroidRuntime com.comicbear E at android.os.Looper.loop(Looper.java:300)
at android.app.ActivityThread.main(ActivityThread.java:8321)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:581)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1028)