The tumblr android enhancement project
Find a file
2024-08-20 01:24:18 +02:00
.vscode Rewrote patcher.py 2024-08-20 00:58:17 +02:00
buildtool Much debugging later... 2024-08-20 01:24:18 +02:00
src Rewrote patcher.py 2024-08-20 00:58:17 +02:00
tools Refactored tool paths to util.py, and added linux version of zipalign 2024-08-19 20:00:38 +02:00
.gitignore Process of rewriting build system... yet again 2024-08-17 17:52:49 +02:00
build.bat More stuff with dex 2024-08-18 00:39:32 +02:00
build.sh Process of rewriting build system... yet again 2024-08-17 17:52:49 +02:00
msys.bat Process of rewriting build system... yet again 2024-08-17 17:52:49 +02:00
NOTE.txt Specified api level 26 to be used with smali and updated to 3.0.5 2024-08-18 01:44:10 +02:00
README.md fixed readme 2024-07-27 19:37:39 +02:00
requirements.txt Rewrote patcher.py 2024-08-20 00:58:17 +02:00
TODO.txt Rewrote patcher.py 2024-08-20 00:58:17 +02: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
  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)