automated-build-android-app-with-github-action

CI/CD Automated Build Android App Bundle / APK With Github Action

APACHE-2.0 License

Stars
201
Committers
1

Bot releases are visible (Hide)

automated-build-android-app-with-github-action - Release v2.2.4 Latest Release

Published by amirisback 7 months ago

Release Note

  • Create Local Configuration
  • You Can Learn Below

.run Configuration (Alternative if you don't have github action)

  • Run on your local machine
    ScreenShot

Step 1: Create Folder .run on Root Project Directory

ScreenShot

Step 2: Create File [name-config].run.xml

<component name="ProjectRunConfigurationManager">
  <!-- Add Name Configuration Here -->
  <configuration default="false" name="${your-config-name}" type="GradleRunConfiguration" factoryName="Gradle">
    <ExternalSystemSettings>
      <option name="executionName" />
      <option name="externalProjectPath" value="$PROJECT_DIR$" />
      <option name="externalSystemIdString" value="GRADLE" />
      <option name="scriptParameters" value="" />
      <option name="taskDescriptions">
        <list />
      </option>
      <option name="taskNames">
        <list>
          <!-- TODO : add your task here -->
          <option value=":app:assembleDebug" />
        </list>
      </option>
      <option name="vmOptions" />
    </ExternalSystemSettings>
    <ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
    <ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
    <DebugAllEnabled>false</DebugAllEnabled>
    <RunAsTest>false</RunAsTest>
    <method v="2" />
  </configuration>
</component>
  • Note : if you confuse you can use this feature
    ScreenShot

Step 3: Your Configuration Will Appears on this Menu

ScreenShot

Step 4: Result run multiple task

ScreenShot

Sample Configuration (signingreport)

<component name="ProjectRunConfigurationManager">
  <configuration default="false" name="signingreport" type="GradleRunConfiguration" factoryName="Gradle">
    <ExternalSystemSettings>
      <option name="executionName" />
      <option name="externalProjectPath" value="$PROJECT_DIR$" />
      <option name="externalSystemIdString" value="GRADLE" />
      <option name="scriptParameters" value="" />
      <option name="taskDescriptions">
        <list />
      </option>
      <option name="taskNames">
        <list>
          <option value="signingreport" />
        </list>
      </option>
      <option name="vmOptions" />
    </ExternalSystemSettings>
    <ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
    <ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
    <DebugAllEnabled>false</DebugAllEnabled>
    <RunAsTest>false</RunAsTest>
    <method v="2" />
  </configuration>
</component>

What's Changed

Full Changelog: https://github.com/amirisback/automated-build-android-app-with-github-action/compare/2.2.3...2.2.4

automated-build-android-app-with-github-action - Release v2.2.3

Published by amirisback over 1 year ago

automated-build-android-app-with-github-action - Release v2.2.2

Published by amirisback over 1 year ago

automated-build-android-app-with-github-action - Release v2.2.1

Published by amirisback over 1 year ago

Automated Build Android Using Github Action

Android CI
Download Generated APK AAB
Upload Generated APK AAB
Scan with Detekt
pages-build-deployment
Generated APK AAB (Clean)

  • Available on Google Dev Library Click Here
  • Project Github Action Script YAML
  • Using Github Workflows
  • Automated Build AAB (release)
  • Automated Build APK (release and debug)
  • Download Artifact
  • Upload Artifact
  • Clear (Articfact naming)
  • Sample Naming : ${date_today} - ${repository_name} - ${playstore_name} - APK(s) release generated
  • Private Repository Tested (Passed Build App bundle(s) and APK generated successfully)
  • Full Code For Github Action Workflows Click Here

Version Release

This Is Latest Release

$version_release = 2.2.0

What's New??

* Update Action Script *
* Update Android Studio Latest Version *
* Update Gradle Latest Version *
* Update Kotlin Latest Version *
* Update Java Version From 11 to 17 *

Article Sources

Guide Sources (Github Action)

How To Use Workflows

Step 1. Upload Your Project on Github

  • Project must be android studio project using gradle

Step 2. Create files github workflows

  • Create Files with name generate-apk-aab-debug-release.yml inside folder .github/workflows/
  • .github/workflows/generate-apk-aab-debug-release.yml this is position files

Step 3. Create Code

name: Android CI

env:
  # The name of the main module repository
  main_project_module: app

  # The name of the Play Store
  playstore_name: Frogobox ID

on:
  # Triggers the workflow on push or pull request events but only for default and protected branches
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v1

      # Set Current Date As Env Variable
      - name: Set current date as env variable
        run: echo "date_today=$(date +'%Y-%m-%d')" >> $GITHUB_ENV

      # Set Repository Name As Env Variable
      - name: Set repository name as env variable
        run: echo "repository_name=$(echo '${{ github.repository }}' | awk -F '/' '{print $2}')" >> $GITHUB_ENV

      - name: Set Up JDK
        uses: actions/setup-java@v1
        with:
          java-version: 17

      - name: Change wrapper permissions
        run: chmod +x ./gradlew

      # Run Tests Build
      - name: Run gradle tests
        run: ./gradlew test

      # Run Build Project
      - name: Build gradle project
        run: ./gradlew build

      # Create APK Debug
      - name: Build apk debug project (APK) - ${{ env.main_project_module }} module
        run: ./gradlew assembleDebug

      # Create APK Release
      - name: Build apk release project (APK) - ${{ env.main_project_module }} module
        run: ./gradlew assemble

      # Create Bundle AAB Release
      # Noted for main module build [main_project_module]:bundleRelease
      - name: Build app bundle release (AAB) - ${{ env.main_project_module }} module
        run: ./gradlew ${{ env.main_project_module }}:bundleRelease

      # Upload Artifact Build
      # Noted For Output [main_project_module]/build/outputs/apk/debug/
      - name: Upload APK Debug - ${{ env.repository_name }}
        uses: actions/upload-artifact@v2
        with:
          name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - APK(s) debug generated
          path: ${{ env.main_project_module }}/build/outputs/apk/debug/

      # Noted For Output [main_project_module]/build/outputs/apk/release/
      - name: Upload APK Release - ${{ env.repository_name }}
        uses: actions/upload-artifact@v2
        with:
          name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - APK(s) release generated
          path: ${{ env.main_project_module }}/build/outputs/apk/release/

      # Noted For Output [main_project_module]/build/outputs/bundle/release/
      - name: Upload AAB (App Bundle) Release - ${{ env.repository_name }}
        uses: actions/upload-artifact@v2
        with:
          name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - App bundle(s) AAB release generated
          path: ${{ env.main_project_module }}/build/outputs/bundle/release/

Step 4. Automated Build on Actions tab on your github repository

ScreenShot

Step 5. Download Artifact

ScreenShot

Extras (Private Repository Succesfully Build Proven)

ScreenShot

Result Generated from Github Action

APK(s) debug generated

ScreenShot

APK(s) release generated

ScreenShot

App bundle(s) release generated

ScreenShot

Clean Up Artifact

name: Generated APK AAB (Clean)

on:
  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

  schedule:
    # Every day at 1am
    - cron: '0 1 * * *'

jobs:
  remove-old-artifacts:
    runs-on: ubuntu-latest
    timeout-minutes: 10

    steps:
      - name: Clean all artifacts
        uses: c-hive/gha-remove-artifacts@v1
        with:
          age: '60 seconds' # '<number> <unit>', e.g. 5 days, 2 years, 90 seconds, parsed by Moment.js
          # Optional inputs
          # skip-tags: true
          # skip-recent: 5

Colaborator

Very open to anyone, I'll write your name under this, please contribute by sending an email to me

  • Mail To [email protected]
  • Subject : Github _ [Github-Username-Account] _ [Language] _ [Repository-Name]
  • Example : Github_amirisback_kotlin_admob-helper-implementation

Name Of Contribute

  • Muhammad Faisal Amir
  • Waiting List
  • Waiting List

Waiting for your contribute

Attention !!!

  • Please enjoy and don't forget fork and give a star
  • Don't Forget Follow My Github Account

ScreenShot

automated-build-android-app-with-github-action - Release v2.2.0

Published by amirisback over 1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/amirisback/automated-build-android-app-with-github-action/compare/2.1.1...2.2.0

What's New??

* Update Action Script *
* Update Android Studio Latest Version *
* Update Gradle Latest Version *
* Update Kotlin Latest Version *
* Update Java Version From 11 to 17 *
automated-build-android-app-with-github-action - Release v2.1.1

Published by amirisback over 1 year ago

Automated Build Android With Using Github Action

Android CI
Download Generated APK AAB
Upload Generated APK AAB
Scan with Detekt
pages-build-deployment
Generated APK AAB (Clean)

  • Available on Google Dev Library Click Here
  • Project Github Action Script YAML
  • Using Github Workflows
  • Automated Build AAB (release)
  • Automated Build APK (release and debug)
  • Download Artifact
  • Upload Artifact
  • Clear (Articfact naming)
  • Sample Naming : ${date_today} - ${repository_name} - ${playstore_name} - APK(s) release generated
  • Private Repository Tested (Passed Build App bundle(s) and APK generated successfully)
  • Full Code For Github Action Workflows Click Here

Version Release

This Is Latest Release

$version_release = 2.1.1

What's New??

* Update Action Script *
* Update Android Studio Latest Version *

Article Sources

Guide Sources (Github Action)

How To Use Workflows

Step 1. Upload Your Project on Github

  • Project must be android studio project using gradle

Step 2. Create files github workflows

  • Create Files with name generate-apk-aab-debug-release.yml inside folder .github/workflows/
  • .github/workflows/generate-apk-aab-debug-release.yml this is position files

Step 3. Create Code

name: Android CI

env:
  # The name of the main module repository
  main_project_module: app

  # The name of the Play Store
  playstore_name: Frogobox ID

on:
  # Triggers the workflow on push or pull request events but only for default and protected branches
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v1

      # Set Current Date As Env Variable
      - name: Set current date as env variable
        run: echo "date_today=$(date +'%Y-%m-%d')" >> $GITHUB_ENV

      # Set Repository Name As Env Variable
      - name: Set repository name as env variable
        run: echo "repository_name=$(echo '${{ github.repository }}' | awk -F '/' '{print $2}')" >> $GITHUB_ENV

      - name: Set Up JDK
        uses: actions/setup-java@v1
        with:
          java-version: 11

      - name: Change wrapper permissions
        run: chmod +x ./gradlew

      # Run Tests Build
      - name: Run gradle tests
        run: ./gradlew test

      # Run Build Project
      - name: Build gradle project
        run: ./gradlew build

      # Create APK Debug
      - name: Build apk debug project (APK) - ${{ env.main_project_module }} module
        run: ./gradlew assembleDebug

      # Create APK Release
      - name: Build apk release project (APK) - ${{ env.main_project_module }} module
        run: ./gradlew assemble

      # Create Bundle AAB Release
      # Noted for main module build [main_project_module]:bundleRelease
      - name: Build app bundle release (AAB) - ${{ env.main_project_module }} module
        run: ./gradlew ${{ env.main_project_module }}:bundleRelease

      # Upload Artifact Build
      # Noted For Output [main_project_module]/build/outputs/apk/debug/
      - name: Upload APK Debug - ${{ env.repository_name }}
        uses: actions/upload-artifact@v2
        with:
          name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - APK(s) debug generated
          path: ${{ env.main_project_module }}/build/outputs/apk/debug/

      # Noted For Output [main_project_module]/build/outputs/apk/release/
      - name: Upload APK Release - ${{ env.repository_name }}
        uses: actions/upload-artifact@v2
        with:
          name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - APK(s) release generated
          path: ${{ env.main_project_module }}/build/outputs/apk/release/

      # Noted For Output [main_project_module]/build/outputs/bundle/release/
      - name: Upload AAB (App Bundle) Release - ${{ env.repository_name }}
        uses: actions/upload-artifact@v2
        with:
          name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - App bundle(s) AAB release generated
          path: ${{ env.main_project_module }}/build/outputs/bundle/release/

Step 4. Automated Build on Actions tab on your github repository

ScreenShot

Step 5. Download Artifact

ScreenShot

Extras (Private Repository Succesfully Build Proven)

ScreenShot

Result Generated from Github Action

APK(s) debug generated

ScreenShot

APK(s) release generated

ScreenShot

App bundle(s) release generated

ScreenShot

Clean Up Artifact

name: Generated APK AAB (Clean)

on:
  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

  schedule:
    # Every day at 1am
    - cron: '0 1 * * *'

jobs:
  remove-old-artifacts:
    runs-on: ubuntu-latest
    timeout-minutes: 10

    steps:
      - name: Clean all artifacts
        uses: c-hive/gha-remove-artifacts@v1
        with:
          age: '60 seconds' # '<number> <unit>', e.g. 5 days, 2 years, 90 seconds, parsed by Moment.js
          # Optional inputs
          # skip-tags: true
          # skip-recent: 5

Colaborator

Very open to anyone, I'll write your name under this, please contribute by sending an email to me

  • Mail To [email protected]
  • Subject : Github _ [Github-Username-Account] _ [Language] _ [Repository-Name]
  • Example : Github_amirisback_kotlin_admob-helper-implementation

Name Of Contribute

  • Muhammad Faisal Amir
  • Waiting List
  • Waiting List

Waiting for your contribute

Attention !!!

  • Please enjoy and don't forget fork and give a star
  • Don't Forget Follow My Github Account

ScreenShot

automated-build-android-app-with-github-action - Release v2.1.0

Published by amirisback over 2 years ago

Automated Build Android With Using Github Action

Android CI
Download Generated APK AAB
Upload Generated APK AAB
Scan with Detekt
pages-build-deployment

  • Available on Google Dev Library Click Here
  • Project Github Action Script YAML
  • Using Github Workflows
  • Automated Build AAB (release)
  • Automated Build APK (release and debug)
  • Download Artifact
  • Upload Artifact
  • Clear (Articfact naming)
  • Sample Naming : ${date_today} - ${repository_name} - ${playstore_name} - APK(s) release generated
  • Private Repository Tested (Passed Build App bundle(s) and APK generated successfully)
  • Full Code For Github Action Workflows Click Here

Version Release

This Is Latest Release

$version_release = 2.1.0

What's New??

* Update Action Script *
* Update Android Studio Latest Version *

Article Sources

Guide Sources (Github Action)

How To Use Workflows

Step 1. Upload Your Project on Github

  • Project must be android studio project using gradle

Step 2. Create files github workflows

  • Create Files with name generate-apk-aab-debug-release.yml inside folder .github/workflows/
  • .github/workflows/generate-apk-aab-debug-release.yml this is position files

Step 3. Create Code

name: Android CI

env:
  # The name of the main module repository
  main_project_module: app

  # The name of the Play Store
  playstore_name: Frogobox ID

on:
  # Triggers the workflow on push or pull request events but only for default and protected branches
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v1

      # Set Current Date As Env Variable
      - name: Set current date as env variable
        run: echo "date_today=$(date +'%Y-%m-%d')" >> $GITHUB_ENV

      # Set Repository Name As Env Variable
      - name: Set repository name as env variable
        run: echo "repository_name=$(echo '${{ github.repository }}' | awk -F '/' '{print $2}')" >> $GITHUB_ENV

      - name: Set Up JDK
        uses: actions/setup-java@v1
        with:
          java-version: 11

      - name: Change wrapper permissions
        run: chmod +x ./gradlew

      # Run Tests Build
      - name: Run gradle tests
        run: ./gradlew test

      # Run Build Project
      - name: Build gradle project
        run: ./gradlew build

      # Create APK Debug
      - name: Build apk debug project (APK) - ${{ env.main_project_module }} module
        run: ./gradlew assembleDebug

      # Create APK Release
      - name: Build apk release project (APK) - ${{ env.main_project_module }} module
        run: ./gradlew assemble

      # Create Bundle AAB Release
      # Noted for main module build [main_project_module]:bundleRelease
      - name: Build app bundle release (AAB) - ${{ env.main_project_module }} module
        run: ./gradlew ${{ env.main_project_module }}:bundleRelease

      # Upload Artifact Build
      # Noted For Output [main_project_module]/build/outputs/apk/debug/
      - name: Upload APK Debug - ${{ env.repository_name }}
        uses: actions/upload-artifact@v2
        with:
          name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - APK(s) debug generated
          path: ${{ env.main_project_module }}/build/outputs/apk/debug/

      # Noted For Output [main_project_module]/build/outputs/apk/release/
      - name: Upload APK Release - ${{ env.repository_name }}
        uses: actions/upload-artifact@v2
        with:
          name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - APK(s) release generated
          path: ${{ env.main_project_module }}/build/outputs/apk/release/

      # Noted For Output [main_project_module]/build/outputs/bundle/release/
      - name: Upload AAB (App Bundle) Release - ${{ env.repository_name }}
        uses: actions/upload-artifact@v2
        with:
          name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - App bundle(s) AAB release generated
          path: ${{ env.main_project_module }}/build/outputs/bundle/release/

Step 4. Automated Build on Actions tab on your github repository

ScreenShot

Step 5. Download Artifact

ScreenShot

Extras (Private Repository Succesfully Build Proven)

ScreenShot

Result Generated from Github Action

APK(s) debug generated

ScreenShot

APK(s) release generated

ScreenShot

App bundle(s) release generated

ScreenShot

Colaborator

Very open to anyone, I'll write your name under this, please contribute by sending an email to me

  • Mail To [email protected]
  • Subject : Github _ [Github-Username-Account] _ [Language] _ [Repository-Name]
  • Example : Github_amirisback_kotlin_admob-helper-implementation

Name Of Contribute

  • Muhammad Faisal Amir
  • Waiting List
  • Waiting List

Waiting for your contribute

Attention !!!

  • Please enjoy and don't forget fork and give a star
  • Don't Forget Follow My Github Account

ScreenShot

automated-build-android-app-with-github-action - Release v2.0.1

Published by amirisback over 2 years ago

Automated Build Android With Using Github Action

Android CI
Scan with Detekt
pages-build-deployment

  • Project Github Action Script YAML
  • Using Github Workflows
  • Automated Build AAB (release)
  • Automated Build APK (release and debug)
  • Clear (Articfact naming)
  • Sample Naming : ${githubusername/repositoryname} - APK(s) release generated ${playstore_name}
  • Private Repository Tested (Passed Build App bundle(s) and APK generated successfully)
  • Full Code For Github Action Workflows Click Here

Version Release

This Is Latest Release

$version_release = 2.0.1

What's New??

* Update Action Script *
* Update Android Studio Latest Version *

Article Sources

How To Use Workflows

Step 1. Upload Your Project on Github

  • Project must be android studio project using gradle

Step 2. Create files github workflows

  • Create Files with name generate-apk-aab-debug-release.yml inside folder .github/workflows/
  • .github/workflows/generate-apk-aab-debug-release.yml this is position files

Step 3. Create Code

name: Android CI

env:
  # The name of the main module repository
  main_project_module: app

  # The name of the Play Store
  playstore_name: Frogobox ID

on:
  # Triggers the workflow on push or pull request events but only for default and protected branches
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

  workflow_dispatch:
    # The workflow will be dispatched to the default queue
    branches: [ master ]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v1

      # Set Current Date As Env Variable
      - name: Set current date as env variable
        run: echo "date_today=$(date +'%Y-%m-%d')" >> $GITHUB_ENV

      # Set Repository Name As Env Variable
      - name: Set repository name as env variable
        run: echo "repository_name=$(echo '${{ github.repository }}' | awk -F '/' '{print $2}')" >> $GITHUB_ENV

      - name: Set Up JDK
        uses: actions/setup-java@v1
        with:
          java-version: 11

      - name: Change wrapper permissions
        run: chmod +x ./gradlew

      # Run Tests Build
      - name: Run gradle tests
        run: ./gradlew test

      # Run Build Project
      - name: Build gradle project
        run: ./gradlew build

      # Create APK Debug
      - name: Build apk debug project (APK) - ${{ env.main_project_module }} module
        run: ./gradlew assembleDebug

      # Create APK Release
      - name: Build apk release project (APK) - ${{ env.main_project_module }} module
        run: ./gradlew assemble

      # Create Bundle AAB Release
      # Noted for main module build [main_project_module]:bundleRelease
      - name: Build app bundle release (AAB) - ${{ env.main_project_module }} module
        run: ./gradlew ${{ env.main_project_module }}:bundleRelease

      # Upload Artifact Build
      # Noted For Output [main_project_module]/build/outputs/apk/debug/
      - name: Upload APK Debug - ${{ env.repository_name }}
        uses: actions/upload-artifact@v2
        with:
          name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - APK(s) debug generated
          path: ${{ env.main_project_module }}/build/outputs/apk/debug/

      # Noted For Output [main_project_module]/build/outputs/apk/release/
      - name: Upload APK Release - ${{ env.repository_name }}
        uses: actions/upload-artifact@v2
        with:
          name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - APK(s) release generated
          path: ${{ env.main_project_module }}/build/outputs/apk/release/

      # Noted For Output [main_project_module]/build/outputs/bundle/release/
      - name: Upload AAB (App Bundle) Release - ${{ env.repository_name }}
        uses: actions/upload-artifact@v2
        with:
          name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - App bundle(s) AAB release generated
          path: ${{ env.main_project_module }}/build/outputs/bundle/release/

Step 4. Automated Build on Actions tab on your github repository

ScreenShot

Step 5. Download Artifact

ScreenShot

Extras (Private Repository Succesfully Build Proven)

ScreenShot

Result Generated from Github Action

APK(s) debug generated

ScreenShot

APK(s) release generated

ScreenShot

App bundle(s) release generated

ScreenShot

Colaborator

Very open to anyone, I'll write your name under this, please contribute by sending an email to me

  • Mail To [email protected]
  • Subject : Github _ [Github-Username-Account] _ [Language] _ [Repository-Name]
  • Example : Github_amirisback_kotlin_admob-helper-implementation

Name Of Contribute

  • Muhammad Faisal Amir
  • Waiting List
  • Waiting List

Waiting for your contribute

Attention !!!

  • Please enjoy and don't forget fork and give a star
  • Don't Forget Follow My Github Account

ScreenShot

automated-build-android-app-with-github-action - Release v1.0.0

Published by amirisback over 2 years ago

Automated Build Android With Using Github Action

Generate APK / AAB Debug And Release
Scan with Detekt
pages-build-deployment

  • Project Github Action Script
  • Using Github Workflows
  • Private Repository Tested (Passed Build App bundle(s) and APK generated successfully)
  • Full Code For Github Action Workflows Click Here

Article Sources

How To Use Workflows

Step 1. Upload Your Project on Github

  • Project must be android studio project using gradle

Step 2. Create files github workflows

  • Create Files with name generate-apk-aab-debug-release.yml inside folder .github/workflows/
  • .github/workflows/generate-apk-aab-debug-release.yml this is position files

Step 3. Create Code

name: Generate APK / AAB Debug And Release

on:
  # Triggers the workflow on push or pull request events but only for default and protected branches
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v1

      - name: Set Up JDK
        uses: actions/setup-java@v1
        with:
          java-version: 11

      - name: Change wrapper permissions
        run: chmod +x ./gradlew

      - name: Run tests
        run: ./gradlew test

      # Run Build Project
      - name: Build project
        run: ./gradlew build

      # Create APK Debug
      - name: Build apk debug project (APK)
        run: ./gradlew assembleDebug

      # Create APK Release
      - name: Build apk release project (APK)
        run: ./gradlew assemble

      # Create Bundle AAB Release
      # [module-name]:bundleRelease
      - name: Build app bundle release (AAB)
        run: ./gradlew app:bundleRelease

      # Upload Artifact Build
      - name: Upload debug build APK
        uses: actions/upload-artifact@v2
        with:
          name: App bundle(s) and APK(s) generated
          path: app/build/outputs/

Step 4. Automated Build on Actions tab on your github repository

ScreenShot

Step 5. Download Artifact

ScreenShot

Extras (Private Repository Succesfully Build Proven)

ScreenShot

Result Generated from Github Action

APK Debug

ScreenShot

APK Release

ScreenShot

AAB App Bundle

ScreenShot

Colaborator

Very open to anyone, I'll write your name under this, please contribute by sending an email to me

  • Mail To [email protected]
  • Subject : Github _ [Github-Username-Account] _ [Language] _ [Repository-Name]
  • Example : Github_amirisback_kotlin_admob-helper-implementation

Name Of Contribute

  • Muhammad Faisal Amir
  • Waiting List
  • Waiting List

Waiting for your contribute

Attention !!!

  • Please enjoy and don't forget fork and give a star
  • Don't Forget Follow My Github Account

ScreenShot