java.lang.ClassNotFoundException: 在路径上找不到类:dexpathlist
在使用纯原生 NDK 处理项目时,尝试运行项目时出现问题,导致错误message:
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.irrlicht.example1/android.app.POMActivity}: java.lang.ClassNotFoundException: Didn't find class "android.app.POMActivity" on path: DexPathList[[zip file "/data/app/com.irrlicht.example1-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.irrlicht.example1-2, /system/lib]]
经过排查代码,发现main.cpp文件中包含以下几行:
#include "android_tools.h" #ifdef _IRR_ANDROID_PLATFORM_ void android_main(android_app* app) { __android_log_print(4 , "pom" , "nothing"); }
但是AndroidManifest.xml中对应的activity声明是指定如下:
<activity android:name="android.app.POMActivity">
manifest 中的 Activity 名称与原生代码中的类名称不一致导致类未发现异常。要解决此问题,应更新清单中的活动名称以匹配本机代码,如下所示:
<activity android:name=".POMActivity">
进行此更改后,项目成功运行,没有出现 ClassNotFoundException。
以上是为什么我的 Android NDK 项目会为我的 Activity 抛出'ClassNotFoundException”?的详细内容。更多信息请关注PHP中文网其他相关文章!