Android module library中添加aar包的那些坑

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android module library中添加aar包的那些坑相关的知识,希望对你有一定的参考价值。

参考技术A

离线打包,通过缓存的jar包,但 不是长久之计,开发人员苦不堪言啊。后来参考了文章 折腾许久 解决问题了。记录一下 分享出来。

新建的common_module ,里面只放 aar. 让别的module 依赖此 module
这个common_module的gradle配置如下:

注意点

repositories 下的 flatDir 必须在 android 节点下!看来还没有完。需要aar包的module只需要在 dependencies 下 这么依赖即可

等等,还没有完。任何依赖此common_module的module必须声明在他的build.gradle声明此lib位置。

同样的他的build.grade 的repositories 下的 flatDir 必须在 android 节点下!举例有个module名字叫 business_core 他需要某些aar他要依赖 common_module。ok 先 dependencies compile project(\':common_module\')。然后在android 节点下声明

../../../../表示了 位置,此位置根据具体与common_module位置的不同做不同修改。还没完!project根目录的build.gradle也要改!以及 app目录下的build.gradle都需要加上,根目录加上的方式跟其他module一致,其中project 根目录下的build.gradle 加的位置是在allproject节点下。如下:

上面的步骤,少一点就会编译失败,比较扯,记录一下,分享出来。感觉 写绝对路径比较复杂,可以更简单点 。在dependencies.gradle中定义 common_module/libs的位置

其他build.gradle可以这么依赖。

技术干货 | 如何在 Library 中使用/依赖 mPaaS?

简介: 在使用 mPaaS 框架过程中,有时需要复用模块。复用时需要按照使用 Module 依赖的方式添加模块。

使用场景

在使用 mPaaS 框架过程中,有时需要复用模块。复用时需要按照使用 Module 依赖的方式添加模块。本文以将复用 mPaaS 扫码组件的 Module 为例进行说明。

 

前提条件

已按照原生 AAR 接入方式将工程接入 mPaaS。

 

操作步骤

1. 在 Android 工程中创建 Android Library 类型的模块 “scan”。

1.png

2. 在新创建的 scan 模块的 build.gradle 文件中添加 `api  platform("com.mpaas.android:$mpaas_artifact:$mpaas_baseline")` 。示例如下:

dependencies {
    ……
    //moudle里使用mPaaS组件功能时,必须添加
    api platform("com.mpaas.android:$mpaas_artifact:$mpaas_baseline")
        
    ……
 }

3. 通过 Android Studio mPaaS 插件为 scan 模块安装扫码组件。具体菜单路径为:mPaaS > 原生 AAR 接入 > 配置/更新组件 > 开始配置。安装后,扫码组件组件会自动加载。

2.png

4. 配置 App 主工程。

plugins {
    id 'com.android.application'
        
    ......    
    //必须在app下的build.gradle添加baseline.config(基线)    
    id 'com.alipay.apollo.baseline.config'
}

5. 调用组件模块。在使用扫码组件的地方,导入 scan 模块。

dependencies {
    api platform("com.mpaas.android:$mpaas_artifact:$mpaas_baseline")
        
    ....
    api project(':scan')//扫码组件
}

撰文:刘启洋

原文链接

本文为阿里云原创内容,未经允许不得转载。

以上是关于Android module library中添加aar包的那些坑的主要内容,如果未能解决你的问题,请参考以下文章

Android 中 Project、Module、Library 有啥区别?

Android Studio将module变为library

在 Android Studio 和 Gradle 的 Android App Module 中使用不同构建类型的 Library Module

技术干货 | 如何在 Library 中使用/依赖 mPaaS?

Android Studio将某个Module作为Library被引用时,主APP安装后作为Library的Module在桌面上也有一个APP图标

Android Studio多Module开发需要注意的问题