【发布时间】:2014-01-09 15:50:54
【问题描述】:
我正在尝试构建一个库并使用 gradle 将其动态加载到 Android Studio 中的另一个应用程序中。
我了解如何创建 jar 并将它们转换为 dex 文件进行加载。 但是,当我使用 Gradle 在 Android Studio 中构建库时 - 我没有得到 jar - 我得到了一个 aar 文件 - 我似乎无法将其转换为 dex 或作为 dex 加载。
如何将 aar 转为 dex 文件?
【问题讨论】:
-
拥有一个 AAR 文件(以及一般的 Android 库项目)的目标是随 Java 代码(无论是源代码形式还是编译后的)一起提供资源。您无法将这些资源动态添加到其他正在运行的应用程序中,并且 AAR 中的代码无论如何都无法使用它们。因此,不要使用 Android 库项目。
-
aaaa - 那么如果我想动态地向 Android 应用程序添加功能,我应该将它构建到一个“老式方式”的 jar 中?
-
好吧,恕我直言,您应该通过提前在 JAR/AAR 中编译来“以老式方式”构建您的项目。 IOW,我不喜欢“创建 jars 并将它们转换为 dex 文件进行加载”。话虽如此,我的第一条评论只是指出你试图用 AAR 做的事情不太可能奏效。如果 AAR 没有资源,请改用 JAR。如果 AAR 有资源,您别无选择,只能在编译应用时将其添加到应用中。
-
你找到动态加载aar库文件的方法了吗?