AS にネイティブ ライブラリを使用したプロジェクトがあります。実験的なプラグイン (gradle-experimental:0.6.0-alpha5) を使用して .so ファイルを取得しようとしています (後で System.loadLibrary () で使用するため)。わかりました、なぜですか?
この命令 を使用して、build.gradle を記述しました。はい、これ:
apply plugin: "com.android.model.application"
model {
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "com.camera.simplewebcam"
minSdkVersion.apiLevel 15
targetSdkVersion.apiLevel 22
buildConfigFields {
create() {
type "int"
name "VALUE"
value "1"
}
}
ndk {
moduleName "ImageProc"
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles.add(file("proguard-rules.pro"))
}
}
// Configures source set directory.
sources {
main {
jni {
source {
srcDir "src/main"
}
}
}
}
productFlavors {
create("arm") {
ndk {
abiFilters.add("armeabi-v7a")
}
}
create("fat") {
}
}
}
dependencies {
compile fileTree(dir: "lib", include: ['.jar','.so'])
compile "com.android.support:appcompat-v7:23.+"
}
アプリケーションを実行しようとすると、次のエラーが表示されます。
java.lang.UnsatisfiedLinkError: ローダーから ImageProc を読み込めませんでした dalvik.system.PathClassLoader[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 を返しました
ここに私の Android.mk があります:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := ImageProc
LOCAL_SRC_FILES := ImageProc.c
LOCAL_LDLIBS := -llog -ljnigraphics
include $(BUILD_SHARED_LIBRARY)
これが私のApplication.mkです:
# The ARMv7 is significanly faster due to the use of the hardware FPU
APP_ABI := armeabi armeabi-v7a
APP_PLATFORM := android-8
私のエラーはどこですか?