AndroidStudio生成安卓共享库(sharedlibrary)

本文介绍如何创建Android系统共享库,避免aar文件过大导致三方apk包体增大。通过修改gradle插件版本和添加aapt参数,将项目编译为系统共享库。在使用过程中需要注意资源文件的处理、系统目录权限问题以及避免引入其他库导致的冲突。
摘要由CSDN通过智能技术生成
  1. 背景

因工作需要,想要在提供一种能力,供三方apk进行调用,通常的解决方式就是通过提供aar给到三方apk进行继承。但是这样的方式就会有一个明显的缺陷,就是在资源文件众多的时候,aar文件会变得非常大,进而导致三方apk的包体变大。这样显然是不利于三方进行接入,并且在多个apk集成后,同样的内容在同一个系统中打包了多份,这显然也不是我们想要的。这个时候,shared-library就十分符合我们的诉求。
网上搜索了半天,关于sharedlibrary实在是少之又少,因此经过一番周折以后,我觉得有必要为后续碰到问题的人提供一点帮助。
接下来我会一步一步得介绍如何创建一个自己得共享库。

  1. 使用共享库

这个其实就比较简单,直接看官方文档就可以,放上官方文档就不再进行详细解释。
https://developer.android.google.cn/guide/topics/manifest/uses-library-element?hl=en

  1. 创建一个空项目

如图,为了保险起见,我们把所有的资源文件也全给删了
这是一个空项目
然后,我们先创建一个普通的类,只有一个测试方法

public class LibMain {
   
    public int getMyNumber(int a) {
   
        return a * a;
    }
}
  1. 编译为系统共享库

AndroidStudio使用aapt进行编译,aapt可以添加对应参数表明当前项目需要编译为系统共享库,此处是重点,考试会考,基本是本文最主要的部分。添加系统共享库编译参数

aaptOptions {
   
        aaptOptions.additionalParameters("--shared-lib")
    }
  1. manifest中声明

在项目的AndroidManifest.xml中添加library声明,添加至application中间,如下

<application
    android:allowBackup="true"
    android:supportsRtl="
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值