java.lang.ClassNotFoundException: Tidak menemui kelas pada laluan: dexpathlist
Semasa mengerjakan projek menggunakan NDK asli semata-mata, sebuah isu timbul semasa cuba menjalankan projek, mengakibatkan ralat mesej:
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]]
Setelah menyiasat kod tersebut, didapati bahawa fail main.cpp mengandungi baris berikut:
#include "android_tools.h" #ifdef _IRR_ANDROID_PLATFORM_ void android_main(android_app* app) { __android_log_print(4 , "pom" , "nothing"); }
Walau bagaimanapun, pengisytiharan aktiviti yang sepadan dalam AndroidManifest.xml ialah dinyatakan seperti berikut:
<activity android:name="android.app.POMActivity">
Percanggahan antara nama aktiviti dalam manifes dan nama kelas dalam kod asli menyebabkan ClassNotFoundException. Untuk menyelesaikan isu ini, nama aktiviti dalam manifes sepatutnya telah dikemas kini agar sepadan dengan kod asli, seperti berikut:
<activity android:name=".POMActivity">
Setelah perubahan ini dibuat, projek berjalan dengan jayanya tanpa ClassNotFoundException.
Atas ialah kandungan terperinci Mengapa Projek NDK Android Saya Melemparkan `ClassNotFoundException` untuk Aktiviti Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!