Articles of aar

适用于本机库的Android AAR包

我正在寻找一种方法将本机库打包到AAR包中,因此可以通过gradle脚本中的依赖项声明来使用它。 本机库我指的是.cpp文件集或编译的静态库和一组头文件。 所以,我的意思是应用程序本身将从本机代码而不是Java调用库。 换句话说,库需要编译应用程序的本机代码。 这样就可以轻松管理本机代码的依赖关系。 它甚至可能吗? 到目前为止,我只能find很多关于如何使用.so文件及其Java接口创建JNI本机库的AAR的问题/示例,因此lib只是一个带有本机实现的Java库,但这不是我需要的。

在没有gradle的情况下在IntelliJ IDEA中添加AAR

如何在IDEA中将aar-module添加到项目中(没有gradle,使用ant)?

将权限置于Android .aar库项目的清单中

我正在开发一个包含两个模块的Android项目,其中一个是用于生成.aar文件的库模块,另一个是使用生成的.aar文件的示例应用程序。 因此,此项目中有两个AndroidManifest.xml文件。 假设我正在开发蓝牙库,所以我将蓝牙权限放在库的清单文件中。 通过将此库.aar作为依赖项包含在内,我可以省略应用程序清单文件中的标记吗? 换句话说,Android应用程序“合并”(可能不是字面上但在语义上)依赖.aar库的权限? 我的经验表明,虽然某些权限倾向于如上所述,但其他权限要求在应用程序的AndroidManifest.xml显式声明。 我想知道我的假设是否属实,如果有任何资源或文档清楚地区分那些可以驻留在.aar库的清单中的权限以及那些需要在应用程序自己的清单文件中声明的权限。 谢谢!

Android中的AAR,JAR,DEX,APK之间的差异

在Android系统或开发环境中,AAR,JAR,DEX和APK文件之间有什么区别? 每个人的目的是什么? AFAIK,JAR就像.class文件的集合(就像在Java中一样)。 AAR是JAR文件+资源。 但它的用法是什么? 用于分发Android的开发库? APK似乎类似于.deb或.rpm这样的包。 这是在Android上安装应用程序的唯一方法吗? DEX文件怎么样? 编译应用程序……但是与JAR或AAR文件有什么区别? Moreveor,在为Android分发.so(即本机代码)文件时,最好的方法是什么?

排除发布版本types的资产

我正在使用gradle构建的应用程序中导入一个android库,如下所示: dependencies { compile ‘com.example:great-lib:0.1-SNAPSHOT’ } 此库仅包含要在webview中使用的资源,js,css和图像,其布局如下: assets/ |-> great.css |-> great.min.js |-> great.min.js.map |-> js/ | |-> plop.js | |-> foo.js | … |-> img/ | … js文件夹包含源文件(与源映射一起使用)。 我想将它和.map文件包含在调试版本中,并且在发布版本中只有缩小的js,但是我找不到这样做的方法。 到目前为止,我已经尝试过: android { // this doesn’t exclude anything packageOptions { exclude ‘assets/js’ } buildTypes { release { // this does exclude the js folder, but […]

如何将JAR依赖项包含到AAR库中

概要: 我有一个依赖于JAR文件的AAR文件,当我构建AAR项目时,它不包含JAR代码。 细节: 我有一个Java SDK库项目,其中包含我们用于Java Web项目的代码,这样,该库是使用Gradle创建的,并驻留在内部nexus服务器(作为JAR)中。 目标是通过多个Android应用程序可以使用的AAR库提供此JAR库的“Android配置”版本,并最大限度地减少实现它的工作量(和样板代码)。 此AAR文件也会上载到nexus服务器以供Android应用程序项目使用。 我的AAR项目包括我的Java SDK库(JAR)的gradle依赖项,但是在构建时,AAR不包含任何类。 码: 这是Java SDK项目的gradle文件: apply plugin: ‘java’ //noinspection GroovyUnusedAssignment sourceCompatibility = 1.7 version = ‘1.1.1’ repositories { mavenCentral() } jar { from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } } dependencies { testCompile group: ‘junit’, name: ‘junit’, version: ‘4.11’ testCompile ‘org.apache.directory.studio:org.apache.commons.io:2.4’ compile ‘org.springframework:spring-web:3.1.1.RELEASE’ […]

在AAR文件java.lang.NoClassDefFoundError中找不到活动类

我创建了一个安卓库,它包含一个用于打开相机意图的活动类,该库可以完美地用于调用活动显示在屏幕上的部分,并且应用程序崩溃时会抛出以下错误 Suppressed: java.lang.ClassNotFoundException: com.me.scanner.ScannerViewActivity at java.lang.Class.classForName(Native Method) at java.lang.BootClassLoader.findClass(ClassLoader.java:781) at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) at java.lang.ClassLoader.loadClass(ClassLoader.java:504) … 14 more Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available 以下是我将使用此库的其他项目的build.gradle文件 repositories { flatDir { dirs ‘libs’ } } dependencies { compile fileTree(dir: ‘libs’, include: [‘*.jar’]) androidTestCompile(‘com.android.support.test.espresso:espresso-core:2.2.2’, { exclude group: ‘com.android.support’, module: ‘support-annotations’ }) […]

修改Android .aar文件的内容/转换为.zip格式

所以我有一个.aar文件,它有一个我需要从里面删除的文件。 我在mac上运行并将扩展名从.aar更改为.zip并解压缩了zip文件。 然后我从文件夹中删除了文件,将其重新压缩为.zip,然后尝试将扩展名从.zip更改回.aar。 问题是现在修改的.aar不被识别为.aar文件。 它仍然被注册为.zip,我不能再在我的项目中使用它了。 所以我的问题有两个: 1)如何轻松修改.aar文件的内容; 2)如何正确转换为.aar和.zip?

Eclipse ANT项目中的AAR

有没有办法在eclipseant项目中使用.aar库(带资源)? 我知道没有简单的方法可以像gradle那样使用.aar格式,但也许有一些解决方法可以解压缩并手动导入它?

如何在我的Android库(AAR)中包含proguard配置

根据AAR文件规范 ,Android库包含’proguard.txt’文件。 我的理解是这个文件声明了如何正确地对库进行模糊处理和缩小。 在我的情况下,我需要保留一些API类。 如何在库的build.gradle中声明库的proguard.txt文件? 在创建使用我的库的应用程序(APK)时,是否会自动读取此文件? 我没有在Android的Gradle插件用户指南中find此信息。