java.lang.ClassNotFoundException : Не можете найти класс по пути : dexpathlist

? Karthik Sivam @ | Original: StackOverFlow
---

Я в настоящее время работает над проектом, в котором я должен использовать чисто родной NDK . Он работал, когда я попробуйте запустить пример HelloWorld из Irrlicht Source Engine . Тогда я пытаюсь использовать его в моем проекте, следуя той же форме этого примера . Но у меня получилось:

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]]

в то время как работает мой проект.

Вот мой файл 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)

И я дал имя активность в 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" />                     

Что такоеошибка, которую я здесь делаю ? Если necassary я выложу полный код .

---

Top 5 ответ

1TheCommonGuy @

Это, кажется, проблема в вашем случае. Относительный путь Вашей деятельности в манифесте не является правильным :

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

замените это :

<activity android:name=".POMActivity"

or

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

У меня была аналогичная проблема, вот мое решение :

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.

Вы также можете проверить http://stackoverflow.com/questions/10866431/android-activity-classnotfoundexception-tried-everything?rq=1 ответить .

3Walking Code @

Просто измените ваше имя папки с lib до libs ,

Тогда вы увидите некоторые знаки об ошибках в вашем проекте, чтобы решить эту RightClick по проекту >

Properties > Java Build Path > libraries :

Удалить все библиотеки с красными метками на нем, а затем apply > ok > после этого очистить свой проект. ТАДА увидеть волшебство :)

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

worked for me.