Android Studio将library手动打成jar包

以这个library为例,我们要将com.zxxk.httputils目录下的内容打成jar包

Android Studio将library手动打成jar包_第1张图片

1. 执行make project,执行完之后我们打开如下图所示的目录即可看到class文件

Android Studio将library手动打成jar包_第2张图片


2. 配置该库的build.gradle文件,并添加如下代码

Android Studio将library手动打成jar包_第3张图片

task clearJar(type: Delete) {
    delete 'build/libs/httputils.jar'
    delete 'libs/httputils.jar'
}

//task makeJar(type: Copy) {
//    from('build/intermediates/bundles/debug')
//    into('libs/')
//    include('classes.jar')
//    rename('classes.jar', 'httputils.jar')
//}


//打包任务
task makeJar(type:org.gradle.api.tasks.bundling.Jar) {
    //指定生成的jar名
    baseName 'httputils'
    //从哪里打包class文件
    from('build/intermediates/classes/debug/com/zxxk/httputils')
    //打包到jar后的目录结构
    into('com/zxxk/httputils/')
    //去掉不需要打包的目录和文件
    exclude('BuildConfig.class', 'R.class')
    //去掉R$开头的文件
    exclude{ it.name.startsWith('R$');}
}

makeJar.dependsOn(clearJar, build)


3. 打开Android Studio的终端

Android Studio将library手动打成jar包_第4张图片

4. 输入gradlew makeJar 会出现如下错误,将错误提示代码添加到该库的build.gradle文件的android节点下

Android Studio将library手动打成jar包_第5张图片

5. 输入gradlew makeJar 等待之后出现BUILD SUCCESSFUL之后代表打包成功


如果无法识别gradlew指令,说明电脑没有配置gradle的环境变量,请自行百度谷歌配置之

还有需要注意的是如果是第一次用gradle打jar包,可能Android Studio会下载相关的文件,并且需要很长时间,不要放弃

6. 然后打开下面的目录就会发现刚打包完成的jar包

Android Studio将library手动打成jar包_第6张图片


7. 在其他app中使用该jar文件时需要在该app的build.gradle文件的dependencies节点进行依赖声明


8. 如果是带有资源文件的arr包

Android Studio将library手动打成jar包_第7张图片

其他androidstudio工程引用aar包

①.将aar包复制到lib目录下 

②.配置工程app的build.gradle文件:

加入

  repositories {
        flatDir {
        dirs 'libs'
    }

compile(name:'httputils-debug', ext:'aar')


9. 在其他app中使用该aar文件时需要在该app的build.gradle文件的dependencies节点进行aar库build.gradle文件中依赖声明

你可能感兴趣的:(android知识点)