Skip app projects will build and launch the Android version of the app by forking the gradle process as part of the “Run Scripts” phase of the Xcode build process. This mechanism enables developers to rapidly iterate on an app by running both the iOS and Android versions side-by-side in the iOS Simulator and Android emulator. Similarly, Skip framework testing will run the transpiled Kotlin test cases by running gradle test on the transpiled modules.

In order to be able to install and run an app on a connected Android device, you must enable USB debugging on the device, as per the ADB documentation.

Exporting Build Artifacts

Running the skip export command from the Terminal in the project’s directory will build your Skip framework or app, and export all the binary artifacts to the folder specified with the -d argument. This includes .aar library archives for each of the targets in the current project, as well as all the dependent archives. These binary artifacts can be used in any Kotlin or Java build process or IDE. For example, a Kotlin development team can manually add them to their Android Studio project in order to work with a shared data model that is created using Skip.

Framework Export Screenshot

For app projects, the skip export command will additionally export .apk and .aab archives for the application, which can be installed directly on an Android device or uploaded to an Android app store, such as the Google Play Store.

Framework Export Screenshot

Running Gradle Manually

In addition to skip export, a Skip app project contains a gradle project in the Android/ folder that can be run directly using the gradle command. This is useful for manually executing gradle tasks, such as launching the app on an emulator or configured device with the launchDebug task:

skipapp-showcase % gradle -p Android launchDebug

To release an Android app, you may want to perform the build yourself, either manually or as part of a continuous integration (CI) process. To build a release version of your app from the Terminal, you can run:

skipapp-showcase % gradle -p Android/ assemble

This will run the Gradle project specified in the Android/gradle.settings.kts file (Showcase source code), which will invoke the Swift Package Manager build to transpile the Swift into Kotlin. The resulting build artifacts can then be found in the .build/Android/ folder, like so:

skiptools/skipapp-showcase % ls -lah .build/Android/app/outputs/apk/*/*.apk
73M .build/Android/app/outputs/apk/debug/app-debug.apk
11M .build/Android/app/outputs/apk/release/app-release.apk

If you need an Android Bundle for submitting to an app storefront, you can build it with:

skiptools/skipapp-showcase % gradle -p Android/ bundle
skiptools/skipapp-showcase % ls -lah .build/Android/app/outputs/bundle/*/*
 19M .build/Android/app/outputs/bundle/debug/app-debug.aab
5.6M .build/Android/app/outputs/bundle/release/app-release.aab

See the Gradle project reference for more information on the structure of a Skip gradle project. More information on using the gradle CLI for building Android apps can be found at

Continuous Deployment

GitHub Workflows

Fastlane Integration