All Projects → Malinskiy → Action Android

Malinskiy / Action Android

Licence: mit
Collection of Android-related GitHub Actions

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Action Android

Androidsdk
🐳 Full-fledged Android SDK Docker Image
Stars: ✭ 776 (+568.97%)
Mutual labels:  emulator, ci, android-sdk
Togetherad
🔥持续更新。Android广告聚合:帮助 Android 开发者快速、便捷、灵活的接入国内多家主流安卓广告 SDK。广点通(优量汇)、穿山甲、百青藤(百度Mob)。开屏广告、Banner横幅广告、插屏广告、激励广告、原生信息流、全屏广告。
Stars: ✭ 305 (+162.93%)
Mutual labels:  sdk, android-sdk
Android Avd
Headless Android x86 emulator ready for automated instrumentation testing.
Stars: ✭ 87 (-25%)
Mutual labels:  emulator, android-sdk
Rdvideoeditsdk For Android
Android Video Editing SDK; Android Video Edit SDK: Video Cut, Video Join, Video Watermark, Video Subtitle, Video Rotate...
Stars: ✭ 343 (+195.69%)
Mutual labels:  sdk, android-sdk
Countly Sdk Android
Countly Product Analytics Android SDK
Stars: ✭ 626 (+439.66%)
Mutual labels:  sdk, android-sdk
Android Sdk
Beaconstac ADVANCED SDK for Android devices
Stars: ✭ 18 (-84.48%)
Mutual labels:  sdk, android-sdk
Onesignal Android Sdk
OneSignal is a free push notification service for mobile apps. This plugin makes it easy to integrate your native Android or Amazon app with OneSignal. https://onesignal.com
Stars: ✭ 503 (+333.62%)
Mutual labels:  sdk, android-sdk
Android Sdk Installer
Linux utility which aims to automatically install and configures Android SDK, Eclipse ADT Plugin, adds hardware support for devices and enables full MTP support.
Stars: ✭ 78 (-32.76%)
Mutual labels:  sdk, android-sdk
Chat Sdk Android
Chat SDK Android - Open Source Mobile Messenger
Stars: ✭ 1,496 (+1189.66%)
Mutual labels:  sdk, android-sdk
Hydro Scaffold Dex
A Decentralized Exchange Scaffold - launch a DEX in minutes
Stars: ✭ 112 (-3.45%)
Mutual labels:  sdk
Applicationinsights Python
Application Insights SDK for Python
Stars: ✭ 114 (-1.72%)
Mutual labels:  sdk
Wwnetworkhelper
AFN层级更高的网络请求API
Stars: ✭ 111 (-4.31%)
Mutual labels:  sdk
Teensy64
C64 Emulation on a Teensy 3.6
Stars: ✭ 112 (-3.45%)
Mutual labels:  emulator
Gearsystem
Sega Master System / Game Gear / SG-1000 emulator for iOS, macOS, Raspberry Pi, Windows, Linux and RetroArch.
Stars: ✭ 114 (-1.72%)
Mutual labels:  emulator
Cameraxdemo
A sample camera app with CameraX API from Android Jetpack
Stars: ✭ 112 (-3.45%)
Mutual labels:  android-sdk
Sdk Nodejs
Mercado Pago's Official Node.js SDK
Stars: ✭ 114 (-1.72%)
Mutual labels:  sdk
Dualsense Windows
Windows API for the PS5 DualSense controller
Stars: ✭ 111 (-4.31%)
Mutual labels:  sdk
Couchbase Ruby Client
Couchbase Ruby Client Library (Official)
Stars: ✭ 110 (-5.17%)
Mutual labels:  sdk
Twitter Python Ads Sdk
A Twitter supported and maintained Ads API SDK for Python.
Stars: ✭ 114 (-1.72%)
Mutual labels:  sdk
Nuked Opn2
Cycle-accurate Yamaha YM3438(YM2612) emulator
Stars: ✭ 115 (-0.86%)
Mutual labels:  emulator

action-android

This is a collection of GitHub Actions for Android development

Requirements

This is only tested with macOS-10.15 environment. It might work on linux but there is no support for kvm there so don't expect to have api 26+ available there.

Android SDK

This repo provides an action for installing the Android SDK on the build agent. It will override whatever setup is already there. You might want to do this since default GitHub Actions environments are now missing sdkmanager binary so they're immutable.

Usage

steps:
  - uses: actions/[email protected]

  # Download & install the Android SDK.
  - uses: malinskiy/action-android/[email protected]/0.1.1

  # Set up platform tools like adb.
  - run: sdkmanager platform-tools

  # Start ADB (and verify that pathing is working correctly).
  - run: adb devices

  # Verify $ANDROID_HOME is properly set for later Gradle commands.
  - run: echo $ANDROID_HOME

Building your code

There is an official action for Java setup. For execution using Gradle I suggest to use ./gradlew to minimize the dependency on environment setup.

Testing against Android Emulator

action-android/emulator-run-cmd provide an action which installs the emulator packages, starts the emulator and waits until it's booted. After this it will execute the provided cmd and stop the running emulator.

It's imperative(!) to use runs-on: macOS-10.15 if you want to have hardware acceleration for your emulator.

Usage

steps:
  - uses: actions/[email protected]
  - uses: malinskiy/action-android/[email protected]/0.1.1
    with:
      cmd: ./gradlew integrationTest
      api: 25
      tag: default
      abi: x86
  • cmd is the shell command to execute while the emulator is booted
  • api is the API version of emulator
  • tag is either the default or google_apis. Use google_apis for emulator with google store
  • abi is the abi of the emulator. x86 is the fastest one
  • hardwareProfile is the hardware profile of the emulator. Check the avdmanager list for supported value. I advise to use string names instead of ids since those might change between sdk updates
  • cmdOptions is value which you can use to pass additional arguments to the emulator start command. By default this is -no-snapshot-save -noaudio -no-boot-anim
  • disableAnimations to disable animations using the system preferences. false by default. Keep in mind that applications might not respect system settings and these might have no effect at all
  • bootTimeout is the emulator boot timeout (default is 600 seconds = 10 minutes)
  • verbose if you want to enable additional logging for this action

Artifacts

The emulator-run-cmd action will generate an artifacts/logcat.log artifact that you can use in your builds to investigate issues. For example the next snippet will save the artifact in case the previous steps had failures (your tests failed and you need these logs for investigation).

- name: Save logcat output
  uses: actions/[email protected]
  if: failure()
  with:
    name: logcat
    path: artifacts/logcat.log

Info about emulator-start and emulator-stop actions

Currently GitHub Actions do not support OS processes that outlive the specific step hence you can't really do a workflow that starts the emulator and then execute your testing command in a separate step. This is the reason why I've written the combined emulator-run-cmd action. If you have multiple commands to run in parallel to emulator I suggest to write a script and execute it via the cmd arg.

License

MIT License

Copyright (c) 2020 Anton Malinskiy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Android SDK

By using this action you're automatically accepting the relevant licenses of Android SDK. See the Android SDK for more details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].