我创建了两个Android Studio应用程序。其中一个是aar图书馆。我在第二个应用程序中使用了这个aar库。我使用File-> New-> New Module-> Import AAR / JAR Packages选项添加了aar库。之后,我可以看到我的aar库的反编译源。当我更新aar库时,我将新的aar文件复制并粘贴到我的应用程序项目文件夹中。但这次Android Studio会显示较旧的反编译源。但是成功编译新源代码。如何在Android Studio中更新反编译源?当我导入aar文件时implementation project(':app-debug')
行添加了我的build.gradle
文件。
我正在使用Android Studio 3.0.1
我的解决方案
我可以找到更新本地资源的唯一方法是在更新aar / jar文件后点击使用Gradle文件同步项目按钮。
答案 0 :(得分:38)
我遇到了同样的问题,在我的项目中尝试了各种形式的包括我的本地aar,尝试了每种重建方法,使缓存无效等等,但我仍然遇到问题,我的本地aar中的更改无法在更新libs文件夹中的文件。
唯一对我有用的是:
现在,yourlib.aar中的更改应该可以在您的项目中使用。如果您将此库包含在多个模块中,我猜您必须为每个模块执行此操作。不理想,但我在这个问题上花了至少5个小时,而这些步骤是我看似强迫改变的唯一方法。我猜测从gradle文件中删除库然后同步将强制它在再次添加时获取新库。
答案 1 :(得分:12)
我遇到了同样的问题,并通过以下步骤很快解决了该问题:
这是作为项目中包含的AAR(使用File-> New-> New Module ...-> Import .JAR / .AAR包时的方式)。
答案 2 :(得分:4)
现在您通过project
表示法包含AAR。由于AAR实际上只是一个文件,因此它应该包含在files
符号中。
假设文件夹结构如此:
您可以在app/build.gradle
的依赖项块中包含以下任何行的文件:
// include just my_library
implementation files('libs/my_library.aar')
// include just other_library
implementation files("$rootDir/common/libs/other_library.aar")
// include both libraries
implementation files('libs/my_library.aar', "$rootDir/common/libs/other_library.aar")
顺便说一下,在https://docs.gradle.org/current/dsl/org.gradle.api.artifacts.dsl.DependencyHandler.html有一个相当完整的支持依赖类型列表。
答案 3 :(得分:0)
除了评论/取消评论和重新同步Gradle项目和设置外, 我必须删除整个构建缓存目录。
在Mac上:〜/ .android / build-cache / Windows:不确定此目录的位置。
答案 4 :(得分:0)
通过Windows资源管理器替换.arr文件后。唯一对我有用的是File-> Invalidate caches / Restrt
答案 5 :(得分:-1)
您是否尝试首先在Android Studio上关闭反编译文件的选项卡,更新AAR项目上的versionName,重建AAR,传输,然后看到它更新?
我知道这对我有用。