eclipse迁移到as ndk 不能生成.so文件的配置问题

apply plugin: 'com.android.application'

android {
    compileSdkVersion 19
    buildToolsVersion "25.0.1"

    defaultConfig {
        applicationId "com.jd.voice.jdvoicesdk"
        minSdkVersion 8
        targetSdkVersion 17

        ndk {
            moduleName "jdvoice"
            ldLibs "log", "z", "m"
            abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
        }
    }
    sourceSets {
        main {
            jni.srcDirs = []//设置禁止gradle生成Android.mk
            jniLibs.srcDirs = ['src/main/jniLibs']//设置目标的so存放
        }
    }
    tasks.withType(JavaCompile) {
        compileTask -> compileTask.dependsOn 'ndkBuild','copyThirdso', 'copyJniLibs'
    }
    task ndkBuild(type: Exec) {
        def ndkBuildingDir = project.plugins.findPlugin('com.android.application').sdkHandler.getNdkFolder().absolutePath
        commandLine ndkBuildingDir + "/ndk-build.cmd", '-C', 'src/main/jni',
                "NDK_OUT=$buildDir/intermediates/ndk/obj",
                "NDK_APP_DST_DIR=$buildDir/intermediates/ndk/libs/\$(TARGET_ARCH_ABI)"
    } //设置新的so的生成目录

    task copyJniLibs(type: Copy) {

        from fileTree(dir: file(buildDir.absolutePath + '/intermediates/ndk/libs'), include: '**/*.so')
        into file('src/main/jniLibs')
    }       //将新生成的so拷贝到jniLibs目录

    task copyThirdso(type: Copy) {
        from file('src/main/jni/vvw/libs')
        into file('src/main/jniLibs')
    }               //将第三方的so拷贝到jniLibs目录

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }

    }


}

dependencies {
    compile 'com.android.support:support-v4:19.1.0'
}
 
按照以上修改配置文件即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值