问题标签 [aar]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 是否可以在项目和 .aar 库之间共享自定义主题?
我的项目中有一个自定义主题,其中包含一个具有特定颜色的按钮,我希望我的库的按钮使用这个主题。可能吗?如果是,我该如何继续?
android - 当我使用 gradle 和 proguard 构建我的 android 库时,Java 资源文件丢失
当我进行调试构建时,java资源被打包到jar中没有任何问题。但是,它不适用于发布版本。我注意到 gradle 任务 processReleaseJavaRes 仅针对调试版本执行。我搜索了android gradle代码,发现了以下几行代码:
然后我尝试将任务添加为 proguardRelease 的依赖项:
这很好用,并且 java 资源是在 build/intermediates/javaResources/ 中创建的——但随后出现了下一个问题。我如何告诉 proguard 它应该使用 build/intermediates/classes 中的类构建 jar,并且还包括 build/intermediates/javaResources 中的资源?我尝试使用 -injars 设置 javaResources 路径。现在它们被添加到 proguard(参见下面的日志输出),但没有添加到 build/intermediate/bundles/release/classes.jar 中的 classes.jar。
提前致谢, 罗曼斯基
android - Android studio @aar import 创建不正确的exploded-aar 目录
所以,事情就是这样,我有一个 .aar 文件,当我将它添加为依赖项时,如下所示:
compile('com.foo:bar:1.0.0@aar')
它生成以下文件:
build > intermediates > exploded-aar > com.foo > bar > bar-1.0.0
其中包含 classes.jar、sources 等。
但是,它应该执行以下操作:
build > intermediates > exploded-aar > com.foo > bar > 1.0.0
有人知道为什么我的 aar 没有正确导入吗?
这是一个问题,因为在构建 gradle 时会出现以下错误:
com.android.manifmerger.ManifestMerger2$MergeFailureException: java.io.FileNotFoundException: /build/intermediates/exploded-aar/com.foo/bar/1.0.0/AndroidManifest.xml (No such file or directory)
但是,它在bar-1.0.0
目录中清晰可见。
编辑:更多信息
- 在 5 台机器上测试。全部运行 AS 0.8.9,全新安装,全新克隆。
- JDK 1.6 和 1.7 测试
- --refresh-dependencies 调用以确保已收集任何更改
没有任何效果。
android - 如何在 Android Studio 中创建 Android 自定义视图库?
我创建了一个自定义视图,它为我正在处理的项目扩展了 RelativeLayout。我认为它可能对其他人有用,因此我一直在尝试将其设置为库,以便其他人可以找到并使用它。
我一直无法找到关于如何在 Android Studio 中进行设置的明确答案。
需要明确的是 - 我已经构建了视图并且它工作正常,我只想将它打包为一个库。
我是创建一个新项目并简单地将我的代码放在那里,还是我也需要制作一个新模块?一旦我做了这些事情中的任何一个,我需要更改清单和 gradle 文件的哪些部分?
最后,我是否需要以某种方式从文件中获取 AAR,还是最好将其上传到 GitHub 并让其他人克隆它?
android - Android Gradle:如何将所有构建变体发布到工件
所以我有这个我用不同的构建风格创建的 android 库。build.gradle 看起来像这样:
如何获得“artifactoryPublish”任务来发布所有 3 个构建 aars?
android - 使用 Maven 的 Google Play 服务?
我有点困惑。我想为 Android 安装 Google Play Services 并发现了这个问题:我如何在 maven 项目中使用 google play services?
有一个参考https://github.com/mosabua/maven-android-sdk-deployer/它提供了一个项目来安装很多 mavenized API。所以我下载并构建了它以获得最新的 Google Play Services API 之一,但是当我添加
在我的项目中,我得到了一个“support-v4-19.1.0.jar”作为依赖项,它既不包括任何 Google Play 服务类,也不包括任何随 Google 服务 API 提供的布局文件。例如:当我查看https://developer.android.com/google/play-services/setup.html并阅读 ProGuard 部分时,必须至少有一个名为 SafeParcelable 的类,但这个包含的项目是 Maven甚至没有包含此类的公共包。我想知道这里发生了什么。
项目 play-services-5.0.89.aar 存在于 Maven 存储库中。但是我该如何使用它呢?既然是 aar 之类的,还有什么额外的任务要做吗?
[更新]
好的,这似乎只是一个 Eclipse 问题,因为com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAvailable(getApplicationContext())可以由 Maven 编译,尽管 Eclipse 没有找到它。这意味着 Google Play 服务 API 在项目中工作。
[更新 2] 同时我发现 Eclipse 不支持 aar 。但是我使用了一个小技巧来在 Eclipse 中使用 apklib 和 aar(由 android-maven-plugin 支持)。我解压缩包(在 Maven 存储库中)并将其作为库导入 Eclipse。然后我将库引用添加到主项目的属性中。然后 Eclipse 会找到这些库的类,因此不再有错误的 Eclipse 项目(即使内容辅助也有效),您甚至可以在使用 android-maven-plugin 时通过 Maven 构建它。换句话说:您只需要将 aar 和 apklib 作为库导入 Eclipse,因为代码编写不会有错误的项目。对于构建过程,这一切都无关紧要,因为 Maven 会完成所有的构建处理。
android - Android 库声明可样式化的运行时错误
我在 Maven 中心有一个带有一些小部件的库。当我将该库作为依赖项(来自 maven Central)添加到使用 gradle 的项目时,我得到:
如果我手动下载 .aar 并将其包含在项目中,一切正常。我尝试使用 Android Studio 的代码完成来查看是否包含该库R
。当我使用 maven 依赖项时,键入com.my.pacakge.R
不会返回任何结果,但是当我使用本地 .aar 时,它会返回R
库的。
这是库代码:
android - Android 动态加载模块
我想编写一个可以用模块(android 库)扩展的 android 应用程序。模块应在运行时加载。因此,它们将从 url 下载并存储在目录中。模块是 aar 文件。
有没有办法在运行时动态加载 aar 文件?
我知道可以使用 URLClassLoader 加载包含的 classes.jar。但是我无法加载布局、字符串、...资源。HM
有谁知道如何解决这个问题?
编辑:
我发现了一些相关的主题:
- 动态加载 aar 库
- https://stackoverflow.com/questions/25919338/is-possible-to-include-a-dynamically-aar-file
- 为 Android 应用程序编写插件
- Android应用程序的插件架构?
- 如何开发具有附加组件的应用程序?
- Android - 构建支持附加组件的应用程序
由于第一个链接的答案,它似乎不起作用。我希望我的这种想法是错误的。
android - 从 Android 库模块创建一个 JAR 库
在 Android Studio 中,我制作了一个新的 Android 模块(应用插件:'com.android.library'),其中包含一些 java 类、一个 res 文件夹(包含一些资源)和一个包含一些导出元素的 AndroidManifest.xml 文件,例如一个 BroadcastReceiver,我希望项目合并到他们的 AndroidManifest 中。当我将它导出为 AAR 或将其发布到 maven 存储库时,这个库模块非常有用,其他应用程序可以以任何他们喜欢的方式正确使用它。
我希望这个库可用于使用 Eclipse 作为其开发环境的 android 应用程序,而且似乎仍有一些人仍在使用 Eclipse(可能是出于历史原因)。所以,我的问题是:Eclipse android 应用程序有办法导入 AAR 库吗?如果没有,我应该考虑制作一个 JAR 库吗?在这个 JAR 库中,我应该包含资源吗?清单文件呢?如果我不将它包含在 JAR 中,我是否应该指导用户在使用此 JAR 时修改其清单?
谢谢你的帮助。
android - 与使用其他 aar 包中定义的 Android 属性 (attr) 相关的问题
假设 anattr
在aar
包 ( com.pack1
) 中定义为
在另一个包中(比如com.pack2
依赖于com.pack1
)我定义styleable
为
我有一个自定义com.pack2
视图
我将自定义视图添加到布局中
到这里,当我运行应用程序时一切正常,记录器报告说
但只要我改变styleable
as
并运行我收到错误结果的应用程序。记录器报告说
并且发生了异常
听起来“这是一个测试”的值已被消耗,attr0
尽管该属性未在布局中定义。请注意,应用程序编译正确,但结果错误。
为什么我会收到这个结果?