-
android studio引用aar文件
2016-11-27 23:17:18首先,将aar文件放到libs目录下,修改build.gradle文件,增加 repositories { flatDir { dirs 'libs' } } 修改dependencies,增加一行compile(name:'usericonchooserutil', ext:'aar'),其中name就是...首先,将aar文件放到libs目录下,修改build.gradle文件,增加
repositories {
flatDir {
dirs 'libs'
}
}修改dependencies,增加一行compile(name:'usericonchooserutil', ext:'aar'),其中name就是libs目录下usericonchooserutil.aar文件名称。
从工具栏中选择“build”-“rebuild project”,编译工程。
如果出现Suggestion: use tools:overrideLibrary=”***.***.***” to force usage编译错误,是由于引入的第三方库最低支持版本高于我的项目的最低支持版本。在AndroidManifest.xml文件中 标签中添加<uses-sdk tools:overrideLibrary="xxx.xxx.xxx"/>,其中的xxx.xxx.xxx为第三方库包名,如果存在多个库有此异常,则用逗号分割它们,例如:<uses-sdk tools:overrideLibrary="xxx.xxx.aaa, xxx.xxx.bbb"/>,这样做是为了项目中的AndroidManifest.xml和第三方库的AndroidManifest.xml合并时可以忽略最低版本限制。
再次rebuild,如果出现类似“与元素类型 "uses-sdk" 相关联的属性 "tools:overrideLibrary" 的前缀 "tools" 未绑定。”错误,查看AndroidManifest.xml是否没有定义xmlns:tools。在mainfest中加入xmlns:tools="http://schemas.android.com/tools"
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="***.***.***"
android:versionCode="1"
android:versionName="1.0"
android:sharedUserId="android.uid.system"> -
Android 打包 aar文件的流程以及aar的引用
2020-04-30 16:03:241 原项目打包成aar 文件 需要把项目先变成库 把apply plugin: 'com.android.application' 改为apply plugin: 'com.android.library' 然后把 applicationId 注释掉 如下图 然后在AndroidManifest里面的appl...打包aar 分为原项目打包成aar 和新建module 打包成aar
1 原项目打包成aar 文件
需要把项目先变成库
把apply plugin: 'com.android.application' 改为 apply plugin: 'com.android.library'
然后把 applicationId 注释掉 如下图
然后在AndroidManifest里面的application 注释掉如下
之后可以编辑小象的图片编辑
编辑完之后就可以打包aar了
点击右侧的Gradle
到里面点击assemble
之后就是看下打包的aar了 ,在app 下面的build --outputs--aar
如下图
一般使用的时候都是release 版本的aar
2 使用新建的module 打包成aar
新建一个module
然后选择Library
点击next 也就和我们创建一个Library 库一样的
然后在里面写入一些内容 提供给别人使用
然后就是打包了,打包的时候记得选择创建的库,别打包自己的项目
如下图
打包的aar 文件在
库下面的build --outputs--aar 里面
-
Android Studio生成aar文件包和在其他工程引用aar文件包
2017-07-04 19:26:31aar包是Android studio下打包android工程中src、res、lib后生成的aar文件,aar包导入其他android studio 工程后,其他工程可以方便引用源码和资源文件,aar其实就是lib module压缩包的形式在Android Studio中对一个...aar包是Android studio下打包android工程中src、res、lib后生成的aar文件,aar包导入其他android studio 工程后,其他工程可以方便引用源码和资源文件,aar其实就是lib module压缩包的形式
在Android Studio中对一个自己库进行生成操作时将会同时生成.jar与.aar文件。
分别存储位置:
*.jar:库/build/intermediates/bundles/debug(release)/classes.jar
*.aar:库/build/outputs/aar/libraryname.aar
两者区别:
*.jar:只包含了class文件与清单文件,不包含资源文件,如图片等所有res中的文件。
*.aar:包含所有资源,class以及res资源文件全部包含
如果你只是一个简单的类库那么使用生成的.jar文件即可;如果你的是一个UI库,包含一些自己写的控件布局文件以及字体等资源文件那么就只能使用.aar文件。
生成aar包步骤:
1.用android studio打开一个工程,然后新建一个Module,新建Module时候选择类型为Android Library,后面按新建普通工程操作,如下图
2.在新建的Module中编写完代码后,接下来编译整个工程后就会自动生成aar文件包,包的路径在新建的Module ==》 build ===》outputs ==>aar目录下。 如图
生成的aar文件包的位置
生成jar包的位置
其他 Androidstudio工程如何引用aar文件包
1.将**.aar文件包复制到lib目录下
2.来到project
build.gradle
里面,在allprojects方法体加入allprojects { repositories { jcenter() //add begin flatDir { dirs 'libs' } //add end } }
3.来到module
build.gradle
里面,dependencies方法体加入compile(name:'fresco-0.8.1', ext:'aar')
-
Android.mk引用aar文件
2016-08-11 00:43:21正文: 最近遇到一个问题,在更改Android的系统...之前引用的主要是jar包,而aar文件包含Android的资源文件,如:布局、样式、图片等,如果按照源码中jar的引用方式会遇到编译不过的问题,提示找不到相关的资源文件。正文:
最近遇到一个问题,在更改Android的系统应用时,要引用一个aar文件。之前引用的主要是jar包,而aar文件包含Android的资源文件,如:布局、样式、图片等,如果按照源码中jar的引用方式会遇到编译不过的问题,提示找不到相关的资源文件。
国内的相关论坛也有同行遇到相同的问题,不过相关的解决方案并没有,不过在stackoverflow有相关的解决方案,网址如下:
aar-support-in-android-mk: http://stackoverflow.com/questions/31205856/aar-support-in-android-mkLOCAL_STATIC_JAVA_AAR_LIBRARIES:= <aar alias> . . . include $(BUILD_PACKAGE) include $(CLEAR_VARS) LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := <aar alias>:libs/<lib file>.aar include $(BUILD_MULTI_PREBUILT)
其中,
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := <aar alias>:libs/<lib file>.aar
也可以如下面这样写:include $(CLEAR_VARS) LOCAL_MODULE := <aar alias> LOCAL_SRC_FILES := <lib file>.aar LOCAL_MODULE_CLASS := JAVA_LIBRARIES LOCAL_MODULE_SUFFIX := $(COMMON_JAVA_PACKAGE_SUFFIX) LOCAL_BUILT_MODULE_STEM := javalib.jar include $(BUILD_PREBUILT)
这里主要是LOCAL_STATIC_JAVA_AAR_LIBRARIES,剩下的和jar包大同小异,注意在manifest文件里minSdkVersion要满足aar文件的要求。
搜索Android源码,也可以发现:
#LOCAL_STATIC_JAVA_AAR_LIBRARIES are special LOCAL_STATIC_JAVA_LIBRARIES
LOCAL_STATIC_JAVA_LIBRARIES := (strip(LOCAL_STATIC_JAVA_LIBRARIES) $(LOCAL_STATIC_JAVA_AAR_LIBRARIES))这一步完成后,代码可以顺利编译过了,不过在运行apk时如果使用到aar文件里面的资源可能会crash,所以还需要加上以下语句:
LOCAL_AAPT_FLAGS := \ --auto-add-overlay \ --extra-packages <aar package name>
关于LOCAL_AAPT_FLAGS,可以参考以下网址,在开发Android系统应用时可能会遇到和这个相关的一些小坑,比如修改完相关代码后,push进机器却不起作用。
Android AAPT and Overlay: http://blog.csdn.net/sunny09290/article/details/20943261
这里把相关aar文件的资源打包到我们的apk里,apk即可正常运行。
另外一点是在make文件中可以指定具体的manifest文件:
LOCAL_MANIFEST_FILE := <manifest file path>
参考链接:
Android AAPT and Overlay: http://blog.csdn.net/sunny09290/article/details/20943261
aar-support-in-android-mk: http://stackoverflow.com/questions/31205856/aar-support-in-android-mk
Android4.4 Makefile属性:LOCAL_AAPT_FLAGS的使用: http://blog.csdn.net/visionliao/article/details/43233743 -
Android Studio 引用aar文件及引发的问题
2018-03-20 15:08:311.正常的module引用aar文件需要配置如下: repositories { flatDir { dirs 'libs' } } // 此在android标签下添加 dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile... -
AndroidStudio引用aar文件碰到的问题
2017-07-23 00:23:56使用build.gradle添加.aar文件的引用,如:compile (name:’sdk2’, ext:’aar’), 需要在build.gradle的android配置增加以下配置不会报not found错误: repositories { flatDir { dirs 'src/main/jniLibs' } ... -
AndroidStudio里怎样引用aar文件
2015-12-09 11:33:58aar文件很小,里面也有源码,比library包小巧,...在AndroidStudio里引用aar文件的步骤:1、把aar文件拷贝到项目的libs文件夹下2、在其中一个build文件中加入代码,两个flatDir{…}buildscript { repositories { -
Android Studio库Module引用aar文件
2017-05-31 11:15:451. android studio正常的module引用aar文件需要配置如下: repositories { flatDir { dirs 'libs' } } // 此在android标签下添加dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile -
androidstudio 引用本地aar文件 和aar文件中包含jar该如何引用
2017-02-21 15:29:28生成aar之后下一步就是如何引用本地的aar文件?本地的aar文件并没有像引用jar文件这么简单,官方也没有提供解决方案。好在国外的一些前辈总结出了方法,下面就以test.aar文件为例来详述下方法 1、把aar文件放在一... -
Android项目中引用本地aar文件的方法
2020-09-03 18:14:45主要介绍了Android项目中引用本地aar文件的方法,本文讲解了什么是aar文件、导出aar文件方法、引用本地的aar文件方法等内容,需要的朋友可以参考下 -
Android项目app和module引用aar文件方法
2017-11-24 14:56:34主工程(即app)引用aar文件时,很简单。主要分两步: 第一步: 将aar文件添加到libs文件夹下。 第二步: 修改app/build.gradle文件: 1.添加代码 repositories { flatDir { dirs 'libs' //系统将在lib目录下搜索... -
Androidstudio 引用aar文件,例如pullToRefreshGridView
2018-03-09 11:56:38/*使用PullToRefreshGridView添加*/ repositories { flatDir { dirs 'libs' } } -
android生成aar包及引用aar包
2017-04-21 15:16:14这篇文章主要介绍了Android项目中引用本地aar文件的方法,本文讲解了什么是aar文件、导出aar文件方法、引用本地的aar文件方法等内容,需要的朋友可以参考下 随着项目越来越多,代码的复用就变得异常重要,这时候就要... -
aar与source.jar,aar文件jar文件区别,以及Android.mk如何引用aar文件和jar文件
2017-11-22 19:35:241,aar与source.jar的区别 原文地址:http://blog.csdn.net/csdn_yudong/article/details/48090535 ...首先,当我们在下载jar包与引入jar包的时候可能会发现,存在jar文件与相应的cources jar文件。如下图所示: -
生成aar文件及引用aar文件
2020-01-03 15:45:19aar不是jar,更不是library。因为jar不能带资源只能带java代码。 1.导出 aar Android Library项目的build.gradle脚本在开头声明 apply plugin: 'com.android.library' 执行./gradlew assembleRelease ~/Desktop/My... -
androidstudio引用aar文件后,运行起来报跟so相关的异常
2019-03-27 15:12:10在这里记录下这个坑吧!...曾经接入一个aar文件,编译时发现so文件不见了!后来检查了下项目里的 gradle.properties 文件 设置为跟aar一样的架构设置即可!换句话说,自己的项目不能跟aar的架构设置不一样! ... -
android studio打包生成aar文件并在其他工程引用aar包
2017-06-16 14:16:23一 aar的含义 ...aar是Android studio下打包android工程中src、res、lib后生成的aar文件,aar包导入其他android studio 工程后,其他工程可以方便引用源码和资源文件。 二 如何生成aar包 -
Android之aar文件
2017-05-08 08:08:42》引用repositories{ flatDir { dirs 'libs' } }dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') testCompile 'junit:junit:4.12' compile 'com.android.support:appcom -
关于Android studio 使用aar 文件中引用了其他aar文件报错的问题
2017-06-05 14:25:15引用第三方库或者是aar文件配置等都配置完成之后还是编译不通过,这时候就需要注意了。 Failed to resolve :项目名 可能原因就是你所引用的第三方库或者是aar文件中还引用了别的 aar,报错中的项目名正是那个aar 的...