Android Studio gradle脚本打包Jar包含资源文件

        使用Eclipse的时候打包jar很方便,换成Android Studio之后jar包就不那么方便了,尤其是移植过来的Eclipse的项目。手头上有个SDK要维护,接手的时候是Eclipse下的项目,lib跟demo是分开的,说白了lib也是一个独立的工程。接过来就Studio下放到一个工程里了,demo是app,lib就是lib的module。

        问题来了,studio默认是生成的是arr不是Jar!WTF!好吧,当时还是gradle小白,然后就找了各种打包jar的脚本,五花八门,线面就介绍下我用的脚本(以mac为例)。

1. 首先配置gradle脚本

        先配置环境变量:

        1)终端输入 cd ~切换到home,然后 open -e .bash_profile,如果没有的话先touch。2)输入环境变量: 

        export PATH=$PATH:/Applications/Android\ Studio.app/Contents/gradle/gradle-4.1/bin

        export ANDROID_HOME=~/Library/Android/sdk

        3)source .bash_profile 更新环境变量

        4)gradle -v 如下就正常了

《Android Studio gradle脚本打包Jar包含资源文件》

2 写脚本

脚本其实很简单的,lib的build.gradle如下:

//脚本开始

applyplugin:’com.android.library’

android {

compileSdkVersion26

    buildToolsVersion”26.0.2″

    lintOptions {

abortOnError false

    }

defaultConfig {

minSdkVersion14

        targetSdkVersion21

        compileOptions {

sourceCompatibility JavaVersion.VERSION_1_8

            targetCompatibility JavaVersion.VERSION_1_8

        }

}

buildTypes {

release {

minifyEnabled true

            proguardFiles’proguard.cfg’    //别忘了混淆

        }

}

}

dependencies {

compile’com.android.support:support-v4:26.0.2′

    compile files(‘libs/XXX.jar’)

}

//打jar包

def SDK_BASENAME =”XXsdk”     //jar包的名字

def sdkJarPath =”build”                   //jar包的位置

def zipFile = file(‘build/intermediates/bundles/release/classes.jar’)   //需要打包的jar

task makeJar(type: Jar) {

from zipTree(zipFile)

from fileTree(dir:’src/main’,includes: [‘assets/**’])  //需要加入的资源那文件

baseName = SDK_BASENAME

destinationDir = file(sdkJarPath)

}

makeJar.dependsOn(build)

//脚本结束

3 打包

在项目的终端输入 ./gradlew makeJar,最后会有

《Android Studio gradle脚本打包Jar包含资源文件》

到此就可以了。

    原文作者:ScottStone
    原文地址: https://www.jianshu.com/p/95b11f67f86a
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