cho*_*uho 3 android build gradle android-ndk

你好.我在Android Studio NDK Build中遇到了麻烦.我没有使用原生图书馆.只是用于库的java类和JNI c或头文件.所以我很困惑如何为我的项目编写gradle文件(saskin库;我正在研究它).请帮帮我〜!
错误信息
错误:任务':app:buildNative'的执行失败.启动进程'命令'C:\ NDK/ndk-build''时出现问题
的build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 8
buildToolsVersion "21.1.1"
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
sourceSets {
main {
jni.srcDirs = []
//jniLibs.srcDir 'src/main/libs'
}
}
defaultConfig {
applicationId "com.sasken.player"
minSdkVersion 8
targetSdkVersion 8
ndk {
moduleName "equalizer"
}
}
// call regular ndk-build(.cmd) script from app directory
task ndkBuild(type: Exec) {
commandLine 'ndk-build', '-C', file('src/main/jni').absolutePath
}
tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn ndkBuild
}
}
dependencies {
}
Run Code Online (Sandbox Code Playgroud)
ph0*_*h0b 18
因为您使用的是Windows,所以应该从ndkBuild任务中调用ndk-build.cmd而不是.ndk-build
要使gradle文件在Windows和unix兼容系统上运行,您可以通过以下方式修改任务:
import org.apache.tools.ant.taskdefs.condition.Os
// 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
}
}
Run Code Online (Sandbox Code Playgroud)
此外,当您直接使用ndk-build时,ndk将在libs文件夹中生成您的库,因此您应该jniLibs.srcDir 'src/main/libs'在gradle文件中取消注释,以便生成的库被考虑在内.
| 归档时间: |
|
| 查看次数: |
22777 次 |
| 最近记录: |