Android studio - AndEngine ndk编译错误

标签 android android-ndk gradle android-studio andengine

我最近从 Eclipse 迁移到 Android Studio 我不断收到编译错误:

我收到此错误:

 Error:Execution failed for task ':andEngine:compileReleaseNdk'.

com.android.ide.common.internal.LoggedErrorException: Failed to run command: C:\Program Files\Android\android-ndk-r10\ndk-build.cmd NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=C:\Users\myUser\AndroidstudioProjects\MyApllicationName\andEngine\build\intermediates\ndk\release\Android.mk APP_PLATFORM=android-14 NDK_OUT=C:\Users\myUser\AndroidstudioProjects\MyApllicationName\andEngine\build\intermediates\ndk\release\obj NDK_LIBS_OUT=C:\Users\myUser\AndroidstudioProjects\MyApllicationName\andEngine\build\intermediates\ndk\release\lib APP_ABI=all Error Code: 1

我在“local.propeties”中设置:

sdk.dir=C\:\\Program Files (x86)\\Android\\android-studio\\sdk
ndk.dir=C\:\\Program Files\\Android\\android-ndk-r10

我下载了最新的NDK并将其放入

C\:\\Program Files\\Android\\android-ndk-r10

我也将它添加到环境变量中

“ANDROID_NDK”和“NDK_HOME”

我做错了什么? 如何使用 android-studio 编译 AndEngine?

最佳答案

对于 Android Studio,NDK 支持是初步的,您的 *.mk 文件将被忽略。

要解决您遇到的问题,您应该发布有关您的项目结构和 build.gradle 文件内容的更多信息。

否则,您可以通过设置 Android Studio/gradle 使其工作,以便它通过停用默认的 NDK 集成来重用您的 *.mk 文件,使其自行调用 ndk-build(.cmd) 并使用标准 libs/ .so 文件集成的位置,如下所示:

import org.apache.tools.ant.taskdefs.condition.Os

apply plugin: 'android'

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.3"

    defaultConfig{
        minSdkVersion 15
        targetSdkVersion 19
        versionCode 101
        versionName "1.0.1"
    }

    sourceSets.main {
        jniLibs.srcDir 'src/main/libs'
        jni.srcDirs = [] //disable automatic ndk-build call
    }

    // call regular ndk-build(.cmd) script from app directory
    task ndkBuild(type: Exec) {
        if (Os.isFamily(Os.FAMILY_WINDOWS)) {
            commandLine 'ndk-build.cmd', '-C', file('src/main').absolutePath
        } else {
            commandLine 'ndk-build', '-C', file('src/main').absolutePath
        }
    }

    tasks.withType(JavaCompile) {
        compileTask -> compileTask.dependsOn ndkBuild
    }
}

关于Android studio - AndEngine ndk编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25122782/

相关文章:

android - getSupportActionBar() 方法 getSupportActionBar() 未为 TaskActivity 类型定义。为什么?

android - Firebase limitToLast 查询

c++ - Android NDK R5 和对 C++ 异常的支持

android - AAPT2资源失败错误

java - 从自定义 Gradle Java 插件应用 gradle 插件(容易出错)

java - 我可以构建并运行我的项目,但我的 IDE 一直显示错误

android - Greendao Autoincrement插入记录不起作用

android - Python Kivy:一次播放多次声音

Android OpenGL ES 2.0 - 某些设备上不显示纹理

android - 使用 Android NDK r5b 链接静态库时遇到问题