WIP # Building from source You will need: * Python 3.12 * Java 17 JDK * Android Studio/Android dev tools (Specifically, `zipalign`) * Some understand of android development You can invoke the python script directly using `python build.py ...` or using the bash script: `./build.sh ...`. Use whichever you prefer. 1. Copy `zipalign` or `zipalign.exe` from your android build tools (ver. 35) into `tools` 2. If you want a release build, generate a keystore and name it `release.keystore` in `keystores` using `keytool` 3. Get a copy of the tumblr apk version `34.3.0.110` and place it inside `source-apk` (Naming doesn't matter) 4. Run the build script using `python build.py build r` 5. Copy the output apk (in `build/apk/tumblr-ykit.apk`) wherever you need it. Build commands and flags: `./build.sh extract` - Extracts the apk's contents into `build/extracted` `./build.sh clean` - Cleans up the workspace by deleting the `build` directory `./build.sh assemble` - Assembles the ykit apk without signing or aligning it `./build.sh build [flags]` - Builds the apk and aligns and signs it using the specified key. Build flags: `a` - Deploy to android studio in `~/ApkProjects/tumblr-ykit`. To generate one, open AS, and load the apk. From then on you will not need to repeat this step unless you want to analyze the code (TODO: This explanation is garbage.) `r` - Sign using release keystore `keystores/release.keystore` (You will have to create it yourself) `d` - Sign using the debug keystore `keystores/debug.keystore` (It will be created automatically)