首页 > Java > java教程 > 为什么我的 Android NDK 项目会为我的 Activity 抛出'ClassNotFoundException”?

为什么我的 Android NDK 项目会为我的 Activity 抛出'ClassNotFoundException”?

Barbara Streisand
发布: 2024-12-04 07:32:16
原创
922 人浏览过

Why Does My Android NDK Project Throw a `ClassNotFoundException` for My Activity?

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板