Android Studio配置NDK编译环境

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
}


你可能感兴趣的:(android,android,jni,NDK,Studio)