android - 在某些设备中找不到 Kotlin 活动
问题描述
我看到有几个人有同样的问题,Kotlin 文件似乎没有包含在 .apk 文件中,抛出 java.lang.NoClassDefFoundError: Failed resolution exception during runtime。
在另一个 Stackoverflow 回答步骤之后,我认为我设法解决了这个问题,但它仍然在某些设备(BQ Aquaris V7.1.1)中每隔一次构建就会发生。我的意思是,如果我构建 .apk 并遇到此问题,如果我构建 .apk 文件并再次安装它,它将消失。
所以它只发生在少数手机中,再次构建 .apk 文件可以解决它。
任何线索为什么会发生这种情况?
鉴于它在大多数设备上都能正常工作,我猜我的 Gradle 设置、Kotlin 和 Android Studio 版本都可以。
预先感谢。
这是在未找到活动的设备中抛出的日志:
由 java.lang.ClassNotFoundException 引起在路径上找不到类“com.project.myapp.kotlin.MyKotlinActivity”:DexPathList[[zip file“/data/app/com.project.myapp-1/base.apk”] ,nativeLibraryDirectories=[/data/app/com.project.myapp-1/lib/arm, /data/app/com.project.myapp-1/base.apk!/lib/armeabi-v7a, /vendor/lib, /系统/库]]
致命异常:java.lang.NoClassDefFoundError 解析失败:Lcom/project/myapp/kotlin/MyKotlinActivity;com.project.myapp.main.HomeActivity.openMyKotlinActivity (HomeActivity.java:281) com.project.myapp.main.HomeFragment.openMyKotlinActivity (HomeFragment.java:622) com.project.myapp.main.HomeFragment.onCreateView (HomeFragment. java:205) android.support.v4.app.Fragment.performCreateView (Fragment.java:2354) android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1419) android.support.v4.app.FragmentManagerImpl。 moveFragmentToExpectedState (FragmentManager.java:1740) android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1809) android.support.v4.app.BackStackRecord.executeOps (BackStackRecord.java:799) android.support.v4。 app.FragmentManagerImpl。
解决方案
推荐阅读
- postgresql - 需要建议以创建从 postgresql 表中返回年龄、性别、应用程序和国家/地区值的 select 语句
- angular - 如何在 Angular 中访问返回的 Observable 的属性?
- r - 有没有办法通过 R 中不同数据帧中的索引来匹配和更改数据帧中的变量?
- spring - 为 Spring Boot 寻找类似于 Laravel Livewire 的东西
- apache-kafka - Kafka 主题和微服务的多个实例
- r - acf 返回“'lag.max' 必须至少为 0”,而 arima 返回“仅针对单变量时间序列实现”,尽管时间序列数据结构正确
- merge - 提高 Hazelcast 集群成员合并性能
- javascript - Discord收集器反应过滤器设置最大限制的方式
- kubernetes - 父/子 kubernetes pod 通信
- r - 为什么逐元素矩阵乘法会为 R 中的相同数字提供不同的输出?