Android SDK中的应用程序加载失败库 [英] Android SDK app failed to load library
问题描述
Heyho。我已经得到了相同的错误消息,因为这家伙: <一href="http://stackoverflow.com/questions/12022990/android-ndk-app-failed-to-load-library/15249091#15249091">Android NDK的应用程序加载失败库 而且我想在这里对我的情况了几个小时,现在转移这些问题的答案,但它不工作。 有人可以帮我吗? 这是该开源项目在这里,我想设法得到它在我的模拟器上运行。 https://github.com/itskewpie/FreeRDP-android
FreeRDPActivity.java
包net.itskewpie.freerdp;
进口android.app.Activity;
进口android.os.Bundle;
公共类FreeRDPActivity延伸活动{
@覆盖
公共无效的onCreate(包savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.main);
}
静态{
的System.loadLibrary(freerdp);
}
}
freerdp.c
的#include&LT; jni.h&GT;
#包括&LT; stdio.h中&GT;
#包括&LT; freerdp / freerdp.h&GT;
的jstring Java_net_itskewpie_freerdp_FreeRDPActivity_test(JNIEnv的* ENV,jobject THIZ)
{
android_main();
回报(* ENV) - &GT; NewStringUTF(ENV,HELLO);
}
Android.mk
LOCAL_PATH:= $(叫我-DIR)
包括$(CLEAR_VARS)
MY_LIBS_PATH = freerdp-1.0-未婚夫/库/ armeabi,V7A
LOCAL_MODULE:= freerdp-utils的
LOCAL_SRC_FILES:= $(MY_LIBS_PATH)/libfreerdp-utils.a
LOCAL_EXPORT_C_INCLUDES:= $(LOCAL_PATH)/freerdp-1.0-nevo/include
包括$(preBUILT_STATIC_LIBRARY)
...
错误消息:
致命异常:主要
java.lang.ExceptionInInitializerError
java.lang.Class.newInstanceImpl(本机方法)
java.lang.Class.newInstance(Class.java:1319)
android.app.Instrumentation.newActivity(Instrumentation.java:1054)
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097)
android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
android.app.ActivityThread.access $ 600(ActivityThread.java:141)
android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1234)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:137)
android.app.ActivityThread.main(ActivityThread.java:5041)
java.lang.reflect.Method.invokeNative(本机方法)
java.lang.reflect.Method.invoke(Method.java:511)
com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:793)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
dalvik.system.NativeStart.main(本机方法)
java.lang.UnsatisfiedLinkError中:无法从加载器加载freerdp dalvik.system.PathClassLoader[dexPath=/data/app/net.itskewpie.freerdp-2.apk,libraryPath=/data/app-lib/net.itskewpie.freerdp-2]: findLibrary返回null
java.lang.Runtime.loadLibrary(Runtime.java:365)
java.lang.System.loadLibrary(System.java:535)
net.itskewpie.freerdp.FreeRDPActivity&LT; clinit&GT;(FreeRDPActivity.java:16)
... 15更多
试试这个开源项目:
Heyho. I've got the same error message as this guy: "Android NDK app failed to load library" and i'm trying to transfer these answers here on my situation for hours now, but it doesnt work. Can someone help me? It's this opensource project here, which i want to try to get it run on my emulator. https://github.com/itskewpie/FreeRDP-android
FreeRDPActivity.java
package net.itskewpie.freerdp;
import android.app.Activity;
import android.os.Bundle;
public class FreeRDPActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
static {
System.loadLibrary("freerdp");
}
}
freerdp.c
#include <jni.h>
#include <stdio.h>
#include <freerdp/freerdp.h>
jstring Java_net_itskewpie_freerdp_FreeRDPActivity_test(JNIEnv* env, jobject thiz )
{
android_main();
return (*env)->NewStringUTF(env, "HELLO");
}
Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
MY_LIBS_PATH=freerdp-1.0-nevo/libs/armeabi-v7a
LOCAL_MODULE := freerdp-utils
LOCAL_SRC_FILES := $(MY_LIBS_PATH)/libfreerdp-utils.a
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/freerdp-1.0-nevo/include
include $(PREBUILT_STATIC_LIBRARY)
...
Error Message:
FATAL EXCEPTION: main
java.lang.ExceptionInInitializerError
java.lang.Class.newInstanceImpl(Native Method)
java.lang.Class.newInstance(Class.java:1319)
android.app.Instrumentation.newActivity(Instrumentation.java:1054)
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097)
android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
android.app.ActivityThread.access$600(ActivityThread.java:141)
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:137)
android.app.ActivityThread.main(ActivityThread.java:5041)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:511)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
dalvik.system.NativeStart.main(Native Method)
java.lang.UnsatisfiedLinkError: Couldn't load freerdp from loader dalvik.system.PathClassLoader[dexPath=/data/app/net.itskewpie.freerdp-2.apk,libraryPath=/data/app-lib/net.itskewpie.freerdp-2]: findLibrary returned null
java.lang.Runtime.loadLibrary(Runtime.java:365)
java.lang.System.loadLibrary(System.java:535)
net.itskewpie.freerdp.FreeRDPActivity.<clinit>(FreeRDPActivity.java:16)
... 15 more
try out this open source project:
这篇关于Android SDK中的应用程序加载失败库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!