πŸƒβ€β™‚οΈ Fast : An Efficient Way to Build & Publish Extensions

That fixed it. Thank you.

will this "sync" all projects in one go?

1 Like

It'll just resolves all the tools we need. The -self argument allow us to run the sync command outside of project directory. If you’re running the sync command within a project directory, so we can skip the additional -self argument. When we run sync within a project, FAST resolves required things and reconfigure classpath for IDE.

1 Like

Need help with my AndroidManifest.xml. The error I am facing is that the users are redirected back to my app on screen myextension.package.Screen1 instead of myapp.package.Screen1 and I am getting screen not found error. How to correct my manifest file. I am using fast 4.1.1.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="edu.redirect">
 <application>
    <activity android:name=".Screen1"
              android:exported="true">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="schoollocator" />
        </intent-filter>
    </activity>
</application>

</manifest>

Getting this error

fast build -r -m
  __           _   
 / _| __ _ ___| |_ 
| |_ / _` / __| __|
|  _| (_| \__ \ |_ 
|_|  \__,_|___/\__| (v4.3.0-premium)

- Cleaning build caches
x java.io.FileNotFoundException: android.jar is absent at: /Users/apple/Work/Development-extension/Fast/fast/lib/android/android-34/android.jar
	at com.jewel.fast.repacked.cx.<init>(Build.java:9331)
	at com.jewel.fast.Fast.main(Fast.java:86)

Exception in thread "main" java.lang.RuntimeException: java.io.FileNotFoundException: android.jar is absent at: /Users/apple/Work/Development-extension/Fast/fast/lib/android/android-34/android.jar
	at com.jewel.fast.Fast.handleMainException(Fast.java:142)
	at com.jewel.fast.Fast.main(Fast.java:125)

Running fast sync or fast upgrade -f will fix this issue.

fast sync
  __           _   
 / _| __ _ ___| |_ 
| |_ / _` / __| __|
|  _| (_| \__ \ |_ 
|_|  \__,_|___/\__| (v4.3.0-premium)

- Fetching local dependencies
- Resolving android-34.jar
java.util.concurrent.ExecutionException: java.io.FileNotFoundException: https://raw.githubusercontent.com/jewelshkjony/fast-cli/refs/heads/main/resources/android-34.zip
	at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
	at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
	at com.jewel.fast.repacked.dH.b(DownloadManager.java:115)
	at com.jewel.fast.repacked.cE.<init>(Sync.java:7546)
	at com.jewel.fast.Fast.main(Fast.java:94)
Caused by: java.io.FileNotFoundException: https://raw.githubusercontent.com/jewelshkjony/fast-cli/refs/heads/main/resources/android-34.zip
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:2030)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1626)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:224)
	at com.jewel.fast.repacked.dI.a(DownloadManager.java:156)
	at com.jewel.fast.repacked.dI.call(DownloadManager.java:137)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:842)
x java.lang.RuntimeException: Unable to download the android-34.jar, try again!
	at com.jewel.fast.repacked.cE.<init>(Sync.java:7566)
	at com.jewel.fast.Fast.main(Fast.java:94)

Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: Unable to download the android-34.jar, try again!
	at com.jewel.fast.Fast.handleMainException(Fast.java:142)
	at com.jewel.fast.Fast.main(Fast.java:125)
  Downloading: 0.00% (0.00 MB/0.00 MB) | 0.00 MB/s | 27s . estimating ^C%       apple@MacBook-Pro-von-Apple appwriteauth2 % fast sync -self
  __           _   
 / _| __ _ ___| |_ 
