java.lang.ClassNotFoundException: Klasse im Pfad nicht gefunden: dexpathlist
Während der Arbeit an einem Projekt mit rein nativem NDK wurde ein Beim Versuch, das Projekt auszuführen, trat ein Problem auf, das zu der Fehlermeldung führte:
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]]
Upon Bei der Untersuchung des Codes wurde festgestellt, dass die Datei main.cpp die folgenden Zeilen enthielt:
#include "android_tools.h" #ifdef _IRR_ANDROID_PLATFORM_ void android_main(android_app* app) { __android_log_print(4 , "pom" , "nothing"); }
Die entsprechende Aktivitätsdeklaration in AndroidManifest.xml wurde jedoch wie folgt angegeben:
<activity android:name="android.app.POMActivity">
Die Diskrepanz zwischen dem Aktivitätsnamen im Manifest und dem Klassennamen im nativen Code verursachte die ClassNotFoundException. Um das Problem zu beheben, hätte der Aktivitätsname im Manifest wie folgt aktualisiert werden müssen, damit er mit dem nativen Code übereinstimmt:
<activity android:name=".POMActivity">
Nachdem diese Änderung vorgenommen wurde, wurde das Projekt erfolgreich ohne die ClassNotFoundException ausgeführt.
Das obige ist der detaillierte Inhalt vonWarum löst mein Android NDK-Projekt eine „ClassNotFoundException' für meine Aktivität aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!