36 lines
1.6 KiB
Markdown
36 lines
1.6 KiB
Markdown
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) |