我目前正在开展一个项目,我必须使用纯粹的原生ndk.当我尝试从Irrlicht引擎源运行helloworld示例时,它工作正常.然后我尝试在我的项目中使用它,遵循该示例的相同格式.但我得到了:
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]]
Run Code Online (Sandbox Code Playgroud)
在运行我的项目时.
这是我的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");
}
Run Code Online (Sandbox Code Playgroud)
#万一
在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 …Run Code Online (Sandbox Code Playgroud) 10-22 15:29:40.897: E/AndroidRuntime(2561): FATAL EXCEPTION: main
10-22 15:29:40.897: E/AndroidRuntime(2561): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.gvg.simid/com.gvg.simid.Login}: java.lang.ClassNotFoundException: Didn't find class "com.gvg.simid.Login" on path: DexPathList[[zip file "/data/app/com.gvg.simid-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.gvg.simid-1, /vendor/lib, /system/lib]]
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2137)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread.access$600(ActivityThread.java:141)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.os.Handler.dispatchMessage(Handler.java:99)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.os.Looper.loop(Looper.java:137)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread.main(ActivityThread.java:5103)
10-22 15:29:40.897: E/AndroidRuntime(2561): at java.lang.reflect.Method.invokeNative(Native Method)
10-22 15:29:40.897: E/AndroidRuntime(2561): at java.lang.reflect.Method.invoke(Method.java:525)
10-22 15:29:40.897: E/AndroidRuntime(2561): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
10-22 15:29:40.897: …Run Code Online (Sandbox Code Playgroud) 前段时间我开发了一个相当简单的应用程序,目标是4.2.2.我让它在我的设备中正常工作.然后我停止了大约1个月的开发.
在最近的Google I/O之后,我决定回到开发阶段.我最初做的是打开Android SDK Manager并更新到新推出的软件包(我认为它只是SDK工具,平台工具,而不是更多).
然后我尝试运行该项目并得到了这个java.lang.ClassNotFoundException.我检查了一切,没有任何错误,建立成功完成.
java.lang.ClassNotFoundException: Didn't find class "com.example.compassgps.CompassGPSActivity" on path: /data/app/com.example.compassgps-2.apk
Run Code Online (Sandbox Code Playgroud)
我尝试过很多东西:清理项目,更改Android目标(如果API17的新版本发生了任何崩溃)......
我已经搜索了StackOverflow已经提出的问题,但没有发现任何项目更改都没有的情况.所以我现在感到非常沮丧,因为我实际上已经改变了NOTHING并且我的项目已停止工作:(