Androidstudio 将项目封装为SDK,并将其中的依赖包一起封装进去

本文详细介绍了如何将Android SDK项目打包成aar,并通过生成本地maven仓库的方式,使得依赖包能一同封装。首先,通过修改AndroidManifest、build.gradle文件以及添加特定任务来创建aar。然后,在其他项目中,通过配置build.gradle文件引入本地仓库中的aar,实现依赖。这种方法避免了常规方式下无法将SDK项目依赖一起导入的问题。
摘要由CSDN通过智能技术生成

最近在开发自己的SDK工具,想将一个项目封装成ARR供其他项目使用。但发现个问题,就是无法将SDK项目中的依赖包一起封装进去。

解决办法:

一、生成本地maven仓库步骤

1、新建一个Android 项目

2、将AndroidManifest修改为(不要有activity,包名换成自己的)

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.hades.toolkit">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true">
    </application>
</manifest>

3、将app层的build.gradle中的

apply plugin: 'com.android.application'
改为
apply plugin: 'com.android.library'

并且添加

apply from: 'maven-release-aar.gradle'

然后删除defaultConfig 中 applicationId

4、将导入的方法 implementation 换成 api

api 'com.orhanobut:logger:1.15'

5、新建maven-release-aar.gradle文件,将其放入app目录中

6、将下面代码拷贝到maven-release-aar.gradle中

apply plugin: 'maven'
ext {
    PUBLISH_GROUP_ID = 'com.hades.toolkit'//包名,换成自己的
    PUBLISH_ARTIFACT_ID = project.name //名称,一般是app,也可以自己换
    VERSION_CODE = 1
    VERSION_NAME = "1.0.1" //版本
}
uploadArchives {
    repositories.mavenDeployer {
        def localMavenRepo = 'file://' + new File(rootDir.parentFile, 'ToolkitMaven').absolutePath //这里会将maven仓库生成到你项目目录层ToolkitMaven文件夹中,具体目录可以自己改
        repository(url: localMavenRepo)
        pom.project {
            groupId project.PUBLISH_GROUP_ID
            artifactId project.PUBLISH_ARTIFACT_ID
            version project.VERSION_NAME
        }
    }
}

//以下代码会生成jar包源文件
task androidSourcesJar(type: Jar) {
    classifier = 'sources'
    from android.sourceSets.main.java.sourceFiles
}
artifacts {
    archives androidSourcesJar
}

7、然后选择uploadArchives生成本地仓库

下面是生成的本地仓库D:\Android\AndroidStudioProject\ToolkitMaven(D:\Android\AndroidStudioProject\路径就是你项目存放的路径),以及生成的arr文件的目录

 

二、在其他项目中导入本地仓库的步骤

(注意不要使用常规的导入arr包的方式导入,这样不会将SDK项目中的依赖包一起封装进来)

1、在project层的build.gradle中添加如下代码

allprojects {
    repositories {
        google()
        jcenter()
        maven{  url "file://D:\\Android\\AndroidStudioProject\\ToolkitMaven"}//该路径为你生成的本地仓库的路径
    }
}

2、在app层build.gradle中导入本地仓库

implementation 'com.hades.toolkit:app:1.0.1'//格式为groupId:artifactId:version

 

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仗剑走天涯~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值