Jos*_*son 23 android android-studio
我正在尝试添加一个外部库,Scandit.我一直收到这个错误:
java.lang.UnsatisfiedLinkError: Couldn't load scanditsdk-android-3.3.1 from loader dalvik.system.PathClassLoader[dexPath=/data/app/com.clover.barcode2-1.apk,libraryPath=/data/app-lib/com.clover.barcode2-1]: findLibrary returned null
at java.lang.Runtime.loadLibrary(Runtime.java:365)
.....
Run Code Online (Sandbox Code Playgroud)
我认为这是因为我没有正确包含库附带的.so文件,但我无法弄清楚如何做到这一点.
我正在使用Android Studio,我通过转到模块设置 - >库添加了库,并添加了带有jar的目录和带有so文件的目录.
Aja*_*y S 70
您可以使用gradle 0.7.2+在Android Studio中添加预构建的*.so文件.首先在此位置/ app/src/main/location创建jniLibs,然后在jniLibs中复制带有*.so文件(armeabi,armeabi-v7a,mips,x86)的所有文件夹.

使用本机库(so文件)您需要在"build.gradle"文件中添加一些代码.
此代码用于清除"armeabi"目录,并在"清理项目"时将"so"文件复制到"armeabi"中.
task copyJniLibs(type: Copy) {
from 'libs/armeabi'
into 'src/main/jniLibs/armeabi'
}
tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn(copyJniLibs)
}
clean.dependsOn 'cleanCopyJniLibs'
Run Code Online (Sandbox Code Playgroud)
我从下面提到过. https://gist.github.com/pocmo/6461138
小智 6
我的项目中有一个libs文件夹,其中包含外部库,在gradle的构建文件中将行编译fileTree(dir:'libs',include:'*.jar')添加到依赖项{}中.
然后我创建了一个lib文件夹,里面有一个armeabi文件夹,我插入了所有需要的.so文件.然后我将文件夹压缩成.zip(zip文件中的结构现在是lib/armeabi/*.所以)我将.zip文件重命名为armeabi.jar并将其作为外部库添加到libs文件夹中.
| 归档时间: |
|
| 查看次数: |
44116 次 |
| 最近记录: |