Android Studio項(xiàng)目中包含jni文件時(shí),編譯會(huì)遇到
Error:Execution failed for task ':app:compileDebugNdk'.
這是因?yàn)間radle android plugin試圖自己去調(diào)用ndk-build來編譯項(xiàng)目中的源文件,而且會(huì)忽略項(xiàng)目中的Makefile文件使用自動(dòng)生成的Makefile。
為了避免自動(dòng)調(diào)用ndk-build來編譯jni,需在app/build.gradle中加入以下代碼:
sourceSets.main { jniLibs.srcDir 'src/main/libs' jni.srcDirs = [] //disable automatic ndk-build call}
#手動(dòng)調(diào)用ndk-build來編譯jniimport org.apache.tools.ant.taskdefs.condition.Os// call regular ndk-build(.cmd) script from app directorytask 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}
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注