【问题标题】:building ndk android studio error构建ndk android studio错误
【发布时间】: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


    【解决方案1】:

    我遇到了同样的问题。我将 .so 文件放在了

    src->
      main->
            jniLibs->armeabi-> .so file
    

    并删除了包含

    的行
    jni.srcDirs = ['src/main/jni', 'src/main/jni/']
    

    来自我应用的 build.gradle。它工作正常。

    希望这对某人有所帮助。

    【讨论】:

      【解决方案2】:

      如果您的项目中没有任何 NDK 源代码(您没有生成 .so 文件,您只是在使用它们),然后删除 jni 文件夹并将您的 .so em> 文件到src/main/jniLibs/armeabisrc/main/jniLibs/x86

      顺便说一句,您将 ndk 目录放在包含空格的路径下。你应该把它移到别的地方或者删除这个空白区域。

      【讨论】:

        猜你喜欢
        • 2016-01-19
        • 1970-01-01
        • 1970-01-01
        • 2017-03-22
        • 1970-01-01
        • 2020-07-29
        • 2011-11-09
        • 1970-01-01
        • 2019-01-02
        相关资源
        最近更新 更多