java.lang.ClassNotFoundException : Não encontrou classe no caminho: dexpathlist

? Karthik Sivam @ | Original: StackOverFlow
---

Atualmente estou trabalhando em um projeto em que eu tenho que usar ndk puramente nativa. Funcionou quando eu tente executar um exemplo helloworld de fonte motor Irrlicht . Então eu tento usá-lo em meu projeto, seguindo o mesmo formato do que o exemplo . Mas eu tenho :

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 a execução do meu projeto.

Aqui está o meu arquivo 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 dei nome Atividade em 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 é o erro que eu estou fazendo aqui? Vou postar o código completo se necassary .

---

Top 5 Responder

1TheCommonGuy @

Este parece ser problema no seu caso. O caminho relativo de sua atividade no manifesto não é correta:

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

substituir isto por :

<activity android:name=".POMActivity"

or

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

Eu tive um problema semelhante, aqui está a minha solução :

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.

Você também pode verificar http://stackoverflow.com/questions/10866431/android-activity-classnotfoundexception-tried-everything?rq=1 responder.

3Walking Code @

Apenas mude o nome da pasta de lib para libs ,

Então você vai ver algumas marcas de erro em seu projeto, para resolver esse rightClick no projeto >

Properties > Java Build Path > libraries :

Remova toda a biblioteca com marcas vermelhas em que, em seguida, apply > ok > depois que limpar seu projeto. TADA ver a magia :)

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

worked for me.