将现有android项目打包成aar包供第三方应用调用
1.打包之后生成的文件地址:
*.jar:库/build/intermediates/bundles/debug(release)/classes.jar
*.aar:库/build/outputs/aar/libraryname.aar
2.jar包只包含了classes文件,不包含资源文件;aar不仅包含了classes文件,还包含资源文件
并且,aar的这个可以发布到maven库,然后使用者直接通过更改版本号就可以获取到最新的aar文件
打包成aar文件
build.gradle(app)
1.将apply plugin: ‘com.android.application’改为apply plugin: ‘com.android.library’
2.去掉applicationId
如下图所示
3.清单文件AndroidManifest.xml
将application的name icon lable theme roundIcon等属性去掉
4.去掉软件的入口,如果不去掉,引用此aar文件后,运行时软件有两个图标
5.双击右侧的assembleDebug,如下图位置
完成后,可以看到在项目app/build/outputs/aar目录下生成一个aar文件。
这是在debug模式下生成的aar包,正常需要在build.gradle(app)中配置好签名,点击assembleRelease,生成aar包。不会签名的百度下吧。
引用aar文件。
1.把aar文件放在一个文件目录内,比如就放在libs目录内
2.build.gradle(app)里添加如下内容
repositories {
flatDir {
dirs 'libs'
}
}
compile(name: 'app-debug', ext: 'aar')
1
重新运行下工程,可以看到aar文件被加载了
至此,可以调用aar中的方法和资源了。
清单文件
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.bluetoothmicrecord">
<application
android:allowBackup="true"
android:supportsRtl="true"
>
<activity android:name=".MainActivity">
</activity>
<activity android:name=".activity.AddBlueToothDevicesActivity" />
<activity android:name=".activity.RecordAudiosActivity" />
<service
android:name=".activity.UploadService"
android:enabled="true"
android:exported="true" />
<activity android:name=".activity.BaseActivity"></activity>
</application>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<!--蓝牙录音所需的权限-->
<!-- 允许程序连接配对过的蓝牙设备-->
<uses-permission android:name="android.permission.BLUETOOTH" />
<!-- 允许程序录制音频-->
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<!-- 允许程序修改全局音频设置-->
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<!-- 允许一个程序收到广播后快速收到下一个广播-->
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<!-- 允许程序进行发现和配对新的蓝牙设备-->
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- 允许一个程序访问CellID或WiFi热点来获取粗略的位置,6.0后蓝牙扫描必须需要的权限,要不discovery时发不了广播-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
</manifest>
3.res内定义的属性或者名称, 都应当加上前缀
你的aar里定义资源文件是很正常的事, 资源文件很有可能和别人的资源重名, 而悲剧的是, 别人很有可能是引用了另外一个aar导致与你重名. 他无法修改那个aar的资源名, 就像他不能修改你的aar资源名一样. 为了避免这种尴尬, 最好在定义的资源程前加上一个前缀, 比如你的模块简写,商标简写等等. 避免冲突, 还能打个广告, 何乐而不为.
作者:csdn_mm
来源:CSDN
原文:https://blog.csdn.net/csdn_mm/article/details/78364444
版权声明:本文为博主原创文章,转载请附上博文链接!
将现有android项目打包成aar包供第三方应用调用相关推荐
- Android 将Android项目打包成aar文件并在其他项目中引用,打包成jar包
首先说一下jar包和aar包有什么区别? 1.打包之后生成的文件地址: *.jar:库/build/intermediates/bundles/debug(release)/classes.jar * ...
- Android项目打包成aar文件并在其他项目引用,作为依赖包
最近遇到一个问题,由于引入了原生得库文件,但是这个由于是远程引用,不允许修改,后来正好研究一下是否可以将Android项目打成 aar 文件,作为SDK给其他项目引用 基本概念 aar包,jar包 有 ...
- mvn打包并部署本地tomcat_Maven项目打包成war包部署到Tomcat的方法
Maven项目打包成war包部署到Tomcat的方法 有关于 Maven 项目的打包部署,我这里用的是 Eclipse 编辑器,以此来做个简单的记录. 实践环境 操作系统: Windows IDE: ...
- 将Spring Boot项目打包成jar包war包
任务一:将Spring Boot项目打包成jar包 1.在pom.xml文件中添加依赖 2.通过cmd命令行来进行打包jar包(首先进入项目的目录中) 3.进入项目中的target目录下查看包 4.使 ...
- linux上jar包无法识别本地文件格式,解决使用maven将项目打包成jar包后运行在linux系统中无法读取jar包中文件的问题...
哈哈,之前计划的每周至少更新一个博客的计划又因为各种原因都泡汤了.看来坚持真得是一件挺让人头疼的问题,无论如何,从这周开始接下来每周一定要至少更新一个技术博客,欢迎大家监督! 好,言归正传.之前前几周 ...
- 在IDEA中将SpringBoot项目打包成jar包的方法 不要用 在上面有可以用的
在IDEA中将SpringBoot项目打包成jar包的方法 2018年03月07日 10:43:52 叶叶叶叶大爷 阅读数 71375 版权声明: https://blog.csdn.net/qq_3 ...
- 将Eclipse Android项目打包成APK文件
将Eclipse Android项目打包成APK文件是本文要介绍的内容,主要是来了解并学习Eclipse Android打包的内容,具体关于Eclipse Android内容的详解来看本文 . Ec ...
- java eclipse生成apk,将Eclipse Android项目打包成APK文件
将Eclipse Android项目打包成APK文件是本文要介绍的内容,主要是来了解并学习Eclipse Android打包的内容,具体关于Eclipse Android内容的详解来看本文. Ecli ...
- idea将web项目打包成war包并部署到服务器上运行
idea将web项目打包成war包并部署到服务器上运行 以下是工作案例总结: 1.首先idea配置服务器:tomcat服务器或者jetty服务器均可 2.idea配置环境设置:点击如下图标 接下来如下 ...
最新文章
- VS 远程调试 Azure Web App
- 使用Java处理除法运算的陷阱
- 商淘多b2b2c商城系统怎么在个人电脑上安装_b2b2c商城系统免费模板怎么用?
- Grunt-cli的执行过程以及Grunt加载原理
- how to find all element type with type table of content
- 阿里笔试-二叉树由前序遍历和中序遍历推导后序遍历
- 今天你们表现的真棒!!!
- Docker 精通之常用命令
- php数组的概述及分类与声明
- java 设置系统参数_Java 设置系统参数和运行参数
- llinux默认ip修改方法
- 小米手机测试代码电池测试代码
- 若干思考:从如何确定投资者是风险偏好者、风险中性者还是风险规避者 到 上学真的无用吗的思考?
- centos7安装dcos
- 电动汽车热管理粘合剂和密封剂市场现状及未来发展趋势
- 【测试】如何测试微信发红包功能
- python画笔粗细函数_Python 画图基础操作详解
- Ae 效果详解:湍流置换
- Anaconda最新版本的下载地址
- python中大批量m3u8文件合并总结