我正在开发一个带有Android注释的Android应用程序。这在开始时工作得很好,但是当我开始使用越来越多的库作为依赖项时,我在启动和运行应用程序时遇到了问题。
我收到错误消息
01-28 14:53:00.764: E/AndroidRuntime(5471): java.lang.RuntimeException:
Unable to instantiate activity ComponentInfo{de.mm.aademo.android/de.mm.aademo.android.activity.MainActivity_}:
java.lang.ClassNotFoundException: Didn't find class "de.mm.aademo.android.activity.MainActivity_"
on path:
DexPathList[[zip file "/data/app/de.mm.aademo.android-14.apk"],nativeLibraryDirectories=[/data/app-lib/de.mm.aademo.android-14, /vendor/lib, /system/lib]]
在我的应用程序启动期间。似乎在gradle构建过程中删除了生成的类,但我不知道为什么以及何时。
为了重现此问题,我创建了一个示例 GitHub 项目,以便每个人都可以重现此问题。您可以在以下位置找到该项目
https://github.com/MichaelMeyersGit/AA_Demo_Project
也许有人可以看到我的配置有什么问题。谢谢
尝试将目标 sdk 更改为 25,并将构建工具更改为 25.0.2。问题一定是由于旧构建工具中的错误,主 dex 列表中缺少活动。
所以在浪费大量时间怀疑Android注释或apt插件之后,我找到了真正的根本原因。
我忘了告诉的是,我正在运行Android 4.4.2(API 19)设备,并且所有API版本都必须准备好使用Multidex<21。
在我的gradle构建文件中,我启用了Multidex(我必须这样做),所以我必须创建自己的Android应用程序类
public class Application extends android.app.Application{
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
}