Official APKs use the following Android signing certificate:
- Package name:
io.skadi.arkgram - SHA-256:
90:FF:62:DD:05:E7:E6:EE:F6:65:B4:E2:36:93:D4:1A:32:90:A2:A3:B7:1F:A8:46:25:97:4C:97:EA:60:A8:09
-
Clone the repository with its submodules:
git clone --recursive --shallow-submodules https://github.com/sudo-bai/Arkgram.git Arkgram
If you already cloned the repository without submodules, run:
git submodule update --init --recursive --depth=1
-
Obtain API credentials (
TELEGRAM_APP_IDandTELEGRAM_APP_HASH) from Telegram Developer Portal. Createlocal.propertiesin the project root with:TELEGRAM_APP_ID=<your_telegram_app_id> TELEGRAM_APP_HASH=<your_telegram_app_hash>
-
For APK signing: Replace
release.keystorewith your keystore and add signing configuration tolocal.properties:KEYSTORE_PASS=<your_keystore_password> ALIAS_NAME=<your_alias_name> ALIAS_PASS=<your_alias_password>
-
For FCM support: Replace
TMessagesProj/google-services.jsonwith your own configuration file. -
Replace project-specific metadata:
- Set your Google Maps API key in the
com.google.android.maps.v2.API_KEYmeta-data entry inTMessagesProj/src/main/AndroidManifest.xml. - Set
BaseRemoteHelper.CHANNEL_METADATA_IDinTMessagesProj/src/main/java/tw/nekomimi/nekogram/helpers/remote/BaseRemoteHelper.javato your metadata channel's numeric ID, without the-100prefix.
- Set your Google Maps API key in the
-
Open the project in Android Studio to start building.
The workflow can be used from a fork of this repository.
-
Replace
TMessagesProj/release.keystorewith your keystore file. -
Configure
local.propertieswith the following:KEYSTORE_PASS=<your_keystore_password> ALIAS_NAME=<your_alias_name> ALIAS_PASS=<your_alias_password> TELEGRAM_APP_ID=<your_telegram_app_id> TELEGRAM_APP_HASH=<your_telegram_app_hash>
Base64 encode the contents of this file.
-
Configure GitHub Action secrets:
LOCAL_PROPERTIES: Base64-encoded content from step 2HELPER_BOT_TOKEN: Telegram bot token from @Botfather (e.g.,1111:abcd)HELPER_BOT_TARGET: Primary Telegram chat ID (e.g.,777000)HELPER_BOT_CANARY_TARGET: Chat ID for test builds and metadata (can matchHELPER_BOT_TARGET)
-
Trigger the Release Build workflow.