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包供第三方应用调用相关推荐

  1. Android 将Android项目打包成aar文件并在其他项目中引用,打包成jar包

    首先说一下jar包和aar包有什么区别? 1.打包之后生成的文件地址: *.jar:库/build/intermediates/bundles/debug(release)/classes.jar * ...

  2. Android项目打包成aar文件并在其他项目引用,作为依赖包

    最近遇到一个问题,由于引入了原生得库文件,但是这个由于是远程引用,不允许修改,后来正好研究一下是否可以将Android项目打成 aar 文件,作为SDK给其他项目引用 基本概念 aar包,jar包 有 ...

  3. mvn打包并部署本地tomcat_Maven项目打包成war包部署到Tomcat的方法

    Maven项目打包成war包部署到Tomcat的方法 有关于 Maven 项目的打包部署,我这里用的是 Eclipse 编辑器,以此来做个简单的记录. 实践环境 操作系统: Windows IDE: ...

  4. 将Spring Boot项目打包成jar包war包

    任务一:将Spring Boot项目打包成jar包 1.在pom.xml文件中添加依赖 2.通过cmd命令行来进行打包jar包(首先进入项目的目录中) 3.进入项目中的target目录下查看包 4.使 ...

  5. linux上jar包无法识别本地文件格式,解决使用maven将项目打包成jar包后运行在linux系统中无法读取jar包中文件的问题...

    哈哈,之前计划的每周至少更新一个博客的计划又因为各种原因都泡汤了.看来坚持真得是一件挺让人头疼的问题,无论如何,从这周开始接下来每周一定要至少更新一个技术博客,欢迎大家监督! 好,言归正传.之前前几周 ...

  6. 在IDEA中将SpringBoot项目打包成jar包的方法 不要用 在上面有可以用的

    在IDEA中将SpringBoot项目打包成jar包的方法 2018年03月07日 10:43:52 叶叶叶叶大爷 阅读数 71375 版权声明: https://blog.csdn.net/qq_3 ...

  7. 将Eclipse Android项目打包成APK文件

    将Eclipse Android项目打包成APK文件是本文要介绍的内容,主要是来了解并学习Eclipse Android打包的内容,具体关于Eclipse Android内容的详解来看本文  . Ec ...

  8. java eclipse生成apk,将Eclipse Android项目打包成APK文件

    将Eclipse Android项目打包成APK文件是本文要介绍的内容,主要是来了解并学习Eclipse Android打包的内容,具体关于Eclipse Android内容的详解来看本文. Ecli ...

  9. idea将web项目打包成war包并部署到服务器上运行

    idea将web项目打包成war包并部署到服务器上运行 以下是工作案例总结: 1.首先idea配置服务器:tomcat服务器或者jetty服务器均可 2.idea配置环境设置:点击如下图标 接下来如下 ...

最新文章

  1. VS 远程调试 Azure Web App
  2. 使用Java处理除法运算的陷阱
  3. 商淘多b2b2c商城系统怎么在个人电脑上安装_b2b2c商城系统免费模板怎么用?
  4. Grunt-cli的执行过程以及Grunt加载原理
  5. how to find all element type with type table of content
  6. 阿里笔试-二叉树由前序遍历和中序遍历推导后序遍历
  7. 今天你们表现的真棒!!!
  8. Docker 精通之常用命令
  9. php数组的概述及分类与声明
  10. java 设置系统参数_Java 设置系统参数和运行参数
  11. llinux默认ip修改方法
  12. 小米手机测试代码电池测试代码
  13. 若干思考:从如何确定投资者是风险偏好者、风险中性者还是风险规避者 到 上学真的无用吗的思考?
  14. centos7安装dcos
  15. 电动汽车热管理粘合剂和密封剂市场现状及未来发展趋势
  16. 【测试】如何测试微信发红包功能
  17. python画笔粗细函数_Python 画图基础操作详解
  18. Ae 效果详解:湍流置换
  19. Anaconda最新版本的下载地址
  20. python中大批量m3u8文件合并总结

热门文章

  1. 对360沙盒的驱动的一点逆向分析
  2. python元祖封包_Python基础——解包与封包
  3. 视频教程-沐风老师3DMAX基础入门-3Dmax
  4. 2021 buaa 计组上机P3和P4 单周期CPU 3道课上考试题
  5. 方波的产生——运算放大器LM324产生方波
  6. 某些老司机直播APP这么受欢迎?作为Android程序员如何进军音视频?
  7. 直播已入下半场,秀场直播该何去何从?
  8. 2022年12月编程语言排行榜公布!
  9. 封装PC端使用海康插件播放摄像头直播流(基于VUE)
  10. Python matplotlib 饼图