Advertisement
Guest User

Untitled

a guest
Jun 20th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.10 KB | None | 0 0
  1. - app
  2. > references library1, library2
  3. - library1
  4. - library2
  5. > references library3
  6. - library3
  7.  
  8. dependencies {
  9. implementation project(":library1")
  10. implementation project(":library2")
  11. }
  12.  
  13. dependencies {
  14. //for debug build just use the local project
  15. debugImplementation project(":library1")
  16. debugImplementation project(":library2")
  17. //for release build use manually added aar in libs folder
  18. releaseImplementation (name: 'library1-release', ext: 'aar')
  19. releaseImplementation (name: 'library2-release', ext: 'aar')
  20. //i need to add library3 too otherwise it will not find
  21. //method referenced there because aar are not bundled togheter
  22. //by default
  23. releaseImplementation (name: 'library3-release', ext: 'aar')
  24. }
  25.  
  26. //move from scripts folder to root project folder
  27. cd "$(dirname "$BASH_SOURCE")/../../"
  28. //assembleRelease all the aar (which enables Proguard obfuscation)
  29. ./gradlew clean assembleRelease --info &&
  30. //copy them in the app libs folder
  31. cp -rf library1/build/outputs/aar/library1-release.aar app/libs/library1-release.aar
  32. cp -rf library2/build/outputs/aar/library2-release.aar app/libs/library2-release.aar
  33. cp -rf library3/build/outputs/aar/library3-release.aar app/libs/library3-release.aar
  34.  
  35. applicationVariants.all { variant ->
  36. if (variant.buildType.name == "release") {
  37. variant.preBuildProvider.configure {
  38. dependsOn(buildReleaseAar)
  39. }
  40. }
  41. }
  42.  
  43. task buildReleaseAar {
  44. dependsOn (
  45. ':library1:assembleRelease',
  46. ':library2:assembleRelease',
  47. ':library3:assembleRelease'
  48. )
  49. doLast {
  50. //copy the aars from build folders in app/libs folder
  51. }
  52. }
  53.  
  54. configurations {
  55. releaseObfuscatedAar
  56. }
  57.  
  58. dependencies {
  59. //other implementations libs
  60.  
  61. //for debug build just use the local project
  62. debugImplementation project(":library1")
  63. debugImplementation project(":library2")
  64.  
  65. releaseObfuscatedAar('library1')
  66. releaseObfuscatedAar('library2')
  67. releaseObfuscatedAar('library3')
  68. }
  69.  
  70. //and some other task that build the aar before checking if
  71. //dependency is present
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement