美文网首页Android开发程序员Android开发
Android Studio gradle脚本打包Jar包含资源

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

作者: ScottStone | 来源:发表于2017-12-28 17:25 被阅读104次

            使用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 如下就正常了

    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包含资源

        本文链接:https://www.haomeiwen.com/subject/jaevgxtx.html