(Mostly) deobfuscated, compilable source code of the exteraGram client
Don't use exteraGram, use exteraless
Quick build:
git clone https://github.com/thebadinteger/exteraGram.git
cd exteraGram
./gradlew :TMessagesProj_AppStandalone:assembleAfatDebug- JDK: Java Development Kit 17
- Android SDK:
- Compile SDK:
36 - Target SDK:
36 - Min SDK:
24 - Build Tools:
35.0.0
- Compile SDK:
In gradle.properties, locate the native build toggle:
# Set to 'true' to compile all C/C++ libraries from source using Android NDK and CMake
# Set to 'false' to use precompiled high-performance .so libraries from src/main/jniLibs.
buildNativeFromSource=falsebuildNativeFromSource=true:
Requirements:
- Android NDK version
27.2.12479018(or compatible) - CMake
3.22.1+ - At least 16 GB RAM and 40 GB free disk space
Windows (PowerShell / CMD):
# Universal fat APK:
.\gradlew.bat :TMessagesProj_AppStandalone:assembleAfatDebug
# 64-bit ARM APK:
.\gradlew.bat :TMessagesProj_AppStandalone:assembleArm64Debug
# 32-bit ARM APK:
.\gradlew.bat :TMessagesProj_AppStandalone:assembleArmv7Debug
# Build all variants simultaneously:
.\gradlew.bat :TMessagesProj_AppStandalone:assembleDebugLinux / macOS:
chmod +x gradlew
# Universal fat APK:
./gradlew :TMessagesProj_AppStandalone:assembleAfatDebug
# 64-bit ARM APK:
./gradlew :TMessagesProj_AppStandalone:assembleArm64Debug
# 32-bit ARM APK:
./gradlew :TMessagesProj_AppStandalone:assembleArmv7Debug
# Build all variants simultaneously:
./gradlew :TMessagesProj_AppStandalone:assembleDebugOutput APK files will be generated under:
TMessagesProj_AppStandalone/build/outputs/apk/
afat/debug/app-afatDebug.apk(Universal)arm64/debug/app-arm64Debug.apk(ARM 64-bit)armv7/debug/app-armv7Debug.apk(ARM 32-bit)
In the Build Variants panel on the left, select your target variant
Run or build the project via Build -> Build Bundle(s) / APK(s) -> Build APK(s)
To produce release-signed APKs, configure your signingConfigs in TMessagesProj_AppStandalone/build.gradle or supply keystore parameters via command line flags:
./gradlew :TMessagesProj_AppStandalone:assembleAfatRelease \
-Pandroid.injected.signing.store.file=/path/to/keystore.jks \
-Pandroid.injected.signing.store.password=YOUR_PASSWORD \
-Pandroid.injected.signing.key.alias=YOUR_ALIAS \
-Pandroid.injected.signing.key.password=YOUR_PASSWORDOfficial Compilation guide: DrKLO/Telegram/README.md
The original Telegram code is published under the GNU GPLv2 license