How to repack AAR for Android gradle manifest merge?

There is a huge problem with Samsung 4.2.2 devices using android.support.v7.appcompat v21:

https://code.google.com/p/android/issues/detail?id=78377

To avoid this problem, I decided that I would take vcom appcompat aar from .m2repository and:

  • Unzip appcompat-v7-21.0.0.aar
  • Use jarjar to handle .jar classes with a rule (rule android.support. ** android.support. @ 1)
  • Replace .jar classes with repackaged .jar classes
  • Zip appcompat-v7.21.0.0.aar
  • Include the repackaged aar manually in my build.gradle (compilation (name: 'appcompat-v7-21.0.0', ext: 'aar') using the flatDir folder of my libs library in the build.gradle repositories section).

The problem is compiling with repackaged aar, I get a FileNotFoundException from the merge manifest. So, I am trying to determine if what I am doing is possible and what my mistake is, if possible.

Here is the error I get:

Error: execution completed for task ': app: processDebugManifest'.

com.android.manifmerger.ManifestMerger2 $ MergeFailureException: java.io.FileNotFoundException: app / build / intermediates / exploded-aar / appcompat-v7-21.0.0 / AndroidManifest.xml (There is no such file or directory)

EDIT:

When I look in the path app / build / intermediates / exploded-aar / appcompat-v7-21.0.0 / AndroidManifest.xml is definitely present.

+4
source share

All Articles