AndroidStudio下将android library打成jar包

在AndroidStudio下,需要将android library打包成SDK,亦即是jar包,可以在library项目下的build.gradle下配置以下脚本

//以下为生成jar包的脚本代码
def SDK_BASENAME = "MediaSDK"
def SDK_VERSION = ""
def sdkDestinationPath = "build"
//def zipFile = file('build/intermediates/bundles/release/classes.jar')
def zipFile = file('build/intermediates/packaged-classes/release/classes.jar')
//将libs目录下的gson打入jar包
def gson=file('libs/gson-2.8.5.jar')
def pinYin = file('libs/jpinyin-1.0.jar')
def nForeApi = file('libs/nForeAPI.jar')
def aTTS = file('libs/AFTTS.jar')
def supportV4 = file('libs/android-support-v4.jar')



task deleteBuild(type: Delete) {

    delete sdkDestinationPath + SDK_BASENAME + SDK_VERSION + ".jar"
}
task makeJar(type: Jar) {
    from zipTree(zipFile)


    if (phoneZoneEnable.toBoolean()) {
        //需要使用号码归属地数据库
        println("需要号码归属地数据库")
        from fileTree(dir: 'src/main', includes: ['assets/**'])
    } else {
        println("不要号码归属地数据库")
//        from fileTree(dir: 'src/main/assets', excludes: ['bluetooth_sdk.db'])
    }
//    from zipTree(pinYin)//将第三方jar包打入jar包
//    from zipTree(nForeApi)
    from zipTree(gson)

    if (includeSupportV4.toBoolean()) {
        println("需要v4包")
        from zipTree(supportV4)   //当安卓5.0以下不用将V4包打包进去,在安卓5.0以上则需要
    }

//     exclude('**/BuildConfig.class')//排除不必要的class文件
    baseName = SDK_BASENAME + SDK_VERSION
    destinationDir = file(sdkDestinationPath)
}
makeJar.dependsOn(deleteBuild, build)
// 2017-10-17 在Terminal 窗口输入命令生成JAR包:gradlew makeJar

猜你喜欢

转载自blog.csdn.net/kenderson/article/details/84178360
今日推荐