java.lang.ClassNotFoundException : Non hai trovato classe sul percorso : dexpathlist

? Karthik Sivam @ | Original: StackOverFlow
---

Attualmente sto lavorando su un progetto in cui devo usare NDK puramente nativo . Ha funzionato quando prova ad eseguire un esempio helloworld dalla sorgente del motore Irrlicht . Poi cerco di usarlo nel mio progetto in seguito lo stesso formato di quell'esempio . Ma ho ricevuto :

03-14 01:40:05.308: E/AndroidRuntime(799): 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]]

durante l'esecuzione il mio progetto .

Ecco il mio file main.cpp :

#include <android/log.h>
#include <jni.h>
#include <android_native_app_glue.h>
#include "android_tools.h"
#ifdef _IRR_ANDROID_PLATFORM_
void android_main(android_app* app)
{
__android_log_print(4, "pom", "nothing");
}

#endif

in Android.mk:

LOCAL_PATH := $(call my-dir)/..
IRRLICHT_PROJECT_PATH := $(LOCAL_PATH)
include $(CLEAR_VARS)
LOCAL_MODULE := Irrlicht
LOCAL_SRC_FILES := /home/karthik/Android/Essentials/ogl-es/lib/Android/libIrrlicht.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := HelloWorldMobile1
LOCAL_CFLAGS := -D_IRR_ANDROID_PLATFORM_ -pipe -fno-exceptions -fno-rtti -fstrict-aliasing
LOCAL_C_INCLUDES := -I ../../include -I /home/karthik/Android/Essentials/ogl-es/include -I /home/karthik/Android/json/jsoncpp-src-0.5.0/libs/linux-gcc-4.8 -I /home/karthik/Android/json/jsoncpp-src-0.5.0/include/json 
LOCAL_SRC_FILES :=  android_tools.cpp main.cpp
LOCAL_LDLIBS := -lEGL -llog -lGLESv1_CM -lGLESv2 -lz -landroid -ldl 
LOCAL_STATIC_LIBRARIES := Irrlicht android_native_app_glue
include $(BUILD_SHARED_LIBRARY)
$(call import-module,android/native_app_glue)

E ho dato il nome di attività in AndroidManifest.xml :

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.irrlicht.example1"
    android:versionCode="1"
    android:versionName="1.0">
...
<application android:icon="@drawable/irr_icon" android:label="HelloWorldMobile1" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:debuggable="true">
        <activity android:name="android.app.POMActivity"
        android:label="HelloWorldMobile1"
        android:launchMode="singleTask"
        android:configChanges="orientation|keyboardHidden"
        android:screenOrientation="portrait"
        android:clearTaskOnLaunch="true">
        <meta-data android:name="android.app.lib_name" android:value="HelloWorldMobile1" />                     

Qual è l'errore che sto facendo qui ? Vi posto il codice completo se necassary .

---

Top 5 Risposta

1TheCommonGuy @

Questo sembra essere un problema nel tuo caso . Il percorso relativo della vostra attività in palese non è corretto :

<activity android:name="android.app.POMActivity"

sostituirlo con :

<activity android:name=".POMActivity"

or

<activity android:name="com.irrlicht.example1.POMActivity"
2mnsalim @

Ho avuto un problema simile, ecco la mia soluzione :

Right click on your project and select Properties. Select Java Build Path from the menu on the left. Select the Order and Export tab. From the list make sure the libraries or external jars you added to your project are checked. Finally, clean your project & run.

Si può anche verificare http://stackoverflow.com/questions/10866431/android-activity-classnotfoundexception-tried-everything?rq=1 rispondere.

3Walking Code @

Basta cambiare il nome della cartella da lib a libs ,

Poi si vedrà alcuni segni di errore nel progetto, per risolvere questo rightClick su progetto >

Properties > Java Build Path > libraries :

Rimuovere tutti biblioteca segni rossi su di esso, poi apply > ok >, dopo che pulire il vostro progetto . TADA vedere la magia :)

4crazyjune @ delete the bin folder change the order of librarys clean and rebuild

worked for me.