「AndroidStudio」编译 Jar 与 aar 包

求职的职位中有涉及 SDK 开发,其原理是封装 API 给第三方使用,Jar 包与 aar 包「包含资源文件」

Jar 包资源打包

简单记录打包流程:
NewModuleAndroid LibraryPackageNameFinish

AS 3.0 + 版本,build.gradle 文件中添加如下代码:

    task clearJar(type: Delete) {
        delete 'build/libs/mySdk.jar'////这行表示如果你已经打过一次包了,再进行打包则把原来的包删掉
    }

    task makeJar(type: Copy) {
        from('build/intermediates/packaged-classes/release/') //这行表示要打包的文件的路径,根据下面的内容,其实是该路径下的classes.jar
        into('build/libs1/')  //这行表示打包完毕后包的生成路径,也就是生成的包存在哪
        include('classes.jar')  //看到这行,如果你对分包有了解的话,你就可以看出来这行它只是将一些类打包了
        rename ('classes.jar', 'mySdk.jar')
    }

    makeJar.dependsOn(clearJar, build)

AS IDE 右侧 Gradle 工具控制中选择对应 Liabrary Model 中 makeJar

aar 资源打包

「AndroidStudio」编译 Jar 与 aar 包_第1张图片
image.png

你可能感兴趣的:(「AndroidStudio」编译 Jar 与 aar 包)