我刚刚从存储库中克隆了我的代码,添加ndk路径并运行项目后出现此错误。已经看过许多相关的解决方案,但没有任何效果。
:sdk:buildNdk FAILED
失败:构建因异常而失败。
出了什么问题:
任务:sdk:buildNdk
的执行失败。
处理' / home / suneel / Android / Android / adt-bundle-linux-x86_64-20140702 / ndk / ndk-build''完成非零退出值2
尝试: 使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。
BUILD FAILED
这是我的build.gradle文件
android { compileSdkVersion 22 buildToolsVersion" 23.0.2"
defaultConfig {
testApplicationId "androidTest.com.xyz"
testInstrumentationRunner "android.test.InstrumentationTestRunner"
minSdkVersion 14
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
jni.srcDirs = []
jniLibs.srcDir 'libs'
}
androidTest {
java.srcDirs = ['src/androidTest']
}
}
lintOptions {
abortOnError false
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
testOptions.unitTests.all {
testLogging {
events 'passed', 'skipped', 'failed', 'standardOut', 'standardError'
outputs.upToDateWhen { false }
showStandardStreams = true
}
}
}
提前致谢。
答案 0 :(得分:0)
在build.gradle文件的defaultConfig中设置 multiDexEnabled true
defaultConfig
{
testApplicationId "androidTest.com.xyz"
testInstrumentationRunner "android.test.InstrumentationTestRunner"
minSdkVersion 14
targetSdkVersion 21
versionCode 1
versionName "1.0"
multiDexEnabled true
}
添加
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
}
更多详情请参阅Here