Android Studio:使用实验插件生成.so文件

时间:2016-01-19 09:27:10

标签: java android android-ndk shared-libraries gradle-experimental

我在AS中有一个与本机库有关的项目。我正在尝试使用实验性插件(gradle-experimental:0.6.0-alpha5)来获取.so文件(稍后在System.loadLibrary()中使用它。但我无法生成它们。而且我真的不能明白了,为什么?

我已经使用这个here来编写我的build.gradle。这是它:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := ImageProc
LOCAL_SRC_FILES := ImageProc.c
LOCAL_LDLIBS    := -llog -ljnigraphics

include $(BUILD_SHARED_LIBRARY)

尝试运行应用程序时出现的错误:

  

java.lang.UnsatisfiedLinkError:无法从加载器dalvik.system.PathClassLoader加载ImageProc [DexPathList [[zip文件“/data/app/com.camera.simplewebcam-1.apk"],nativeLibraryDirectories=[/data /app-lib/com.camera.simplewebcam-1,/ vendor / lib,/ system / lib,/ system / lib / arm]]]:findLibrary返回null

这是我项目的结构: instruction

这是我的Android.mk:

# The ARMv7 is significanly faster due to the use of the hardware FPU
APP_ABI := armeabi armeabi-v7a
APP_PLATFORM := android-8

这是我的Application.mk:

$this->load->view(path_to_htmlpage, $bound_data, FALSE); 

我的错误在哪里?

1 个答案:

答案 0 :(得分:1)

问题出在targetSdkVersion.apiLevel 22

  

指定应用程序所针对的API级别的整数。如果   未设置,默认值等于给予minSdkVersion的值。这个   属性通知系统您已针对目标进行了测试   版本和系统不应启用任何兼容性行为   保持您的应用与目标版本的向前兼容性。   该应用程序仍然可以在旧版本上运行(低至   的minSdkVersion)。

<强>不要

targetSdkVersion.apiLevel 23

你应该使用

compile "com.android.support:appcompat-v7:23.0.1