{"id":9243761,"url":"https://github.com/kezong/fat-aar-android","last_synced_at":"2026-01-11T18:00:35.575Z","repository":{"id":39223199,"uuid":"162435253","full_name":"kezong/fat-aar-android","owner":"kezong","description":"A gradle plugin that merge dependencies into the final aar file works with AGP 3.+","archived":false,"fork":false,"pushed_at":"2024-07-25T12:51:00.000Z","size":7241,"stargazers_count":3251,"open_issues_count":166,"forks_count":670,"subscribers_count":54,"default_branch":"master","last_synced_at":"2025-08-17T08:41:29.914Z","etag":null,"topics":["aar","android","fat-aar","fataar","gradle-plugin","merge-aar"],"latest_commit_sha":null,"homepage":"","language":"Groovy","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kezong.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-12-19T12:36:38.000Z","updated_at":"2025-08-16T03:21:02.000Z","dependencies_parsed_at":"2024-12-17T11:41:29.158Z","dependency_job_id":null,"html_url":"https://github.com/kezong/fat-aar-android","commit_stats":null,"previous_names":[],"tags_count":31,"template":false,"template_full_name":null,"purl":"pkg:github/kezong/fat-aar-android","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kezong%2Ffat-aar-android","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kezong%2Ffat-aar-android/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kezong%2Ffat-aar-android/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kezong%2Ffat-aar-android/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kezong","download_url":"https://codeload.github.com/kezong/fat-aar-android/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kezong%2Ffat-aar-android/sbom","scorecard":{"id":558130,"data":{"date":"2025-08-11","repo":{"name":"github.com/kezong/fat-aar-android","commit":"513d8d1c6619e80f68f9456af01652f5a395332a"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.8,"checks":[{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":3,"reason":"Found 7/20 approved changesets -- score normalized to 3","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":5,"reason":"binaries present in source code","details":["Warn: binary detected: example/gradle/wrapper/gradle-wrapper.jar:1","Warn: binary detected: example/lib-aar/libs/lib1.jar:1","Warn: binary detected: example/lib-aar/src/main/jniLibs/armeabi-v7a/libgnustl_shared.so:1","Warn: binary detected: example/lib-aar2/libs/lib2.jar:1","Warn: binary detected: source/gradle/wrapper/gradle-wrapper.jar:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 17 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-20T12:53:17.470Z","repository_id":39223199,"created_at":"2025-08-20T12:53:17.470Z","updated_at":"2025-08-20T12:53:17.470Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28316889,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-11T14:58:17.114Z","status":"ssl_error","status_checked_at":"2026-01-11T14:55:53.580Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aar","android","fat-aar","fataar","gradle-plugin","merge-aar"],"created_at":"2024-05-08T00:11:09.944Z","updated_at":"2026-01-11T18:00:35.513Z","avatar_url":"https://github.com/kezong.png","language":"Groovy","funding_links":[],"categories":["[Groovy](#groovy)","Groovy"],"sub_categories":[],"readme":"# fat-aar-android\n\n[![license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/kezong/fat-aar-android/blob/master/LICENSE)\n[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.github.kezong/fat-aar/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.github.kezong/fat-aar)\n\n- [中文文档](./README_CN.md)\n\n\u003e**I am no longer engaged in research and development, so the project will not be updated and maintained.\u003cbr\u003e**\n\u003e**You can try to use the following steps to reference the remote plugin. If it doesn't work on the new version of gradle, you can fork or download this project to modify it, the code of this project is not very complex.**\n\u003e\n\u003e**P.S. Hope Google can support this damn feature as soon as possible.**\n\nThe solution of merging aar works with [AGP][3] `3.0` and higher. (Tested in AGP 3.0 - 7.1.0, and Gradle 4.9 - 7.3)\n## Getting Started\n\n### Step 1: Add classpath\n#### Add snippet below to your root build script file:\nFor Maven Central (The lastest release is available on [Maven Central](https://maven-badges.herokuapp.com/maven-central/com.github.kezong/fat-aar)):\n```groovy\nbuildscript {\n    repositories {\n        mavenCentral()\n    }\n    dependencies {\n        classpath 'com.github.kezong:fat-aar:1.3.8'\n    }\n}\n```\n\n### Step 2: Add plugin\nAdd snippet below to the `build.gradle` of your main android library:\n```groovy\napply plugin: 'com.kezong.fat-aar'\n```\n\n### Step 3: Embed dependencies\n\nDeclare `embed` for the dependencies you want to merge in `build.gradle`. \n\nThe usage is similar to `implementation`, like this:\n\n```groovy\ndependencies {\n    implementation fileTree(dir: 'libs', include: '*.jar')\n    // java dependency\n    embed project(path: ':lib-java', configuration: 'default')\n    // aar dependency\n    embed project(path: ':lib-aar', configuration: 'default')\n    // aar dependency\n    embed project(path: ':lib-aar2', configuration: 'default')\n    // local full aar dependency, just build in flavor1\n    flavor1Embed project(path: ':lib-aar-local', configuration: 'default')\n    // local full aar dependency, just build in debug\n    debugEmbed(name: 'lib-aar-local2', ext: 'aar')\n    // remote jar dependency\n    embed 'com.google.guava:guava:20.0'\n    // remote aar dependency\n    embed 'com.facebook.fresco:fresco:1.12.0'\n    // don't want to embed in\n    implementation('androidx.appcompat:appcompat:1.2.0')\n}\n```\n\n### Transitive\n\n#### Local Dependency\nIf you want to include local transitive dependencies in final artifact, you must add `embed` for transitive dependencies in your main library. \n\nFor example, mainLib depend on subLib1, subLib1 depend on subLib2, If you want include all dependencies in the final artifact, you must add `embed` for subLib1 and subLib2 in mainLib `build.gradle`\n\n#### Remote Dependency\nIf you want to inlcude all of the remote transitive dependencies which are in POM file, you need change the `transitive` value to true in your `build.gradle`, like this:\n```groovy\nfataar {\n    /**\n     * If transitive is true, local jar module and remote library's dependencies will be embed. (local aar module does not support)\n     * If transitive is false, just embed first level dependency\n     * Default value is false\n     * @since 1.3.0\n     */\n    transitive = true\n}\n```\nIf you change the transitive value to true,and want to ignore a dependency in its POM file, you can add exclude keywords, like this:\n```groovy\nembed('com.facebook.fresco:fresco:1.11.0') {\n    // exclude all dependencies\n    transitive = false\n    // exclude any group or module\n    exclude(group:'com.facebook.soloader', module:'soloader')\n}\n```\n\n**More usage see [example](./example).**\n\n## About AAR File\n\nAAR is a file format for android library.\nThe file itself is a zip file that containing useful stuff in android.\nSee [anatomy of an aar file here][2].\n\n**support list for now:**\n\n- [x] Flavors\n- [x] AndroidManifest merge\n- [x] Classes merge \n- [x] Jar merge\n- [x] Res merge\n- [x] Assets merge\n- [x] Jni libs merge\n- [x] R.txt merge\n- [x] R.class merge\n- [x] DataBinding merge\n- [x] Proguard merge\n- [x] Kotlin module merge\n\n\n## Gradle Version Support\n| Version | Gradle Plugin | Gradle |\n| :--------: | :--------:|:-------:|\n| 1.0.1 | 3.1.0 - 3.2.1 | 4.4 - 6.0 |\n| 1.1.6 | 3.1.0 - 3.4.1 | 4.4 - 6.0 |\n| 1.1.10| 3.0.0 - 3.4.1 | 4.1 - 6.0 |\n| 1.2.6 | 3.0.0 - 3.5.0 | 4.1 - 6.0 |\n| 1.2.8 | 3.0.0 - 3.5.9 | 4.1 - 6.8 |\n| 1.2.11 - 1.2.14 | 3.0.0 - 3.6.9 | 4.1 - 6.8 |\n| 1.2.15 - 1.2.16 | 3.0.0 - 4.0.2 | 4.1 - 6.8 |\n| 1.2.17 | 3.0.0 - 4.0.2 | 4.9 - 6.8 |\n| 1.2.18+ | 3.0.0 - 4.1.0 | 4.9 - 6.8 |\n| 1.3.+ | 3.0.0 - 4.1.0 | 4.9 - 6.8 |\n| 1.3.4 - 1.3.5 | 3.0.0 - 4.1.0 | 4.9+ |\n| 1.3.6 | 3.0.0 - 4.2.0 | 4.9+ |\n| 1.3.8 | 3.0.0+ | 4.9+ |\n\nThe following link which version of Gradle is required for each version of the Android Gradle plugin. For the best performance, you should use the latest possible version of both Gradle and the plugin.\n\n[Plugin version and Required Gradle version](https://developer.android.google.cn/studio/releases/gradle-plugin.html)\n\n## Version Log\n- [1.3.8](\u003chttps://github.com/kezong/fat-aar-android/releases/tag/v1.3.8\u003e)\n  - Fix the issue that plugin cannot be used in jdk 1.8 [#371](https://github.com/kezong/fat-aar-android/issues/371)\n- [1.3.7](\u003chttps://github.com/kezong/fat-aar-android/releases/tag/v1.3.7\u003e)\n  - Fix productFlavor detection in embed submodules [#348](https://github.com/kezong/fat-aar-android/issues/348)\n  - Support missingDimensionStrategy without productFlavors in current project. [#343](https://github.com/kezong/fat-aar-android/issues/343)\n- [1.3.6](\u003chttps://github.com/kezong/fat-aar-android/releases/tag/v1.3.6\u003e)\n  - Support AGP 4.2.0 [#290](https://github.com/kezong/fat-aar-android/issues/290) [#304](https://github.com/kezong/fat-aar-android/issues/304)\n  - Copy 'navigation' along with other R.$ classes. [#296](https://github.com/kezong/fat-aar-android/issues/296)\n- [1.3.5](\u003chttps://github.com/kezong/fat-aar-android/releases/tag/v1.3.5\u003e)\n  - Fix the bug that jar cannot be merged in some case. [#255](https://github.com/kezong/fat-aar-android/issues/255) [#288](https://github.com/kezong/fat-aar-android/issues/288)\n  - Fix build error when use gradle 6.0-6.8. [#277](https://github.com/kezong/fat-aar-android/issues/277)\n- [1.3.4](\u003chttps://github.com/kezong/fat-aar-android/releases/tag/v1.3.4\u003e)\n  - Support Gradle 6.8 [#274](https://github.com/kezong/fat-aar-android/issues/274)\n- [1.3.3](\u003chttps://github.com/kezong/fat-aar-android/releases/tag/v1.3.3\u003e)\n  - Fix bug that \"Can not find task bundleDebugAar\". [#84](https://github.com/kezong/fat-aar-android/issues/84)\n  - Fix bug that crash when module can not resolve.\n  - Throw a runtime exception when manifest merge fail.\n- [1.3.1](\u003chttps://github.com/kezong/fat-aar-android/releases/tag/v1.3.1\u003e)\n  - Implement bytecode patching to process R class\n  - Support merge consumerProguardFiles\n  - Support merge *.kotlin_module, support kotlin top-level\n  - Support flavor missingDimensionStrategy\n  - Fix build error when flavor artifact renamed\n  - Fix Jar merge error when use AGP 3.0 - 3.1\n  - Fix AGP version not found in some cases\n- [1.2.20](\u003chttps://github.com/kezong/fat-aar-android/releases/tag/v1.2.20\u003e)\n  - Fix error that getName() in a null object. [#214](https://github.com/kezong/fat-aar-android/issues/214)\n  - Rename r-classes.jar with applicationId.\n- [1.2.19](\u003chttps://github.com/kezong/fat-aar-android/releases/tag/v1.2.19\u003e)\n  - Support embed aar that has no classes.jar [#157](https://github.com/kezong/fat-aar-android/issues/158)\n  - Support embed aar that has no AndroidManifest.xml [#206](https://github.com/kezong/fat-aar-android/issues/206)\n  - Fix bug that R.class not embed when publish to maven [#200](https://github.com/kezong/fat-aar-android/issues/200)\n- [1.2.18](\u003chttps://github.com/kezong/fat-aar-android/releases/tag/v1.2.18\u003e)\n  - Adapt gradle plugin 4.1.0 [#201](https://github.com/kezong/fat-aar-android/issues/201)\n- [1.2.17](\u003chttps://github.com/kezong/fat-aar-android/releases/tag/v1.2.17\u003e)\n  - Support databing merge [#25](https://github.com/kezong/fat-aar-android/issues/25) [#67](https://github.com/kezong/fat-aar-android/issues/67) [#142](https://github.com/kezong/fat-aar-android/issues/142)\n  - Use Gradle's configuration avoidance APIs [#195](https://github.com/kezong/fat-aar-android/issues/195)\n  - Support incremental build [#199](https://github.com/kezong/fat-aar-android/issues/199) [#185](https://github.com/kezong/fat-aar-android/issues/185)\n  - Fix wrong directory for aar's jar libs [#154](https://github.com/kezong/fat-aar-android/issues/154)\n- [1.2.16](\u003chttps://github.com/kezong/fat-aar-android/releases/tag/v1.2.16\u003e)\n  - Search for android build plugin version in full classpath [#172](https://github.com/kezong/fat-aar-android/issues/172)\n  - Fixed a bug where resources might not be found when build in gradle version 4.0 [#163](https://github.com/kezong/fat-aar-android/issues/163)\n- [1.2.15](\u003chttps://github.com/kezong/fat-aar-android/releases/tag/v1.2.15\u003e)\n  - adapt gradle plugin 4.0.0 [#147](https://github.com/kezong/fat-aar-android/issues/147)\n  - support that the module can be indexed in AS 4.0.0 [#148](https://github.com/kezong/fat-aar-android/issues/148)\n  - fix lint error [#152](https://github.com/kezong/fat-aar-android/issues/152)\n- [1.2.12](\u003chttps://github.com/kezong/fat-aar-android/releases/tag/v1.2.12\u003e)\n  - Added support for specific build type and product flavor dependencies, like debugEmbed or flavorEmbed. [#135](https://github.com/kezong/fat-aar-android/issues/135) [#137](https://github.com/kezong/fat-aar-android/issues/137)\n  - Fix some build warning\n- [1.2.11](\u003chttps://github.com/kezong/fat-aar-android/releases/tag/v1.2.11\u003e)\n  - Fix build variants error in gradle plugin 3.6.+ [#126](https://github.com/kezong/fat-aar-android/issues/126)\n  - Fix bug that remote recources symbol can not found in R.class when build with gradle plugin 3.6.0+\n- [1.2.9](\u003chttps://github.com/kezong/fat-aar-android/releases/tag/v1.2.9\u003e)\n  - adapt gradle plugin 3.6.1 [#120](https://github.com/kezong/fat-aar-android/issues/120)\n- [1.2.8](\u003chttps://github.com/kezong/fat-aar-android/releases/tag/v1.2.8\u003e)\n  - adapt gradle 6.0.0+ [#97](https://github.com/kezong/fat-aar-android/issues/97)\n- [1.2.7](\u003chttps://github.com/kezong/fat-aar-android/releases/tag/v1.2.7\u003e)\n  - Fix manifest merge bug in gradle 3.5.0 [#62](https://github.com/kezong/fat-aar-android/issues/62) [#65](https://github.com/kezong/fat-aar-android/issues/65)\n- [1.2.6](\u003chttps://github.com/kezong/fat-aar-android/releases/tag/v1.2.6\u003e)\n  - Adapt gradle plugin 3.5.0 [#53](https://github.com/kezong/fat-aar-android/issues/53) [#58](https://github.com/kezong/fat-aar-android/issues/58)\n- [1.2.5](\u003chttps://github.com/kezong/fat-aar-android/releases/tag/v1.2.5\u003e)\n  - Fix task name repeat error [#48](https://github.com/kezong/fat-aar-android/issues/48)\n  - If minifyEnabled, jar files would build into classes.jar\n- [1.2.4](\u003chttps://github.com/kezong/fat-aar-android/releases/tag/v1.2.4\u003e)\n  - Fix jni and assets can't embed in windows platform [#37](https://github.com/kezong/fat-aar-android/issues/37)\n- [1.2.3](\u003chttps://github.com/kezong/fat-aar-android/releases/tag/v1.2.3\u003e)\n  - Fix the problem that non-dependency R cannot be found [#11](https://github.com/kezong/fat-aar-android/issues/11) [#35](https://github.com/kezong/fat-aar-android/issues/35)\n  - No longer need to add `compileOnly` for dependencies\n  - Default value of transitive change to false\n- [1.1.11](\u003chttps://github.com/kezong/fat-aar-android/releases/tag/v1.1.11\u003e)\n  - Fixed a problem where gradle plugin version might have misjudged [#28](https://github.com/kezong/fat-aar-android/issues/28)\n  - Fixed LibraryManifestMerger.java build warning [#29](https://github.com/kezong/fat-aar-android/issues/29)\n  - Optimize the merging rules of resource、assets、jni... [#27](https://github.com/kezong/fat-aar-android/issues/27)\n- [1.1.10](\u003chttps://github.com/kezong/fat-aar-android/releases/tag/v1.1.10\u003e)\n  - Fixed jar merge bug when using gradle plugin 3.0.1 [#24](https://github.com/kezong/fat-aar-android/issues/24)\n  - Fixed rebuild(./gradlew clean assemble) error [#24](https://github.com/kezong/fat-aar-android/issues/24)\n- [1.1.8](\u003chttps://github.com/kezong/fat-aar-android/releases/tag/v1.1.8\u003e)\n  - Adapt new interface to avoid the warning [#10](https://github.com/kezong/fat-aar-android/issues/10)\n  - Optimize AndroidManifest merge rules [#21](https://github.com/kezong/fat-aar-android/issues/21) [#23](https://github.com/kezong/fat-aar-android/issues/23)\n- [1.1.7](\u003chttps://github.com/kezong/fat-aar-android/releases/tag/v1.1.7\u003e)\n  - Support embed R file when upload maven [#7](https://github.com/kezong/fat-aar-android/issues/7)\n- [1.1.6](\u003chttps://github.com/kezong/fat-aar-android/releases/tag/v1.1.6\u003e)\n  - Adapt gradle plugin 3.3.0, 3.4.0, 3.4.1. [#4](https://github.com/kezong/fat-aar-android/issues/4) [#9](https://github.com/kezong/fat-aar-android/issues/9)\n  - Adapt gradle 4.10.1, 5.0, 5.1, 5.1.1... [#8](https://github.com/kezong/fat-aar-android/issues/8)\n  - Support sub-module's Flavor\n  - Fix the problem that the class update of the sub-module is not timely\n- [1.0.3](\u003chttps://github.com/kezong/fat-aar-android/releases/tag/v1.0.3\u003e)\n  - Fix assets merge\n- [1.0.1](\u003chttps://github.com/kezong/fat-aar-android/releases/tag/v1.0.1\u003e)\n  - Support gradle plugin 3.1.0 - 3.2.1\n  - Support R class file merge\n\n## Known Defects or Issues\n- **Application cannot directly rely on embedded project：** application cannot directly rely on your embedded project. It must rely on the AAR file compiled by your embedded project\n  - For debugging convenience, you can use `embed` in the main library project when you choose to package aar. When you need to run the app directly, you can use `implementation` or `api`\n\n- **Res merge conflicts.** If the library res folder and embedded dependencies res have the same res Id(mostly `string/app_name`). A duplicate resources build exception will be thrown. To avoid res conflicts:\n  - consider using a prefix to each res Id, both in library res and aar dependencies if possible. \n  - Adding `android.disableResourceValidation=true` to `gradle.properties` can do a trick to skip the exception.\n  \n- **Proguard**\n  - If `minifyEnabled` is set to true, classes not referenced in the project will be filtered according to Proguard rules during compile, resulting in ClassNotFound during app compile.\n   Most AAR is SDK that provide interfaces. It is recommended that you carefully comb Proguard files and add keep rules.\n\n## Thanks\n\n- [android-fat-aar][1]\n- [fat-aar-plugin][4]\n\n[1]: https://github.com/adwiv/android-fat-aar\n[2]: https://developer.android.com/studio/projects/android-library.html#aar-contents\n[3]: https://developer.android.com/studio/releases/gradle-plugin.html\n[4]: https://github.com/Vigi0303/fat-aar-plugin\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkezong%2Ffat-aar-android","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkezong%2Ffat-aar-android","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkezong%2Ffat-aar-android/lists"}