🦸‍♂️ Recast migrates your old extensions to AndroidX, making them compatible with the latest version of Kodular.

Overview

Recast

Recast helps make your old extensions compatible with Kodular Creator version 1.5.0 or above.

Prerequisites

To use Recast, you need to have Java Runtime Environment (JRE) installed on your system. To check if you have it pre-installed, open your favorite terminal app and run the following:

java -version

If you get an output similar to below, JRE is already available on your system.

java version "1.8.0_281"
Java(TM) SE Runtime Environment (build 1.8.0_281-b09)

If you don't see an output similar to the above, you will need to install Java before installing Recast.

Installing

Recast is a command-line tool, and therefore, you first need to install it on your computer to use it. As of now, Recast can be installed on the following operating systems:

  • Windows (64 bit)
  • macOS (x86_64 arch)
  • GNU/Linux (x86_64 arch)

Using PowerShell (Windows)

  1. Open PowerShell.

  2. Copy and paste the following and hit enter:

     iwr https://raw.githubusercontent.com/shreyashsaitwal/recast/main/scripts/install.ps1 -useb | iex
  3. Done! Run recast --help to verify installation.

Using Shell (macOS and Linux)

  1. Open your favorite shell (terminal).

  2. Copy and paste the following and hit enter:

     curl https://raw.githubusercontent.com/shreyashsaitwal/recast/main/scripts/install.sh -fsSL | sh
  3. Once the download is complete, add Recast to your PATH by copying the export command from the output (as shown below) and running it:

    export

  4. Done! Run recast --help to verify installation.

Usage

Recasting extensions (AIX)

To make your old extension compatible with Kodular >1.5.0 using Recast, go through the following steps:

  1. Navigate to the directory/folder where your extension is placed.
  2. Open your favorite terminal in that directory.
  3. Now, run the following:
    recast --input you.extension.aix
    (Here, your.extension.aix is the name of your extension)
  4. Bingo! A new, recasted extension with the name your.extension.x.aix is generated in the current working and ready to be used.

Recasting AIAs

Starting with Recast v0.2.0, you get the ability to recast your AIA files as well. This reduces the manual work of re-importing every recasted extension in your project.

  1. Navigate to the directory/folder where your AIA is placed.
  2. Open your favorite terminal in that directory.
  3. Now, run the following:
    recast --input you_app.aia
    (Here, you_app.aia is the name of your AIA file)
  4. And there you go! All the extensions in your AIA are now recasted, and the new AIA can be found in the same directory with name your_app_x.aia.

Note: When you import a recasted AIA in Kodular (or AI2), your existing project isn't affected. Instead, a separate project with name your_app_x is created with all the existing work preserved.

Tips

  • You can recast multiple extensions/AIAs all at once by gathering them all in one directory and then running:

    recast --input directory_path

    (Here, directory_path is the path to the directory where extensions/AIAs are stored.)

  • If you want to output the recasted extension/AIAs in a separate directory, all you need to do is specify the --output option and pass the path to your desired directory.

    recast --input you_aix_or_aia --output output_dir_path

    (Here, output_dir_path is the path to the output directory.)

FAQ

  1. Do I need to recast every extension to make it compatible with Kodular >1.5.0?
    Ans. No, you don't need to. Only the extensions that started throwing errors after the latest update need to be recasted.

  2. Why does Recast print No references to support libraries found when I try to recast my extension?
    Ans. It means that your extension is already compatible with Kodular >1.5.0, and you don't need to recast it.

You might also like...
💫 Small microservice to handle state changes of Kubernetes pods and post them to Instatus or Statuspages

💫 Kanata Small microservice to handle state changes of Kubernetes pods and post to Instatus 🤔 Why? I don't really want to implement and repeat code

Generate enum from a trait, with converters between them
Generate enum from a trait, with converters between them

Derive macro for Rust that turns traits into enums, providing tools for calling funtions over channels

1️⃣ el lisp number uno - one lisp to rule them all 🏆

