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中文網其他相關文章!