🏃‍♂️ Fast : An Efficient Way to Build Extensions

one more thing:
I need this to be case sensative.
image

and the folder name has to be seperated by '-' ?
image

2 Likes

What you are showing is the project folder, not the package. Go to the src folder and check the folder tree there, and what the package name is in the java file.

2 Likes

Yes, you can. When you add or remove dependencies from project, you need to run fast sync to reconfigure the referenced libraries..

Yes, always you need to do the same thing for manual installation process.

I'll try to add an additional command to do that.

1 Like

If this results in the package name being in uppercase letters, this is not a good idea. What do you mean? com.extension.MyExtension.MyExtension instead of com.extension.myextension.MyExtension ?

2 Likes

Yes, you're right. As per @Kevinkun's requirements, I believe that we can just rename the aix file.

1 Like

Let's stick to this:

Optionally you can add a custom name for the resulting aix file, but this can be done manually as you wrote.

2 Likes

Exactly, I had to do the same to get the correct (new) Fast version. But it still doesn't work:

grafik

Maybe someone can see something from the log file:

fast is initialized.
PROJECT_DIR: D:\FAST\test2
Got the JAVA_HOME by system property.
JAVA_HOME: C:\Program Files\Java\jre1.8.0_421
Got FAST_HOME from environment variable.
FAST_HOME: C:\Users\Jo\AppData\Local\Fast
KOTLIN_HOME: C:\Users\Jo\AppData\Local\Fast\lib\kotlinc
fast.yml is found at: D:\FAST\test2\fast.yml
AndroidManifest.xml is found at: D:\FAST\test2\src\AndroidManifest.xml
Package name is: de.bmp.test2
Cleaning build caches.
Checking the availablity of .kt files.
Checking the availablity of .java file.
Getting provided libraries.
Got 85 libraries.
Got 85 provided libraries.
Add a dummy jar to provided classpath for Linux
Getting the libraries of deps folder.
Got 0 libraries.
Increasing components version.
Compiling java classes.
Found 1 sources.
Added custom bootclasspath for Java 8.
null
java.lang.NullPointerException
java.lang.NullPointerException
at com.jewel.fast.repacked.SUzqaHHkMkDOgKxLCjZYutSTuYzrvQVtyOdCxCBpwVVEvGzixNTmawXaqiBBSiTi.(Unknown Source)
at com.jewel.fast.repacked.sHyjDKduuuOczIYWBullTJrSBmthyQueJQbAIwZGBSANCzUtvoGiBFuKhaLsRzpP.(Unknown Source)
at com.jewel.fast.Fast.main(Unknown Source)

Got FAST_HOME from environment variable.


There is no such environment variable "JAVA_HOME C:\Program Files\Java\jre1.8.0_421" (but .../jdk1.8.0_421").

1 Like

I can't compile my extension which requires androidx libraries to be packed, because it requires different versions of them. I also have to pack: testing-support-R-classes.jar, which is compiled in java11 by MIT. However, when I want to switch to compiling in java11, I change the path to javac to the path to java11, and replace r8.jar with the one r8 for java11, I get the error: - no main manifest attribute, in C:\Users\Patryk\AppData\Local\Fast\lib\tools\d8.jar

2 Likes

How do I generate a log file because it doesn't appear for me.

2 Likes

2 Likes

grafik

3 Likes

Ok, I was looking for this file in the project folder...

3 Likes

Only the latest version of Fast is generates logs.txt at the installation location.

1 Like

image

You need to make sure that the d8.jar has main class declared in MANIFEST.MF

1 Like

Ok I decompiled the jar file with R classes and used them in the java company. I switched to javac and d8 for jdk8. I have no error during compilation, but the compiler hangs:

- Coping extension assets
- Reading the AndroidManifest.xml
- Merging dependencies into a single jar
- Generating AndroidRuntime.jar
- Generating DEX bytecode

It has been like this for a long time and the dex file is not created.

2 Likes

Please try after enabling the desugar_dex: true. And please update the tool to the latest version.

1 Like

If you're talking about the latest version of Fast, then I have the latest version.

2 Likes

In case I do not use Proguard it helps and the extension is created. But when I use Proguard the situation repeats.

1 Like

Please make sure that the installed version is:

1.1.4 19.10.2024.08.13

1 Like

Yes, that's that version.

image

Can't you display information about what D8 is currently doing? Can you configure Fast to use R8 instead of Proguard to optimize extensions? I've read that R8 does it better.

1 Like