luno el lisp number uno luno is the one lisp to rule them all. Still experimental, do not use it in production yet. goals embeddable small size simple

Peekable iterator that allows to peek the next N elements without consuming them.

peekaboo docs - crates.io Peekable iterator that allows to peek the next N elements without consuming them. It's no_std compatible by default. It also

One copy of Electron to rule them all.

chroma One copy of Electron to rule them all. chroma keeps a central, up-to-date version of Electron, and makes all your installed Electron apps use i

A crate providing a tracing-subscriber layer for formatting events so Datadog can parse them

Datadog Formatting Layer A crate providing a tracing-subscriber layer for formatting events so Datadog can parse them. Features Provides a layer for t

A lightning fast version of tmux-fingers written in Rust, copy/pasting tmux like vimium/vimperator
A lightning fast version of tmux-fingers written in Rust, copy/pasting tmux like vimium/vimperator

tmux-thumbs A lightning fast version of tmux-fingers written in Rust for copy pasting with vimium/vimperator like hints. Usage Press ( prefix + Space

A simplified but faster version of Routerify
A simplified but faster version of Routerify

Routerify lite Routerify-lite is a simplified but faster version of Routerify. It only provides below functions: path matching error handling Why not

Rust version of tomnomnom/waybackurls

wayback-rs Rust version of tomnomnom/waybackurls Command line interface for fetching url from Wayback Machine, CommonCrawl, VirusTotal.

Releases(v0.2.1)
Owner
Shreyash Saitwal
Rise Above the Rest
Shreyash Saitwal
Extensions for x64dbg written in Rust: Telescope and Unicorn powered disassembly

This is the library that extends x64dbg with new features: Telescope. It's basically recursive dereferencerer of memory view which looks at the pointe

null 18 Sep 11, 2022
"Philips Ambilight for desktops". A tool to generate color palettes from your desktop wallpaper and send them to Home Assistant.

Desktop Dye DesktopDye is an open source project written in Rust that allows users to have their lights paired with Home Assistant adjust to the most

Jeroen Meijer (Jay) 7 Feb 22, 2023
Rust crate for making Read streams peekable.

peekread This crate allows you to take an arbitrary Read stream and 'peek ahead' into the stream without consuming the original stream. This is done t

Orson Peters 21 Oct 29, 2022
A simple wrapper for the detour-rs library that makes making hooks much more concise

A simple wrapper for the detour-rs library that makes making hooks much more concise

Khangaroo 6 Jun 21, 2022
A Rust utility library, making easier by taking the hassle out of working. :octocat:

reddish A Rust utility library, making easier by taking the hassle out of working. Usage Add this to your Cargo.toml: [dependencies] reddish = "0.2.0"

Rogério Araújo 12 Jan 21, 2023
serde-compatible redis library for Rust

Undis Undis is a serde-compatible redis library for Rust. WIP This project is currently under heavy development. Use it at your own risk. Todo Add #[d

Hyeonu Park 8 Jan 24, 2022
A rust `tracing` compatible framework inspired by log4rs.

trace4rs This crate allows users to configure output from tracing in the same way as you would configure the output of log4rs. Overview For a usage ex

Imperva 5 Oct 24, 2022
High-performance BitTorrent tracker compatible with UNIT3D tracker software

UNIT3D-Announce High-performance backend BitTorrent tracker compatible with UNIT3D tracker software. Usage # Clone this repository $ git clone https:/

HDInnovations 4 Feb 6, 2023
Pure rust implementation of python's random module with compatible generator behaviour.

pyrand Pure rust implementation of (parts of) python's random module with compatible PRNG behaviour: seeding with equivalent values will yield identic

Stefan V. 4 Feb 10, 2024
A tool to subscribe to Twitch channels and store them efficiently on disk

twitch-messages A tool to subscribe to Twitch channels and store them efficiently on disk Build the Tools You can start by building the binaries that

Clément Renault 1 Oct 31, 2021