How to Obtain the Source Code of an .aix Extension in MIT App Inventor?
Hello App Inventor Community,
I hope you're all doing well!
I have been working with MIT App Inventor and have come across various extensions (.aix files) that greatly enhance the capabilities of my projects. However, for educational purposes and to better understand how these extensions work, I am interested in viewing the source code of these .aix extensions. Additionally, I would like to enhance the code of some .aix files by adding useful functions to their older versions.
Could anyone guide me on how to obtain or view the source code of an .aix extension? Specifically, I would like to know:
Is it legally and ethically permissible to decompile or view the source code of .aix extensions?
What tools or methods are available to decompile or extract the source code from an .aix file?
Are there any specific steps or precautions to take while attempting to decompile these files?
Are there any resources or tutorials available that can assist in understanding the structure and creation of .aix extensions?
I appreciate any advice, tools, or resources you can share. Understanding the source code will not only help me learn but also enable me to enhance existing extensions by adding new functionalities.
The forum is not supposed to provide legal advice. But, if the closed-source extension comes with a license/agreement that prohibits obtaining the source code of the extension, or if the source code is copyrighted, it's illegal. Even if decompiling the extension is legal, the license may prohibit you from publishing the source code.
As for the morality of decompiling extensions, I'd say there are probably reasons why developers don't publish the source code of their extensions. Maybe they've worked very hard to find new methods/workarounds, and don't want the whole world to see their findings. As a developer myself I respect that. In some countries it may be legal to decompile software but by doing so you've probably made someone sad.
You need to enable desugar feature from rush.yml. See below
# If enabled, you will be able to use Java 8 language features in your extension.
desugar:
enable: true
desugar_deps: true # Enable it when your dependencies uses Java 8.