Android studio Android.mk 编译第三方so库

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.3"

    defaultConfig {
        applicationId "com.bjw.ComAssistant"
        minSdkVersion 10
        targetSdkVersion 10
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_5
            targetCompatibility JavaVersion.VERSION_1_5
        }

        sourceSets.main {
            // 声明 jni 目录也就是so库的目录
            jniLibs.srcDir 'src/main/libs'
            // 不用项目自动生成的jni 目录 
            jni.srcDirs = [] //disable automatic ndk-build call
        }

        ndk {
            // 生成 so 库的名称 ,也是system.load 后边跟的so库的名称
            moduleName "serial_port" 
        }
    }

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


tasks.withType(JavaCompile) {
    compileTask -> compileTask.dependsOn CopyToJniLibs
}

task ndkBuild(type: Exec, description: 'Compile JNI source via NDK') {
    Properties properties = new Properties()
    properties.load(project.rootProject.file('local.properties').newDataInputStream())
    def ndkDir = properties.getProperty('ndk.dir')
    commandLine "$ndkDir/ndk-build.cmd",
            "NDK_PROJECT_PATH=$projectDir.absolutePath\\build",
            "APP_BUILD_SCRIPT=$projectDir.absolutePath\\src\\main\\jni\\Android.mk",
            "NDK_APPLICATION_MK=$projectDir.absolutePath\\src\\main\\jni\\Application.mk"
    //你自己的mk文件目录
}

// copy so库到指定的目录
task CopyToJniLibs(type: Copy, dependsOn: 'ndkBuild', description: 'copy the native libs to jniLibs') {
    from fileTree(dir: file(buildDir.absolutePath + '/libs'), include: '**/*.so')
    into file('src/main/jniLibs')
}


dependencies {
    compile files('libs/core.jar')
    compile files('libs/library.jar')
    compile files('libs/push.jar')
}

 

 

相关代码AS 工程

https://download.csdn.net/download/lsw8569013/10875709

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值