首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >java.lang.ClassNotFoundException:在路径: dexpathlist上找不到类

java.lang.ClassNotFoundException:在路径: dexpathlist上找不到类
EN

Stack Overflow用户
提问于 2014-03-14 16:20:13
回答 25查看 229.1K关注 0票数 161

我目前正在做一个项目,在这个项目中我必须使用纯原生ndk。当我尝试运行来自Irrlicht引擎源代码的helloworld示例时,它起作用了。然后,我尝试在我的项目中使用它,遵循与该示例相同的格式。但是我得到了:

代码语言:javascript
复制
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文件:

代码语言:javascript
复制
#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

在Android.mk中:

代码语言:javascript
复制
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中给出了活动名称:

代码语言:javascript
复制
<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" />                     

我在这里做的错误是什么?我会张贴完整的代码,如果有必要。

EN

回答 25

Stack Overflow用户

发布于 2014-03-14 16:23:57

在你的情况下这似乎是个问题。清单中活动的相对路径不正确:

代码语言:javascript
复制
<activity android:name="android.app.POMActivity"

将其替换为:

代码语言:javascript
复制
<activity android:name=".POMActivity"

代码语言:javascript
复制
<activity android:name="com.irrlicht.example1.POMActivity"
票数 56
EN

Stack Overflow用户

发布于 2016-07-08 00:59:57

删除设备上的app和清理项目对我来说很有用

票数 35
EN

Stack Overflow用户

发布于 2017-09-06 15:17:46

如果项目刚刚编译过,您可以尝试使用以下命令清除缓存:

./gradlew clean

./gradlew cleanBuildCache

或用于windows

gradlew cleanBuildCache

https://developer.android.com/studio/build/build-cache.html

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22399572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档