| |_ / _` / __| __|
|  _| (_| \__ \ |_ 
|_|  \__,_|___/\__| (v4.3.0-premium)

- Fetching local dependencies
- Resolving android-34.jar
java.util.concurrent.ExecutionException: java.io.FileNotFoundException: https://raw.githubusercontent.com/jewelshkjony/fast-cli/refs/heads/main/resources/android-34.zip
	at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
	at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
	at com.jewel.fast.repacked.dH.b(DownloadManager.java:115)
	at com.jewel.fast.repacked.cE.<init>(Sync.java:7546)
	at com.jewel.fast.Fast.main(Fast.java:94)
Caused by: java.io.FileNotFoundException: https://raw.githubusercontent.com/jewelshkjony/fast-cli/refs/heads/main/resources/android-34.zip
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:2030)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1626)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:224)
	at com.jewel.fast.repacked.dI.a(DownloadManager.java:156)
	at com.jewel.fast.repacked.dI.call(DownloadManager.java:137)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:842)
x java.lang.RuntimeException: Unable to download the android-34.jar, try again!
	at com.jewel.fast.repacked.cE.<init>(Sync.java:7566)
	at com.jewel.fast.Fast.main(Fast.java:94)

Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: Unable to download the android-34.jar, try again!
	at com.jewel.fast.Fast.handleMainException(Fast.java:142)
	at com.jewel.fast.Fast.main(Fast.java:125)
  Downloading: 0.00% (0.00 MB/0.00 MB) | 0.00 MB/s | 3s . estimating ^C%     ```

Or edit the fast.yml and change the compile sdk to 35.

Oh, got it. thanks

1 Like

Fixed this by creating a new activity instead of screen1.

1 Like

:robot: An update is available 4.3.1

Date built: 25.08.25.23.01 :bangladesh:


  • Added support for Android Interface Definition Language (AIDL).
  • Shorthand class names should start with three dots. E.g: (...MyService)
  • A few minor bugs have been fixed.

3 Likes

Installation guide for Android Termux users.

:man_running: An update is available 4.5.0

Date built: 07.09.25.13.08 :bangladesh:


  • Moved naming convention checker to annotation processor.
  • Supports writing descriptions without declaring the description attribute. E.g: @SimpleFunction("Hello description")
  • Added the ability to define attachable AARs within dependencies. E.g: groupId:artifactId:version:aar
  • Added AIDL compiler for Android Termux.
  • Deletes AIDL build caches on JVM exit.

3 Likes

can you help me with this issue?

Try the manual process:

I have to congratulate the creator of FAST! It's excellent! I've already created five complex extensions with the free version, but now I want to go further and have purchased the Premium version because I need to integrate external libraries and more. Let's see what I can do!
Good luck everyone!

1 Like

Even i can't create simple math extension because of asking license key for Dependencies.

Using remote dependencies is designated as a premium feature.

1 Like

:heart_on_fire: An update is available 5.0.0

Date built: 16.09.25.23.58 :bangladesh:


Breaking changes:

  • Uses Android API specific D8 library.
  • Changed local AAR parsing process.
  • Changed AndroidHome path.
  • Changed KotlinHome path.
  • Changed AIDL compiler path.
  • Modified processor.jar.
  • Changed premium token system.
    • It'll affect all the existing premium users. (Get in touch to get new token)

Bug fixes:

  • AIDL compiling issues for Termux have been resolved.
  • Some internal changes and minor bug fixes have been made.

Improvements:

  • Updated filter_mit_classes entries.
  • Updated Java & Kotlin compilers.
  • Enhanced overall performance.
  • Updated Blocks generator.

4 Likes

:loudspeaker: An update is available 5.1.0

Date built: 28.09.25.12.54 :bangladesh:


:triangular_flag_on_post: Breaking changes:

  • Shadow blocks added to the Blocks Generator.
  • Added a new annotation (@Shadow) to customize shadow blocks. (Learn more)
  • Added value tag to the @IsColor annotation to customize the color shadow blocks.
  • Updated the annotation processor.

:bulb: Improvements and bug fixes:

  • Updated Docs writer to be compatible with Shadow blocks.
  • Check for valid class name while creating a new project.
  • Fixed a dependency merging issue.
  • Updated AARs process system.
  • Fixed IDE suggestion issues for local AARs.
  • Resolve sources.jar via Gradle if available.

4 Likes

Good job.

1 Like