30 lines
1.5 KiB
Markdown
30 lines
1.5 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 <TODO> 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]` - Buildss 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)
|
||
|
`r` - Sign using the debug keystore `keystores/debug.keystore` (It will be created automatically)
|