Rumah >Java >javaTutorial >Mengapa Projek NDK Android Saya Melemparkan `ClassNotFoundException` untuk Aktiviti Saya?

Mengapa Projek NDK Android Saya Melemparkan `ClassNotFoundException` untuk Aktiviti Saya?

Barbara Streisand
Barbara Streisandasal
2024-12-04 07:32:16989semak imbas

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

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn