{"id":17551529,"url":"https://github.com/amirisback/automated-build-android-app-with-github-action","last_synced_at":"2025-04-12T20:45:38.202Z","repository":{"id":38787812,"uuid":"458058908","full_name":"amirisback/automated-build-android-app-with-github-action","owner":"amirisback","description":"CI/CD Automated Build Android App Bundle / APK With Github Action","archived":false,"fork":false,"pushed_at":"2024-11-16T04:30:17.000Z","size":35408,"stargazers_count":247,"open_issues_count":1,"forks_count":49,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-04T01:02:39.276Z","etag":null,"topics":["actions","android","android-ci","android-ci-cd","build-tool","ci-cd","github","github-action","github-actions"],"latest_commit_sha":null,"homepage":"https://amirisback.github.io/automated-build-android-app-with-github-action/","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/amirisback.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"amirisback","patreon":null,"open_collective":null,"ko_fi":"amirisback","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":"https://saweria.co/amirisback"}},"created_at":"2022-02-11T05:35:00.000Z","updated_at":"2025-03-31T03:13:23.000Z","dependencies_parsed_at":"2024-12-25T14:12:32.400Z","dependency_job_id":null,"html_url":"https://github.com/amirisback/automated-build-android-app-with-github-action","commit_stats":{"total_commits":107,"total_committers":2,"mean_commits":53.5,"dds":0.009345794392523366,"last_synced_commit":"2e301ce81d57acf2add627d0f02b61289b34642c"},"previous_names":[],"tags_count":10,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amirisback%2Fautomated-build-android-app-with-github-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amirisback%2Fautomated-build-android-app-with-github-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amirisback%2Fautomated-build-android-app-with-github-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amirisback%2Fautomated-build-android-app-with-github-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amirisback","download_url":"https://codeload.github.com/amirisback/automated-build-android-app-with-github-action/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248631687,"owners_count":21136556,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["actions","android","android-ci","android-ci-cd","build-tool","ci-cd","github","github-action","github-actions"],"created_at":"2024-10-21T04:46:30.927Z","updated_at":"2025-04-12T20:45:38.178Z","avatar_url":"https://github.com/amirisback.png","language":"Kotlin","funding_links":["https://github.com/sponsors/amirisback","https://ko-fi.com/amirisback","https://saweria.co/amirisback"],"categories":[],"sub_categories":[],"readme":"\u003c!-- \u003cp align=\"center\"\u003e --\u003e\n\u003c!-- Run --\u003e\n\u003c!-- \u003cimg width=\"330px\" height=\"200px\" src=\"https://raw.githubusercontent.com/amirisback/amirisback/master/docs/image/bear-panda/couple/bear-panda-run.gif\"\u003e --\u003e\n\u003c!-- \u003c/p\u003e --\u003e\n\n\n## Automated Build Android Using Github Action\n[![Android CI](https://github.com/amirisback/automated-build-android-app-with-github-action/actions/workflows/android-ci.yml/badge.svg)](https://github.com/amirisback/automated-build-android-app-with-github-action/actions/workflows/android-ci.yml)\n[![Download Generated APK AAB](https://github.com/amirisback/automated-build-android-app-with-github-action/actions/workflows/android-ci-generate-apk-aab-download.yml/badge.svg)](https://github.com/amirisback/automated-build-android-app-with-github-action/actions/workflows/android-ci-generate-apk-aab-download.yml)\n[![Upload Generated APK AAB](https://github.com/amirisback/automated-build-android-app-with-github-action/actions/workflows/android-ci-generate-apk-aab-upload.yml/badge.svg)](https://github.com/amirisback/automated-build-android-app-with-github-action/actions/workflows/android-ci-generate-apk-aab-upload.yml)\n[![Scan with Detekt](https://github.com/amirisback/automated-build-android-app-with-github-action/actions/workflows/detekt-analysis.yml/badge.svg)](https://github.com/amirisback/automated-build-android-app-with-github-action/actions/workflows/detekt-analysis.yml)\n[![pages-build-deployment](https://github.com/amirisback/automated-build-android-app-with-github-action/actions/workflows/pages/pages-build-deployment/badge.svg)](https://github.com/amirisback/automated-build-android-app-with-github-action/actions/workflows/pages/pages-build-deployment)\n[![Generated APK AAB (Clean)](https://github.com/amirisback/automated-build-android-app-with-github-action/actions/workflows/android-ci-generate-apk-aab-clean.yml/badge.svg)](https://github.com/amirisback/automated-build-android-app-with-github-action/actions/workflows/android-ci-generate-apk-aab-clean.yml)\n- Available on Google Dev Library [Click Here](https://devlibrary.withgoogle.com/products/android/repos/amirisback-automated-build-android-app-with-github-action)\n- Project Github Action Script YAML\n- Using Github Workflows\n- Automated Build AAB (release)\n- Automated Build APK (release and debug)\n- Have Bundle Tool\n- Download Artifact\n- Upload Artifact\n- Clear (Articfact naming)\n- Sample Naming : ${date_today} - ${repository_name} - ${playstore_name} - APK(s) release generated\n- Private Repository Tested (Passed Build App bundle(s) and APK generated successfully)\n- Local Run With .run configuration in Local Machine\n- Full Code For Github Action Workflows [Click Here](https://github.com/amirisback/automated-build-android-app-with-github-action/blob/master/.github/workflows/generate-apk-aab-debug-release.yml)\n\n## Version Release\nThis Is Latest Release\n\n    $version_release = 2.2.5\n\nWhat's New??\n\n    * Update Target SDK 35 *\n    * Update Action Script *\n    * Update Android Studio Latest Version *\n    * Update Gradle Latest Version *\n    * Update Kotlin Latest Version *\n    * Update Java Version From 11 to 17 *\n    * Update Java Action version to 3 *\n    * Update Android SDK Tools * \n    * Add Bundletool.jar for workflow github action *\n    * Add .run configuration *\n    * Update To Libs.Version.Toml\n\n## Article Sources\n- [How To Securely Build and Sign Your Android App With GitHub Actions](https://proandroiddev.com/how-to-securely-build-and-sign-your-android-app-with-github-actions-ad5323452ce)\n- [How to Use GitHub Actions to Automate Android App Development](https://www.freecodecamp.org/news/use-github-actions-to-automate-android-development/)\n- [Update Java Checkout Version CI](https://github.com/actions/setup-java)\n\n## Guide Sources (Github Action)\n- [Download Artifact From Github Action](https://github.com/actions/download-artifact)\n- [Upload Artifact From Github Action](https://github.com/actions/upload-artifact)\n- [Remove Artifact](https://github.com/c-hive/gha-remove-artifacts)\n\n# Run Using Github Action\n\n## How To Use Workflows\n\n### Step 1. Upload Your Project on Github\n- Project must be android studio project using gradle\n\n### Step 2. Create files github workflows\n- Create Files with name generate-apk-aab-debug-release.yml inside folder .github/workflows/\n- .github/workflows/generate-apk-aab-debug-release.yml this is position files\n\n### Step 3. Create Code\n```yml\nname: Generated APK AAB (Upload - Create Artifact To Github Action)\n\nenv:\n  # The name of the main module repository\n  main_project_module: app\n\n  # The name of the Play Store\n  playstore_name: Frogobox ID\n\non:\n\n  push:\n    branches:\n      - 'release/**'\n\n  # Allows you to run this workflow manually from the Actions tab\n  workflow_dispatch:\n\njobs:\n  build:\n\n    runs-on: ubuntu-latest\n\n    steps:\n      - uses: actions/checkout@v4\n\n      # Set Current Date As Env Variable\n      - name: Set current date as env variable\n        run: echo \"date_today=$(date +'%Y-%m-%d')\" \u003e\u003e $GITHUB_ENV\n\n      # Set Repository Name As Env Variable\n      - name: Set repository name as env variable\n        run: echo \"repository_name=$(echo '${{ github.repository }}' | awk -F '/' '{print $2}')\" \u003e\u003e $GITHUB_ENV\n\n      - name: Set Up JDK\n        uses: actions/setup-java@v4\n        with:\n          distribution: 'zulu' # See 'Supported distributions' for available options\n          java-version: '17'\n          cache: 'gradle'\n\n      - name: Change wrapper permissions\n        run: chmod +x ./gradlew\n\n      # Run Tests Build\n      - name: Run gradle tests\n        run: ./gradlew test\n\n      # Run Build Project\n      - name: Build gradle project\n        run: ./gradlew build\n\n      # Create APK Debug\n      - name: Build apk debug project (APK) - ${{ env.main_project_module }} module\n        run: ./gradlew assembleDebug\n\n      # Create APK Release\n      - name: Build apk release project (APK) - ${{ env.main_project_module }} module\n        run: ./gradlew assemble\n\n      # Create Bundle AAB Release\n      # Noted for main module build [main_project_module]:bundleRelease\n      - name: Build app bundle release (AAB) - ${{ env.main_project_module }} module\n        run: ./gradlew ${{ env.main_project_module }}:bundleRelease\n\n      # Upload Artifact Build\n      # Noted For Output [main_project_module]/build/outputs/apk/debug/\n      - name: Upload APK Debug - ${{ env.repository_name }}\n        uses: actions/upload-artifact@v4\n        with:\n          name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - APK(s) debug generated\n          path: ${{ env.main_project_module }}/build/outputs/apk/debug/\n\n      # Noted For Output [main_project_module]/build/outputs/apk/release/\n      - name: Upload APK Release - ${{ env.repository_name }}\n        uses: actions/upload-artifact@v4\n        with:\n          name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - APK(s) release generated\n          path: ${{ env.main_project_module }}/build/outputs/apk/release/\n\n      # Noted For Output [main_project_module]/build/outputs/bundle/release/\n      - name: Upload AAB (App Bundle) Release - ${{ env.repository_name }}\n        uses: actions/upload-artifact@v4\n        with:\n          name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - App bundle(s) AAB release generated\n          path: ${{ env.main_project_module }}/build/outputs/bundle/release/\n```\n\n### Step 4. Automated Build on Actions tab on your github repository\n![ScreenShot](https://raw.githubusercontent.com/amirisback/automated-build-android-app-with-github-action/master/docs/image/ss-01.png?raw=true)\n\n### Step 5. Download Artifact\n![ScreenShot](https://raw.githubusercontent.com/amirisback/automated-build-android-app-with-github-action/master/docs/image/ss-02.png?raw=true)\n\n### Extras (Private Repository Succesfully Build *Proven*)\n![ScreenShot](https://raw.githubusercontent.com/amirisback/automated-build-android-app-with-github-action/master/docs/image/ss-private-repo.png?raw=true)\n\n## Result Generated from Github Action\n\n### APK(s) debug generated\n![ScreenShot](https://raw.githubusercontent.com/amirisback/automated-build-android-app-with-github-action/master/docs/image/ss-apk-debug.png?raw=true)\n\n### APK(s) release generated\n![ScreenShot](https://raw.githubusercontent.com/amirisback/automated-build-android-app-with-github-action/master/docs/image/ss-apk-release.png?raw=true)\n\n### App bundle(s) release generated\n![ScreenShot](https://raw.githubusercontent.com/amirisback/automated-build-android-app-with-github-action/master/docs/image/ss-bundle.png?raw=true)\n\n### Clean Up Artifact\n```yml\nname: Generated APK AAB (Clean)\n\non:\n  # Allows you to run this workflow manually from the Actions tab\n  workflow_dispatch:\n\n  schedule:\n    # Every day at 1am\n    - cron: '0 1 * * *'\n\njobs:\n  remove-old-artifacts:\n    runs-on: ubuntu-latest\n    timeout-minutes: 10\n\n    steps:\n      - name: Clean all artifacts\n        uses: c-hive/gha-remove-artifacts@v4\n        with:\n          age: '60 seconds' # '\u003cnumber\u003e \u003cunit\u003e', e.g. 5 days, 2 years, 90 seconds, parsed by Moment.js\n          # Optional inputs\n          # skip-tags: true\n          # skip-recent: 5\n```\n\n### Using Bundle Tool\n\n#### Step 1. Prepare Bundle Tool\n- Check Bundletool on (.github/lib/bundletool.jar) [Download Latest](https://github.com/google/bundletool/releases)\n\n#### Step 2. Code Action in file [android-ci-generate-apk-aab-upload-3.yml](https://github.com/amirisback/automated-build-android-app-with-github-action/blob/master/.github/workflows/android-ci-generate-apk-aab-upload-3.yml)\n\n```yml\nname: Generated APK AAB 2 Bundle Tool (Upload - Create Artifact To Github Action)\n\nenv:\n  # The name of the main module repository\n  main_project_module: app\n\n  # The name of the Play Store\n  playstore_name: Frogobox ID\n\n  # Keystore Path\n  ks_path: frogoboxdev.jks\n\n  # Keystore Password\n  ks_store_pass: cronoclez\n\n  # Keystore Alias\n  ks_alias: frogobox\n\n  # Keystore Alias Password\n  ks_alias_pass: xeonranger\n\non:\n\n  push:\n    branches:\n      - 'release/**'\n\n  # Allows you to run this workflow manually from the Actions tab\n  workflow_dispatch:\n\njobs:\n  build:\n\n    runs-on: ubuntu-latest\n\n    steps:\n      - uses: actions/checkout@v4\n\n      # Set Current Date As Env Variable\n      - name: Set current date as env variable\n        run: echo \"date_today=$(date +'%Y-%m-%d')\" \u003e\u003e $GITHUB_ENV\n\n      # Set Repository Name As Env Variable\n      - name: Set repository name as env variable\n        run: echo \"repository_name=$(echo '${{ github.repository }}' | awk -F '/' '{print $2}')\" \u003e\u003e $GITHUB_ENV\n\n      - name: Set Up JDK\n        uses: actions/setup-java@v4\n        with:\n          distribution: 'zulu' # See 'Supported distributions' for available options\n          java-version: '17'\n          cache: 'gradle'\n\n      - name: Change wrapper permissions\n        run: chmod +x ./gradlew\n\n      # Run Tests Build\n      - name: Run gradle tests\n        run: ./gradlew test\n\n      # Run Build Project\n      - name: Build gradle project\n        run: ./gradlew build\n\n      # Create APK Debug\n      - name: Build apk debug project (APK) - ${{ env.main_project_module }} module\n        run: ./gradlew assembleDebug\n\n      # Create APK Release\n      - name: Build apk release project (APK) - ${{ env.main_project_module }} module\n        run: ./gradlew assemble\n\n      # Create Bundle AAB Release\n      # Noted for main module build [main_project_module]:bundleRelease\n      - name: Build app bundle release (AAB) - ${{ env.main_project_module }} module\n        run: ./gradlew ${{ env.main_project_module }}:bundleRelease\n\n      # - name: Build APK(s) Debug from bundle using bundletool\n      #   run: java -jar \".github/lib/bundletool.jar\" build-apks --bundle=${{ env.main_project_module }}/build/outputs/bundle/debug/${{ env.artifact_name }}-debug.aab --output=${{ env.main_project_module }}/build/outputs/bundle/debug/${{ env.artifact_name }}-debug.apks --mode=universal\n\n      - name: Set Env Artifact name from generated aab\n        run: |\n          cd ${{ env.main_project_module }}/build/outputs/bundle/release/\n          files=(*)\n          echo \"generated_name_aab=${files[0]%.*}\" \u003e\u003e $GITHUB_ENV\n\n      # Build APK From Bundle Using Bundletool\n      # Noted For Output [main_project_module]/build/outputs/bundle/release/\n      - name: Build APK(s) Release from bundle using bundletool (Path same with bundle output)\n        run: java -jar \".github/lib/bundletool.jar\" build-apks --bundle=${{ env.main_project_module }}/build/outputs/bundle/release/${{ env.generated_name_aab }}.aab --output=${{ env.main_project_module }}/build/outputs/bundle/release/${{ env.generated_name_aab }}.apks --mode=universal --ks=\"app/${{ env.ks_path }}\" --ks-pass=pass:${{ env.ks_store_pass }} --ks-key-alias=${{ env.ks_alias }} --key-pass=pass:${{ env.ks_alias_pass }}\n\n      # Duplicate APK(s) Release to zip file and extract\n      - name: Duplicate APK(s) Release to zip file and extract\n        run: |\n          cd ${{ env.main_project_module }}/build/outputs/bundle/release/\n          unzip -p ${{ env.generated_name_aab }}.apks universal.apk \u003e ${{ env.generated_name_aab }}.apk\n\n      # Upload Artifact Build\n      # Noted For Output [main_project_module]/build/outputs/apk/debug/\n      - name: Upload APK Debug - ${{ env.repository_name }}\n        uses: actions/upload-artifact@v4\n        with:\n          name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - APK(s) debug generated\n          path: ${{ env.main_project_module }}/build/outputs/apk/debug/\n\n      # Noted For Output [main_project_module]/build/outputs/apk/release/\n      - name: Upload APK Release - ${{ env.repository_name }}\n        uses: actions/upload-artifact@v4\n        with:\n          name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - APK(s) release generated\n          path: ${{ env.main_project_module }}/build/outputs/apk/release/\n\n      # Noted For Output [main_project_module]/build/outputs/bundle/release/\n      - name: Upload AAB (App Bundle) Release - ${{ env.repository_name }}\n        uses: actions/upload-artifact@v4\n        with:\n          name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - App bundle(s) AAB release generated\n          path: ${{ env.main_project_module }}/build/outputs/bundle/release/\n```\n\n### Step 3. Running Action\n![ScreenShot](https://raw.githubusercontent.com/amirisback/automated-build-android-app-with-github-action/master/docs/image/bundletool/ss_bundle_1.png?raw=true)\n\n### Step 4. Waiting Running Action\n#### Waiting for running action\n![ScreenShot](https://raw.githubusercontent.com/amirisback/automated-build-android-app-with-github-action/master/docs/image/bundletool/ss_bundle_2.png?raw=true)\n#### Check periodically, afraid there is an error\n![ScreenShot](https://raw.githubusercontent.com/amirisback/automated-build-android-app-with-github-action/master/docs/image/bundletool/ss_bundle_3.png?raw=true)\n\n\n### Step 5. Download Artifact and Extract it\n#### Download Artifact (AAB Artifact)\n![ScreenShot](https://raw.githubusercontent.com/amirisback/automated-build-android-app-with-github-action/master/docs/image/bundletool/ss_bundle_4.png?raw=true)\n#### Extract it !!! Done\n![ScreenShot](https://raw.githubusercontent.com/amirisback/automated-build-android-app-with-github-action/master/docs/image/bundletool/ss_bundle_5.png?raw=true)\n\n# Run Using Gradle Configuration\n\n## .run Configuration (Alternative if you don't have github action)\n- Run on your local machine\n  ![ScreenShot](https://raw.githubusercontent.com/amirisback/automated-build-android-app-with-github-action/master/docs/image/ss-configuration-01.png?raw=true)\n\n### Step 1: Create Folder .run on Root Project Directory\n![ScreenShot](https://raw.githubusercontent.com/amirisback/automated-build-android-app-with-github-action/master/docs/image/ss-configuration-02.png?raw=true)\n\n### Step 2: Create File [name-config].run.xml\n```xml\n\u003ccomponent name=\"ProjectRunConfigurationManager\"\u003e\n  \u003c!-- Add Name Configuration Here --\u003e\n  \u003cconfiguration default=\"false\" name=\"${your-config-name}\" type=\"GradleRunConfiguration\" factoryName=\"Gradle\"\u003e\n    \u003cExternalSystemSettings\u003e\n      \u003coption name=\"executionName\" /\u003e\n      \u003coption name=\"externalProjectPath\" value=\"$PROJECT_DIR$\" /\u003e\n      \u003coption name=\"externalSystemIdString\" value=\"GRADLE\" /\u003e\n      \u003coption name=\"scriptParameters\" value=\"\" /\u003e\n      \u003coption name=\"taskDescriptions\"\u003e\n        \u003clist /\u003e\n      \u003c/option\u003e\n      \u003coption name=\"taskNames\"\u003e\n        \u003clist\u003e\n          \u003c!-- TODO : add your task here --\u003e\n          \u003coption value=\":app:assembleDebug\" /\u003e\n        \u003c/list\u003e\n      \u003c/option\u003e\n      \u003coption name=\"vmOptions\" /\u003e\n    \u003c/ExternalSystemSettings\u003e\n    \u003cExternalSystemDebugServerProcess\u003etrue\u003c/ExternalSystemDebugServerProcess\u003e\n    \u003cExternalSystemReattachDebugProcess\u003etrue\u003c/ExternalSystemReattachDebugProcess\u003e\n    \u003cDebugAllEnabled\u003efalse\u003c/DebugAllEnabled\u003e\n    \u003cRunAsTest\u003efalse\u003c/RunAsTest\u003e\n    \u003cmethod v=\"2\" /\u003e\n  \u003c/configuration\u003e\n\u003c/component\u003e\n```\n- Note : if you confuse you can use this feature\n  ![ScreenShot](https://raw.githubusercontent.com/amirisback/automated-build-android-app-with-github-action/master/docs/image/ss-configuration-03.png?raw=true)\n\n### Step 3: Your Configuration Will Appears on this Menu\n![ScreenShot](https://raw.githubusercontent.com/amirisback/automated-build-android-app-with-github-action/master/docs/image/ss-configuration-04.png?raw=true)\n\n### Step 4: Result run multiple task\n![ScreenShot](https://raw.githubusercontent.com/amirisback/automated-build-android-app-with-github-action/master/docs/image/ss-configuration-05.png?raw=true)\n\n### Sample Configuration (signingreport)\n```xml\n\u003ccomponent name=\"ProjectRunConfigurationManager\"\u003e\n  \u003cconfiguration default=\"false\" name=\"signingreport\" type=\"GradleRunConfiguration\" factoryName=\"Gradle\"\u003e\n    \u003cExternalSystemSettings\u003e\n      \u003coption name=\"executionName\" /\u003e\n      \u003coption name=\"externalProjectPath\" value=\"$PROJECT_DIR$\" /\u003e\n      \u003coption name=\"externalSystemIdString\" value=\"GRADLE\" /\u003e\n      \u003coption name=\"scriptParameters\" value=\"\" /\u003e\n      \u003coption name=\"taskDescriptions\"\u003e\n        \u003clist /\u003e\n      \u003c/option\u003e\n      \u003coption name=\"taskNames\"\u003e\n        \u003clist\u003e\n          \u003coption value=\"signingreport\" /\u003e\n        \u003c/list\u003e\n      \u003c/option\u003e\n      \u003coption name=\"vmOptions\" /\u003e\n    \u003c/ExternalSystemSettings\u003e\n    \u003cExternalSystemDebugServerProcess\u003etrue\u003c/ExternalSystemDebugServerProcess\u003e\n    \u003cExternalSystemReattachDebugProcess\u003etrue\u003c/ExternalSystemReattachDebugProcess\u003e\n    \u003cDebugAllEnabled\u003efalse\u003c/DebugAllEnabled\u003e\n    \u003cRunAsTest\u003efalse\u003c/RunAsTest\u003e\n    \u003cmethod v=\"2\" /\u003e\n  \u003c/configuration\u003e\n\u003c/component\u003e\n```\n\n## Colaborator\nVery open to anyone, I'll write your name under this, please contribute by sending an email to me\n\n- Mail To faisalamircs@gmail.com\n- Subject : Github _ [Github-Username-Account] _ [Language] _ [Repository-Name]\n- Example : Github_amirisback_kotlin_admob-helper-implementation\n\nName Of Contribute\n- Muhammad Faisal Amir\n- Waiting List\n- Waiting List\n\nWaiting for your contribute\n\n## Attention !!!\n- Please enjoy and don't forget fork and give a star\n- Don't Forget Follow My Github Account\n\n![ScreenShot](https://raw.githubusercontent.com/amirisback/automated-build-android-app-with-github-action/master/docs/image/mad_score.png?raw=true)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famirisback%2Fautomated-build-android-app-with-github-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famirisback%2Fautomated-build-android-app-with-github-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famirisback%2Fautomated-build-android-app-with-github-action/lists"}