安卓的一个坑,java.lang.IllegalArgumentException: No @Navigator.Name annotation found

作者在学习安卓开发的第八天遇到问题,应用打包后安装崩溃,经排查发现是混淆导致的`Navigator.Name`找不到。解决方法是在混淆文件中添加相关配置。错误日志显示了InflateException和Fragment初始化问题。
摘要由CSDN通过智能技术生成

本人第一次接触安卓,这是我学安卓的第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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值