๐Ÿƒโ€โ™‚๏ธ Fast : An Efficient Way to Build Extensions

Yes, the warnings that it is throwing at you when compiling appear to be from Kotlin, after setting it to true as Jewel mentions, it will work.

Maybe this will appear: - warning: unknown enum constant Scope.LIBRARY_GROUP_PREFIX just ignore it.

:mega: An update is available v2.0.3

Date built: 04.12.24.21.48


  • The processing of AAR has been optimized.
  • Updated compiler info.
1 Like

Please share your opinion about this new config model.

1 Like

:mega: An update is available v2.0.4
Date built: 12.12.24.22.43


  • R8 Shriker has been optimized.
  • Changed some comments in fast.yml.
  • Fixed some minor bugs.
  • Migrators have been updated for compatibility with version 2.0.4 and later.
2 Likes

Is Fast accept minSdkVersion from AndroidManifest.xml if we define it with uses-sdk element?

Yes, I've recently pushed a update to accept minSdkVersion from AndroidManifest.xml. You need to update the FAST to v2.0.5.


:mega: An update is available v2.0.5

Date built: 14.12.24.13.02


  • The ProGuard library has been updated to version 7.6.1.
  • FAST will prioritize the androidMinSdk value specified in fast.yml or @DesignerComponent or AndroidManifest.xml, applying the higher value during the build process.
  • A few minor bugs have been fixed.
3 Likes

If i need to add xml file in my extension in fast ,which directory should i add it to and how should i reference the xml file path inside manifest.

It would be nice to add a command to update fast like fast upgrade.

Available commands:
build Build the project in current working directory.
create Create a new extension project in current working directory.
clean Clean project build caches in current working directory.
sync Sync project dependencies in current working directory.
jetify Migrates Android support libraries to AndroidX.
migrate Migrates the rush/extension-template project to Fast in current working directory.
propfix It will automatically add the category attribute where required, making manual project migration easier.
upgrade Check and update Fast Cli to the new version

Available arguments:
-r Indicates the execution of the ProGuard task. Pass it with the build command.
-s Indicates the execution of the R8 shrinker task. Pass it with the build command.
-o Indicates to optimize the extension size even there is no ProGuard. Pass it with the build command.
-x Indicates to generate the DEX Bytecode by the deprecated dexer. Pass it with the build command.
rush Indicates that it's a rush project to execute with the migrate command.
template Indicates that it's an extension-template project to execute with the migrate command.

2 Likes

This feature isn't available for extensions yet, but it might be soon if the Mit team approves the PR, which I still need to tweak a bit.

1 Like

:mega: An update is available v2.0.6

Date built: 17.12.24.23.12


  • Added fast upgrade command to update FAST to latest version.
  • Added fast sync build command to run sync and build commands simultaneously.
  • The Java compiler will generate debugging information if -d is passed.
  • Fixed some dependency resolution bugs.
  • Added missing argument to default prompt.
5 Likes

Wow nice update :muscle: @JEWEL

1 Like

Thanks a lot, it has saved a lot of my time. Can you please add subdirectory support in assets. Thanks

Can you please explain the need for subdirectories within the assets folder? So that I can think about it.

Getting this error with upgrade command.

husnain@Husnain-Macbook-Pro ~ % fast upgrade
  __           _   
 / _| __ _ ___| |_ 
| |_ / _` / __| __|
|  _| (_| \__ \ |_ 
|_|  \__,_|___/\__| (v2.0.6)

x java.lang.RuntimeException: The upgrade.jar is absent at: /Users/husnain/.local/share/Fast/lib/tools/upgrade.jar
	at com.jewel.fast.repacked.XXkmOmeVYVztLQlQYERS.<init>(Unknown Source)
	at com.jewel.fast.Fast.main(Unknown Source)

The upgrade.jar is missing. Please do a clean install or download the fast.zip and open the zip and place the upgrade.jar from fast.zip/lib/tools/upgrade.jar to /Users/husnain/.local/share/Fast/lib/tools/upgrade.jar.

@JEWEL I have added the following 2 dependencies to my project and run fast sync. I have implemented some features and now I want to compile but I have noticed that these packages require additional dependencies.

https://repo1.maven.org/maven2/io/socket/socket.io-client/2.1.1/
https://repo1.maven.org/maven2/io/socket/engine.io-client/2.1.0/

In my fast.yml I have added:

compile_time:
- com.squareup.okhttp3:3.12.12

I still get warnings about missing types.

- Warning in F:\AppInventor\socketio\socketio\.fast\com.namibsoft.socketio.socketio\files\AndroidRuntime.jar:io/socket/engineio/client/transports/PollingXHR$Request.class:
Type `okhttp3.MediaType` was not found, it is required for default or static interface methods desugaring of `void * io.socket.engineio.client.transports.PollingXHR$Request.<clinit>()`

Is there a way to automatically include all dependencies and their dependencies?

You may ignore these type of warnings or just set desugar_dex: fasle in fast.yml.

:mega: An update is available v2.0.9

Date built: 24.12.24.10.35


  • Added select update type feature to upgrade command.
  • Optimized the upgrade feature.

v2.0.8

  • Fixed a reported bug for the Maven resolver. (Reported here)
  • Modified fast.bat to work with relative fast.jar.

v2.0.7

  • The exception catcher will print the line number of the source.
  • A few debug prints have been changed.
  • Optimized the Maven resolver.
5 Likes

I am very happy with Fast because its frequent updates and improvements have quickly made it a powerful tool for many people.

Thank you for fixed :

  • Maven resolver
4 Likes

Version v2.1.0 is currently undergoing testing.
I'd greatly appreciate feedback, especially from Linux and macOS users.

NOTE: A clean installation is required.

1 Like