Credit: The idea of the installation process and the project structures is inspired by Rush. Thanks a ton, Shreyash ππ
πββοΈ FAST 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.
- Ability to apply ProGuard/R8 rules from runtime AARs.
- Support for compiling AIDL sources.
π₯ Hot features
- Dynamic Android compile SDK API level.
- Generates docs in Markdown.
- Generates blocks as PNG for each builder when
-b
passed. - Dynamic ProGuard library.
- Integration of R8 Shrinker.
- Dynamic Kotlin Compiler.
- Seamless support for Java and Kotlin languages.
- Support
AAR
as dependencies. - Support for multi-components in extension.
- Integration of new red drop-down helper blocks.
- All
@annotations
will be removed from built AIX even no ProGuard/R8. - Added support for GitHub Actions workflows.
π§ Cool features
- Code suggestions on VSCode, Eclipse, IntelliJ IDEA & Android Studio.
- Ability to declare manifest in AndroidManifest.xml.
- Support shorthand class names
(e.g: ...MyService)
in manifest. - Keep classes declared in manifest automatically when
-m
passed. - 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 build
to build the project. - Done. The compiled extension should be inside the
out
directory.
- 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
.