王尘宇王尘宇

研究百度干SEO做推广变成一个被互联网搞的人

Android将Library 打Jar包和aar包

Android将Library 打Jar包和aar包

确保是Libray

2.在library包中的build.gradle中配置相关文件

这是我配置的一大堆, 为了将libs下的jar包也打进去, 所必要的配置

Android将Library 打Jar包和aar包

我的library中有jar包

def SDK_BASENAME = "androidar";  //jar包命名
def SDK_VERSION = "V1.0";   //jar版本
def sdkDestinationPath = "build";  //jar打包后的存放路径

//打包release目录下的classes.jar(开启混淆后这个jar就是混淆的源码)- 注意由于as版本原因有点在default目录
//*********注意注意注意******
//Android studio 高版本的classes.jar 是在build/intermediates/packaged-classes/release下的
//旧版本是在: build/intermediates/bundles/release
def releaseJar = file('build/intermediates/packaged-classes/release/classes.jar')
//打包debug目录下的classes.jar
def debugJar = file('build/intermediates/packaged-classes/debug/classes.jar')
//将libs目录下打入jar包,根据自己的jar包自定义添加
def arcorecalsserJar = file('libs/arcore-classes.jar')
def easyarJar = file('libs/EasyAR.jar')
def unityclassJar = file('libs/unity-classes.jar')
//def saveimageJar = file('libs/saveimagelibrary-debug.aar') 这个aar打入是不成功的

//先检测是否存在相同的jar, 将其删除
task deleteBuild(type: Delete) {
    delete sdkDestinationPath + SDK_BASENAME + SDK_VERSION + ".jar"
}
// 执行jar操作
task makeJar(type: Jar) {
    from zipTree(releaseJar)
    // from zipTree(debugJar)
   //自定义的jar
    from zipTree(arcorecalsserJar)
    from zipTree(easyarJar)
    from zipTree(unityclassJar)
  // from zipTree(saveimageJar)

    baseName= SDK_BASENAME+SDK_VERSION
    destinationDir=file(sdkDestinationPath)
}
makeJar.dependsOn(deleteBuild,build)

3.如果找不到classes.jar,可自动生成

一定要确保 release目录下有classes.jar包, 如果没有就自动自动生成

Android将Library 打Jar包和aar包

image.png

AS如下图直接 双击assemble,会在bundles目录下面生成debug和release文件夹

Android将Library 打Jar包和aar包

image.png

4. 在Terminal执行指令gradlew makerJar就可以生成重命名后的jar包

二. 将Libray打包成aar包

Android将Library 打Jar包和aar包

image.png

三.如何引入aar包

1.引入aar包

1.1 复制aar包到libs文件夹下

Android将Library 打Jar包和aar包

image.png

1.2 总目录下的 build.gradle 文件中添加 ↓
flatDir {
 dirs 'libs'
}

如图:

Android将Library 打Jar包和aar包

image.png

1.3 app目录下的 build.gradle 添加aar引用
dependencies {
 ...
 implementation(name: 'unityLibrary-release', ext: 'aar')//aar引用

}

相关文章

评论列表

发表评论:
验证码

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。