美文网首页
使用fat-aar编译打包多个aar库

使用fat-aar编译打包多个aar库

作者: RoboyCore | 来源:发表于2018-09-24 23:22 被阅读28次

    1.在module(要打包的AAR库)中添加以下gradle文件

    跟build.gradle同级

    ---fat-aar.gradle
     --- debug.gradle  (运行debug拷贝文件)
    

    然后在build.gradle使用( apply plugin: 'com.android.library'下面 )

    apply from: 'fat-aar.gradle' 
    

    然后把需要被打包出来的依赖 compile 依赖改成fat-aar声明的embedded
    exp

        embedded 'com.tencent.ilivesdk:ilivesdk:1.9.4'
    

    最后assemble会在目录同级生成需要打包出来的模块

    2.产生一系列的问题

    1.Could not get unknown property 'prepareReleaseDependencies

    由于fat-aar已经不被维护,使用的低版本gradle参数有些被高版本gradle移除,降低gradle版本至2.14.1-all(dependencies 2.2.3)
    然后重新sync

    2.依赖方式修改

    不支持implementation ,改成compile ,相关测试类也需要修改

    3.低版本3.0以下AS需要指定buildToolsVersion

    在build.gradle下添加buildToolsVersion

    4.google仓库无法使用,需要在maven中声明Google库

    google()仓库添加于 gradle 4.0

    添加build.gradle根目录仓库中

     maven {
                url 'https://maven.google.com/'
                name 'Google'
            }
    

    5.compileOptions ,jack编译器需要打开或者移除compileOptions

      jackOptions { //defaultConfig中添加
                enabled true
            }
     compileOptions {// android同级目录添加
            targetCompatibility 1.8
            sourceCompatibility 1.8
        }
    

    由于Jack不能在module中使用,
    修改成

    gradle.projectsEvaluated {
        tasks.withType(JavaCompile) {
            options.compilerArgs << "-Xbootclasspath/a:" + System.properties.get("java.home") + "/lib/rt.jar"
        }
    }
    

    经过测试Jack早已被废弃,不被推荐使用,而且Java8并不能在低版本中使用,而且添加retrolambda后链接的aar库运行lambda会报错(—。—)最后还是手动改回去了,蓝瘦香菇。

    1. Unknown host 'd29vzk4ow07wi7.cloudfront.net

    翻墙打开即可访问下载相关

    7.Process 'command 'C:\Android\Sdk\build-tools\24.0.2\aapt.exe'' finished with non-zero exit value 1

    低版本api24 icon不支持round,步骤同4,无需降低依赖版本

    8.依赖被混合打包进aar之后,其他人引用相关依赖会导致merge冲突
    添加 传递关系

    compile (project(':applibrary')) {  // Notice the parentheses around project
        transitive false
    }
    

    9.Minimum supported Gradle version is 3.3. Current version is 2.14.1.

    修改gradle,不使用默认,改成2.14.1版本,可在Setting/Build/Gradle设置中Use local gradle distribution下载后解压放置在.gradle中
    路径设置C:/Users/xx/.gradle/wrapper/dists/gradle-2.14.1-all

    10.语言问题,代码中的中文会乱码

    相关文章

      网友评论

          本文标题:使用fat-aar编译打包多个aar库

          本文链接:https://www.haomeiwen.com/subject/olrhoftx.html