android 命令结束进程,android – ‘:app:ndkBuild’的执行失败.进程’命令ndk-build.cmd’以非零退出值2结束...

我已经坚持这个问题2天了,并尝试了stackoverflow上给出的所有可能的解决方案.下面是我的build.gradle文件:

apply plugin: 'com.android.application'

android {

compileSdkVersion 25

buildToolsVersion "25.0.3"

sourceSets.main.jni.srcDirs = []

sourceSets.main.jniLibs.srcDir 'src/main/libs'

defaultConfig {

applicationId "com.example.anannyauberoi.testingcam"

minSdkVersion 15

targetSdkVersion 25

versionCode 1

versionName "1.0"

ndk {

moduleName "app"

cFlags "-std=c++11 -fexceptions"

ldLibs "log"

stl "gnustl_shared"

abiFilter "armeabi-v7a"

}

}

buildTypes {

release {

minifyEnabled false

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

}

}

sourceSets { main { jni.srcDirs = []

res.srcDirs = ['src/main/res']

jniLibs.srcDirs=['src/main/libs']

} }

//sourceSets.main.jni.srcDirs = []

// disable automatic ndk-build call, which ignore our Android.mk

task ndkBuild(type: Exec, description: 'Compile JNI source via NDK') {

commandLine "C:/Users/Anannya-Uberoi/AppData/Local/Android/sdk/ndk-bundle/ndk-build.cmd",

'NDK_PROJECT_PATH=build/intermediates/ndk',

'NDK_LIBS_OUT=src/main/jniLibs',

'APP_BUILD_SCRIPT=src/main/jni/Android.mk',

'NDK_APPLICATION_MK=src/main/jni/Application.mk'

}

tasks.withType(JavaCompile) {

compileTask -> compileTask.dependsOn ndkBuild

}

tasks.all { task ->

if (task.name.startsWith('compile') && task.name.endsWith('Ndk')) {

task.enabled = false

}

}

// call regular ndk-build(.cmd) script from app directory

}

//Modify the below set of code to the ndk-build.cmd location in your computer.

dependencies {

compile fileTree(include: ['*.jar'], dir: 'libs')

testCompile 'junit:junit:4.12'

compile 'com.android.support:appcompat-v7:25.3.1'

compile project(':openCVLibrary249')

}

我已经尝试了所有可能的解决方案 – 删除build文件夹中的obj文件夹,尝试通过设置sourceSets.main来避免自动Android.mk调用,试图避免调用compileDebugNdk任务.我也没有任何cmake.txt文件.我似乎无法克服这个问题.

我使用过Android Studio 2.3.2和2.1.1,这两个问题都存在.

任何帮助,将不胜感激.

解决方法:

你应该使用最新的Android Studio,2.3.2就行了.它在android gradle插件中集成了externalNativeBuild,因此您不需要使用自定义gradle任务的技巧.

我实际上无法测试下面的build.gradle脚本,所以请原谅我任何错别字:

apply plugin: 'com.android.application'

android {

compileSdkVersion 25

buildToolsVersion "25.0.3"

defaultConfig {

applicationId "com.example.anannyauberoi.testingcam"

minSdkVersion 15

targetSdkVersion 25

versionCode 1

versionName "1.0"

externalNativeBuild {

ndkBuild {

targets "app"

cppFlags "-std=c++11 -fexceptions"

arguments "APP_STL=gnustl_shared"

abiFilters "armeabi-v7a"

}

}

}

buildTypes {

release {

minifyEnabled false

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

}

}

sourceSets { main {

res.srcDirs = ['src/main/res']

} }

externalNativeBuild {

ndkBuild {

path "src/main/jni/Android.mk"

}

}

//Modify the below set of code to the ndk-build.cmd location in your computer.

dependencies {

compile fileTree(include: ['*.jar'], dir: 'libs')

testCompile 'junit:junit:4.12'

compile 'com.android.support:appcompat-v7:25.3.1'

compile project(':openCVLibrary249')

}

标签:android,gradle,android-gradle,android-ndk,opencv4android

来源: https://codeday.me/bug/20190701/1350091.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值