【发布时间】:2015-05-10 21:29:23
【问题描述】:
我有一个包含 jar 文件和 .so 文件的预构建库,并且我新地将我的项目从 eclipse 转换为 android studio 我在 Eclipse 中的 libs 目录是
库 ****armeabi
****x86
****jar 文件 所以 armeabi 和 x86 包含 .so 文件,当我将项目转换为 android studio 时,应用程序最初构建得非常好,但 .so 文件中的某些类未初始化并给出错误
java.lang.ExceptionInInitializerError 引起:java.lang.UnsatisfiedLinkError: 无法从加载器dalvik.system.PathClassLoader[dexPath=/data/app/project.app-2.apk,libraryPath=/data/app-lib/project.app-加载nmsp_speex 2]: findLibrary 返回 null
我搜索了这个错误,人们说你必须在 jni 文件夹中添加 .so 文件,并且当 android studio 尝试构建 ndk 并且错误提示时,该广告已经发现构建错误
错误:任务 ':project:compileDebugNdk' 执行失败。
com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'E:\Android Index\android-ndk-r10d\ndk-build.cmd'' 完成非零退出值 1
这是我的 build.gradle 文件
apply plugin: 'android'
依赖{ 编译文件树(目录:'libs',包括:'*.jar') 编译项目(':appcompat') 编译项目(':facebook') 编译项目(':google-play-services_lib') 编译项目(':main') 编译项目(':pagerslidingtabstrip') 编译'com.android.support:multidex:1.0.0' } 安卓 { compileSdkVersion 21 构建工具版本“21.0.0” 默认配置 { minSdkVersion 9 targetSdkVersion 21 multiDexEnabled 真 }
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
jni.srcDirs = ['src/main/jni', 'src/main/jni/']
}
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
}
所以对此有任何帮助
【问题讨论】:
标签: android android-studio android-ndk