Targeted ProGuard / R8 rules in JAR/AARs

Allows library creators to specify rules that
target ProGuard or R8, and also to specify which
versions the rules apply to.

If the plugin finds META-INF/com.android.tools/,
it ignores the legacy proguard.txt (AAR) or
META-INF/proguard/ (JAR) rules. Instead, it
reads files from the new location from dirs
named like so: proguard/, r8/,
proguard-min-x.y.z/, r8-min-x.y.z-max-a.b.c/ etc

Bug: b/135672715
Test: added unit and integration tests

Change-Id: I5a6f2177657438297d636b655dc25081ce2d87db
28 files changed
tree: a0d2dfeda8e3d3cbc085e8e9f53297fd524617fe
  1. .gitignore
  2. .idea/
  3. BUILD.bazel
  4. PREUPLOAD.cfg
  5. README.md
  6. adt.iml
  7. annotations/
  8. apkparser/
  9. apps/
  10. aspects_agent/
  11. bazel/
  12. build-system/
  13. build.gradle
  14. changes.txt
  15. chunkio-processor/
  16. chunkio/
  17. common/
  18. contributing.md
  19. ddmlib/
  20. debug/
  21. deploy/
  22. device_validator/
  23. devicelib/
  24. draw9patch/
  25. dynamic-layout-inspector/
  26. echo-sample/
  27. external-annotations/
  28. fakeadbserver/
  29. fakeandroid/
  30. files/
  31. flags/
  32. jaxb-inheritance-plugin/
  33. jobb/
  34. layoutinspector/
  35. layoutlib-api/
  36. legacy/
  37. lint/
  38. misc/
  39. navbar.md
  40. ninepatch/
  41. perf-logger/
  42. perflib/
  43. pixelprobe/
  44. profiler/
  45. repository/
  46. sdk-common/
  47. sdklib/
  48. signflinger/
  49. source.md
  50. studio.md
  51. templates/
  52. testing-infrastructure/
  53. testutils/
  54. third_party/
  55. tracer/
  56. transport/
  57. usb-devices/
  58. vector-drawable-tool/
  59. zipflinger/
README.md

tools/base

This project contains:

  • Common libraries that are shared between any of the IDE (Android Studio), the build system (The Android Gradle Plugin) and SDK components that will be released from studio-master-dev (e.g. the standalone SDK manager). This includes:
    • Instant-run-libraries
    • SDK management libraries
    • The manifest merger
    • Common libraries
    • Common test utilites
  • The build system
  • The new profiler