如何更新本地aar包源

use*_*345 26 android android-studio aar

我创建了两个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文件后,我可以找到更新本地源的唯一方法是单击Sync Project with Gradle Files按钮.

Sha*_*nko 44

我遇到了同样的问题,尝试了在我的项目中包含我的本地aar的各种形式,尝试了每种重建方法,使缓存无效等,但我仍然遇到更新文件后我的本地aar中的更改无法使用的问题在libs文件夹中.

唯一对我有用的是:

  1. 在gradle中注释掉实现文件('../ libs/yourlib.aar')
  2. 同步gradle
  3. 更新libs文件夹中的yourlib.aar
  4. 取消注释gradle中的实现文件('../ libs/yourlib.aar')行
  5. 再次同步
  6. 建立项目

现在,yourlib.aar中的更改应该在您的项目中可用.如果你有这个lib包含在多个模块中,我猜你必须为每个模块做这个.不理想,但我在这个问题上花了至少5个小时,而这些步骤是我看似强迫改变的唯一方法.我猜测从gradle文件中删除库然后同步会强制它在再次添加时获取新库.

  • 使缓存失效碰巧对我有用,以防万一这也可以帮助其他人。 (2认同)

小智 16

我遇到了同样的问题并且很快解决了以下问题:

  • 在项目/.idea/libraries/文件夹中查找Gradle__artifacts_ [subproject] .xml
  • 删除此文件
  • 在Android Studio中,转到文件 - >使用Gradle文件同步项目

这是作为项目包含的AAR(当您使用File-> New-> New Module ...-> Import .JAR/.AAR Package时,它是如何包含的).

  • 谢谢你的回答,这节省了我的一天。 (2认同)

Cli*_*ach 5

现在,您通过project符号包括了AAR 。由于AAR实际上只是一个文件,因此应将其包含在files符号中。

假设这样的文件夹结构:

新的Android Studio 3项目的文件夹目录的屏幕快照

您可以在以下项的依赖关系块中包含以下任何行的文件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")
Run Code Online (Sandbox Code Playgroud)

顺便说一句,在https://docs.gradle.org/current/dsl/org.gradle.api.artifacts.dsl.DependencyHandler.html上有一个相当完整的受支持依赖项类型列表。