Credit: The idea of the installation process and the project structures is inspired by Rush. Thanks a ton, Shreyash 👍🎁
🏃♂️ FAST (Feature-rich AppInventor Source Terminal) is An Efficient Way to Build & Publish App Inventor Extensions.
With FAST, you no longer need to use any class level annotations except @DesignerComponent.
Explore the wiki section for comprehensive overview and step-by-step instructions on FAST.
🏅 If you are interested in accessing its premium features, please consider making a request for premium access.
🥇 Premium features
- Gradle Dependency Resolver.
- Maven Dependency Resolver.
- Attach AAR Libraries.
- Attach Custom XML.
- Generates Shadow blocks.
- Ability to apply ProGuard/R8 rules from runtime AARs.
- Supports compiling AIDL sources.
🔥 Hot features
- Dynamic Android compile SDK API level.
- Generates docs in Markdown.
- Generates blocks as PNG for each builder when
-bpassed. - Dynamic ProGuard library.
- Integration of R8 Shrinker.
- Dynamic Kotlin Compiler.
- Seamless support for Java and Kotlin languages.
- Supports
AARas dependencies. - Supports for multi-components in extension.
- Supports red drop-down helper blocks.
- All
@annotationswill be removed from built AIX even no ProGuard/R8. - Supports GitHub Actions workflows.
💧 Cool features
- Code suggestions on VSCode, Eclipse, IntelliJ IDEA & Android Studio.
- Ability to declare manifest in AndroidManifest.xml.
- Supports shorthand class names
(e.g: ...MyService)in manifest. - Keep classes declared in manifest automatically when
-mpassed. - Auto Project migration from Rush, extension-template & AI2 source based project.
- Jetifier to migrate Android support libraries to Androidx.
- Java 8 support, including lambda expressions
()->. - Generates a smaller size of extension.
- Ability to filter AI2 provided classes to reduce the AIX size.
- Ready for server side integration.
- Windows
- Linux
- MacOS
- Android (Termux)
Refer to this wiki to install the FAST on your system.
Refer to this wiki to update the FAST to the latest version.
- Open or navigate terminal at where you want to create your extension project.
- Run
fast create <ProjectName> - Enter the package name.
- Enter author name.
- Select language.
- Done.
- Open or navigate termanl at where the FAST project is.
- Run
fast buildto build the project. - Done. The compiled extension should be inside the
outdirectory.
- Make sure that ProGuard is enabled in fast.yml.
- Run the build command with
-r.
- Make sure that R8 is enabled in fast.yml
- Run the build command with
-s.
