首頁 > Java > java教程 > 為什麼我的 Android NDK 專案會為我的 Activity 拋出「ClassNotFoundException」?

為什麼我的 Android NDK 專案會為我的 Activity 拋出「ClassNotFoundException」?

Barbara Streisand
發布: 2024-12-04 07:32:16
原創
921 人瀏覽過

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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板