Maison > Java > javaDidacticiel > Pourquoi mon projet Android NDK génère-t-il une « ClassNotFoundException » pour mon activité ?

Pourquoi mon projet Android NDK génère-t-il une « ClassNotFoundException » pour mon activité ?

Barbara Streisand
Libérer: 2024-12-04 07:32:16
original
922 Les gens l'ont consulté

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

java.lang.ClassNotFoundException : classe introuvable sur le chemin : dexpathlist

Lorsque vous travaillez sur un projet utilisant du NDK purement natif, un un problème est survenu lors de la tentative d'exécution du projet, entraînant le message d'erreur :

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]]
Copier après la connexion

Après enquête le code, il a été découvert que le fichier main.cpp comprenait les lignes suivantes :

#include "android_tools.h"
#ifdef _IRR_ANDROID_PLATFORM_
void android_main(android_app* app)
{
__android_log_print(4 , "pom" , "nothing");
}
Copier après la connexion

Cependant, la déclaration d'activité correspondante dans AndroidManifest.xml était spécifiée comme suit :

<activity android:name="android.app.POMActivity">
Copier après la connexion

La différence entre le nom de l'activité dans le manifeste et le nom de la classe dans le code natif a provoqué l'exception ClassNotFoundException. Pour résoudre le problème, le nom de l'activité dans le manifeste aurait dû être mis à jour pour correspondre au code natif, comme suit :

<activity android:name=".POMActivity">
Copier après la connexion

Une fois cette modification effectuée, le projet s'est exécuté avec succès sans ClassNotFoundException.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal