Android jni工程从eclipse迁移到Android Studio中,
右击工程->open module setting->sdk location->android ndk location:填入ndk路径(如果是通过SDK Manager下载了NDK,则NDK路径在“...\adt\sdk\ndk-bundle”)
保留与eclipse中相同的目录结构,需要在build.gradle中添加如下配置:
task buildNative(type: Exec, description: 'Compile JNI source via NDK') {
def ndkDir = android.ndkDirectory
if (Os.isFamily(Os.FAMILY_WINDOWS)) {
commandLine "$ndkDir/ndk-build.cmd",
'-C', file('jni').absolutePath, //指定jni目录在工程里的相对路径</span>
'-j', Runtime.runtime.availableProcessors(),
'all',
'NDK_DEBUG=1'
} else {
commandLine "$ndkDir/ndk-build",
'-C', file('jni').absolutePath,
'-j', Runtime.runtime.availableProcessors(),
'all',
'NDK_DEBUG=1'
}
}
//在 mac 中 commandLine "$ndkDir/ndk-build", 在windows中 commandLine "$ndkDir/ndk-build.cmd"
task cleanNative(type: Exec, description: 'Clean JNI object files') {
def ndkDir = android.ndkDirectory
if (Os.isFamily(Os.FAMILY_WINDOWS)) {
commandLine "$ndkDir/ndk-build.cmd",
'-C', file('jni').absolutePath,
'clean'
} else {
commandLine "$ndkDir/ndk-build.cmd",
'-C', file('jni').absolutePath,
'clean'
}
}
clean.dependsOn 'cleanNative'
tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn buildNative
}