欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

androidstudio打包arr并引用

程序员文章站 2022-04-05 09:46:11
...

第一步:将library打包成arr包

       1.1 在library的app:gradle中的顶部加:apply plugin: 'maven'

    androidstudio打包arr并引用

         1.2,将library的app:gradle中android{}同级添加以下代码,参考https://blog.csdn.net/weixue9/article/details/88963785

/**
 * 下面为创建本地仓库进行的设置
 * 1、groupId唯一标识符:包名com.android.dzrefresh 对应路径:com/android/dzrefresh
 * 2、artifactId module名称:App 对应路径:com/android/dzrefresh/App
 * 3、version版本号:1.0.0 对应路径:com/android/dzrefresh/App/1.0.0
 * 4、packaging 类库类型
 * 5、description 描述
 * 6、repository本地仓库路径
 */
// mac中在Androidstudio的terminal界面执行./gradlew uploadArchives或者./gradlew -p cashier clean build uploadArchives --info命令
// 即可在下面的自定义仓库路径下生产相应aar文件,在其他工程中添加这个本地仓库
// 的引用即可
uploadArchives {
//    configuration = configurations.archives
    repositories {
        mavenDeployer {
            repository(url: "file://D:/arr/")
            pom.project {
                name 'facelibrary'
                artifactId 'facelibrary'
                groupId 'com.starsine.mobile.facelibrary'
                version '1.0.1'
                packaging 'aar'
                description 'facelibrary'

                licenses {
                    license {
                        name 'The Apache Software License, Version 2.0'
                        url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
                        distribution 'repo'
                    }
                }
            }
        }
    }
}

    1.3:点击uploadArchives生成arr包,文件位置在上一步repository参数配置的路径

androidstudio打包arr并引用

1.4androidstudio打包arr并引用

第二步:新建工程,将arr包放到libs文件夹内

androidstudio打包arr并引用

 2.1在app的gradle中引入arr包

第三步:

注意:如果library中引入了第三方的远程依赖的话,打包arr是不会把这些远程库打包进arr包的,所以在新项目使用arr包就会出现找不到某些类的问题,我参考https://blog.csdn.net/zsf442553199/article/details/77882531?utm_source=blogxgwz8这个方式没有解决成功,

androidstudio打包arr并引用

最后我的解决方式是,在使用arr包的项目gradle中重新引用library中用到的远端库

androidstudio打包arr并引用