@fabis94/run-cap-on-android
v0.0.1
Published
Builds a capacitor app on WSL and starts it on the Windows Android emulator.
Downloads
44
Readme
run-cap-on-android
https://user-images.githubusercontent.com/23533178/162486231-7c22ed5e-0b39-4fe0-ba44-32ef5dc4c0f5.mp4
run-cap-on-android is a command line tool to improve DX when developing Capacitor apps on WSL.
As of April 2022, Android Studio still has very poor support for WSL2. You can open projects from WSL, but the Gradle sync will fail. This means there is no way to quickly run your Capacitor app on an Android emulator without first copying your entire project to the Windows filesystem.
run-cap-on-android uses currently available functionality in ADB to build and install your capacitor app on an Emulator running on Windows.
Install
npm install run-cap-on-android -D
# or
yarn add run-cap-on-android -Dand then add the following to your package.json:
"scripts": {
// ... other scripts
"cap-on-android": "run-cap-on-android --applicationId com.myapp"
}then run:
npm run cap-on-android
# or
yarn run cap-on-androidPreparing Windows
- Ensure Android SDK is installed, w/ SDK Platform tools, Build Tools, Emulator and Command Line tiools
- Ensure an emulator w/ your targetted Android version is created
- Ensure adb works and is added to PATH and emulator is listed (
adb devices)
Preparing WSL
- Ensure
gradleis available, you can install the latest verson using the sdkman package manager. - Ensure Java is installed, so Gradle can run (correct version)
- Ensure the same Android SDK version (w/ all of the same tools & CLIs) is available on WSL, for gradle to work.
- Ensure all of this is added to PATH
Usage
Usage: run-cap-on-android [options]
Options:
-id, --applicationId your app\'s id e.g. com.mycoolapp
-a, --androidFolder the android folder relative to the project root (default:
<folder with package.json>/android/app/build/outputs/apk/debug/app-debug.apk)
-s, --sdk location of the android sdk
(default:/mnt/c/Users/<your username>/AppData/Local/Android/Sdk )
applicationId
This is the only required option. It depends on how you've set up your app and if you have different versions/names when making staging builds.
androidFolder
Defaults to the /android folder in your project root (wherever you ran the command from).
sdk
Defaults to the SDK installed by Android Studio, you can specify a Windows path or a WSL path, both will work.
