aar打包注意事项和使用android studio打jar

aar打包的注意事项

以前做SDK基本上都是使用jar包,jar包有个弊端,就是只能包含代码,不能包含资源文件,后来出现了aar,aar除了可以包含代码以外,res目录下的资源文件也可以包含进去,这样就方便了很多。

但是在aar打包的时候需要注意的是,把一个Library达成aar,lib文件夹下面的jar包是可以包含的,但是在build.gradle,文件中依赖的第三方库是无法打入aar的,如果不知道这点,很容易出现类找不到异常

使用AS打jar的配置

1:首先项目要是一个Library
2:在Library下的build.gradle目录下添加如下配置
def SDK_BASENAME = "TestSdk";
def SDK_VERSION = "_V2.0";
def sdkDestinationPath = "build/lib/"; 								  //生成的jar的目录
def zipFile = file('build/intermediates/bundles/release/classes.jar') //本地代码生成的classes.jar
def zipJar_1 = file('libs/log4j-1.2.17.jar') 						 //引入的第三方jar

task deleteBuild(type: Delete) {
    delete sdkDestinationPath + SDK_BASENAME + SDK_VERSION + ".jar" //删除原来的jar
}

task makeJar(type: Jar) {
    from zipTree(zipFile)                                   //将classes.jar打入
    from zipTree(zipJar_1)                                  //将第三方jar打入
    from fileTree(dir: 'src/main',includes: ['assets/**'])  //将assets目录打入jar包
    baseName = SDK_BASENAME + SDK_VERSION                  //生成的jar的名字
    destinationDir = file(sdkDestinationPath)
}

makeJar.dependsOn(deleteBuild, build)
执行打包命令

打包有两种方法:
1:可以在右侧的对应工程的目录下的other目录下找打makejar命令,双击,如下图:
在这里插入图片描述
在这里插入图片描述
2:使用命令行,在对应工程下执行gradle makeJar,如下图:
在这里插入图片描述
最后执行成功
在这里插入图片描述
在对应的目录就能找到jar了

猜你喜欢

转载自blog.csdn.net/static_zh/article/details/86496482