Android studio生成jar文件

今天公司需求把Android代码打包成jar包提供给其他部门,以前用Eclipse打包过,Android studio倒还是第一次。虽然网上的文章不计其数,但是纸上得来终觉浅,有必要记录下自己动手的操作过程。

1.创建一个工程。

过程就略过了。。。

2.工程中创建一个Android Library。

File->New->New Module 如下图所示。

 

3.令此工程依赖新建的library。

项目级别gradle (app下的build.gradle)引入该Library。

    //老版本
    //compile project(':buildjar')
    implementation project(':buildjar')

构建一下工程,如果在app文件夹内可以引用到library的方法,即可视为构建成功。

 

4. 配置gradle脚本。

最蛋疼的步骤。我们需要在library级别的gradle进行修改。

直接附上gradle代码。

apply plugin: 'com.android.library'

android {
    
    defaultConfig {
    }

    buildTypes {
        release {}
    }

    lintOptions {
        abortOnError false
    }

}

dependencies {}

def SDK_BASENAME = "HEIMA";
def SDK_VERSION = "_V1.0";
def OUTPUT_PATH = "build";
def INPUT_PATH = file('build/intermediates/packaged-classes/release/classes.jar')

//删除任务
task deleteBuild(type: Delete) {
    delete OUTPUT_PATH + SDK_BASENAME + SDK_VERSION + ".jar"
}

//创建任务
task makeJar(type: Jar) {
    //需要打包的原始classes.jar
    from zipTree(INPUT_PATH)
    //将assets目录打入jar包
    from fileTree(dir: 'src/main',includes: ['assets/**'])
    //生成文件名字
    baseName = SDK_BASENAME + SDK_VERSION
    //生成
    destinationDir = file(OUTPUT_PATH)
}

makeJar.dependsOn(deleteBuild, build)

注意代码填写位置,在android{}和dependencies{}外面。同时这处的代码有俩种写法,还有一种是from() 和into(),我没有试,不做讨论。

同时,有坑要注意!关于打包的原始classes.jar的路径,也就是我定义的INPUT_PATH。不同的Android Studio版本竟然不一致!这个需要自己手动确认下。有的版本可能在'build/intermediates/bundles/release/classes.jar'下。

 

5.运行。

第一步:重新build该project 。

第二步:点开右边的gradle目录->other->makeJar 。

6.最后在自定义的路径下就会生成我们需要的jar包了。亲测可用~

 

直接看demo的同学可以直接去我的github下载代码,省金币,简单实用。

GitHub传送门

猜你喜欢

转载自blog.csdn.net/ma598214297/article/details/82669160