how update local aar package sources

那年仲夏 提交于 2019-12-03 08:21:36

问题


I created two Android Studio applications. One of them is aar library. I used this aar library in second application. I added aar library by using File->New->New Module->Import AAR/JAR Packages option. after that I can see decompiled sources of my aar library. When I update aar library I copy and paste new aar file to my application project folder. But this time Android Studio shows older decompiled sources. But compile new source successfully. How can I update decompiled sources in Android Studio ? when I import aar file implementation project(':app-debug') line was added my build.gradle file.

I am using Android Studio 3.0.1

my solution

the only way I can find to update local sources is clicking Sync Project with Gradle Files button after updating aar/jar file.


回答1:


I was having the same issue, had tried every form of including my local aar in my project, tried every method of rebuilding, invalidating caches etc, but I was still having the problem where changes in my local aar were not available after updating the file in the libs folder.

The only thing that worked for me was this:

  1. Comment out the implementation files('../libs/yourlib.aar') line in gradle
  2. Sync gradle
  3. Update yourlib.aar in the libs folder
  4. Uncomment the implementation files('../libs/yourlib.aar') line in gradle
  5. Sync again
  6. Build project

Now the changes in yourlib.aar should be available in your project. If you have this lib included in multiple modules I am guessing you'll have to do it for each module. Not ideal, but I spent at least 5 hours on this issue and these steps were the only way I could seemingly force the changes. I am guessing that removing the library from the gradle file and then syncing will force it to pick up the new one when it is added again.




回答2:


I had the same issue and solved it very quickly doing the following:

  • Look in your project /.idea/libraries/ folder for Gradle__artifacts_[subproject].xml
  • Delete this file
  • In Android Studio, go to File->Sync Project with Gradle Files

This is for an AAR included as a project (which is how it is included when you use File->New->New Module...->Import .JAR/.AAR Package).




回答3:


Right now you're including the AAR through a project notation. Since an AAR is literally just a file, it should be included with the files notation instead.

Assuming a folder structure like so:

You could include the files with any of the following lines in the dependencies block of 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")

By the way, there's a reasonably complete list of supported dependency types at https://docs.gradle.org/current/dsl/org.gradle.api.artifacts.dsl.DependencyHandler.html .




回答4:


After replacing .arr file through Windows explorer. The only thing that worked for me is File -> Invalidate caches / Restrt




回答5:


In addition to Commenting/Uncommenting & Re-sync Gradle project and settings, I had to delete the entire build-cache directory.

On Mac: ~/.android/build-cache/ Windows: Unsure of where this directory location is.




回答6:


Have you tried closing the tab of your decompiled file on Android Studio first, update the versionName on the AAR project, rebuild AAR, transfer, and then see it gets updated?

I know it works for me.



来源:https://stackoverflow.com/questions/47555657/how-update-local-aar-package-sources

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!