2024-07-26 17:22:01 +00:00
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`
2024-07-26 21:37:20 +00:00
3. Get a copy of the tumblr apk version `34.3.0.110` and place it inside `source-apk` (Naming doesn't matter)
2024-07-26 17:22:01 +00:00
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`
2024-07-27 17:37:39 +00:00
2024-07-26 17:22:01 +00:00
`./build.sh clean` - Cleans up the workspace by deleting the `build` directory
2024-07-27 17:37:39 +00:00
2024-07-26 17:22:01 +00:00
`./build.sh assemble` - Assembles the ykit apk without signing or aligning it
2024-07-27 17:37:39 +00:00
`./build.sh build [flags]` - Builds the apk and aligns and signs it using the specified key.
2024-07-26 17:22:01 +00:00
Build flags:
2024-07-27 17:37:39 +00:00
2024-07-26 17:22:01 +00:00
`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.)
2024-07-27 17:37:39 +00:00
2024-07-26 17:22:01 +00:00
`r` - Sign using release keystore `keystores/release.keystore` (You will have to create it yourself)
2024-07-27 17:37:39 +00:00
`d` - Sign using the debug keystore `keystores/debug.keystore` (It will be created automatically)