mirror of
https://github.com/MetaCubeX/ClashMetaForAndroid.git
synced 2026-05-09 18:11:26 +08:00
b2ba3cd20bacd94386e296492454ef72d6c417da
Delete and replace geo files if the app has been updated since the files were last modified. This ensures bundled geo files are refreshed after app updates.
Clash Meta for Android
A Graphical user interface of Clash.Meta for Android
Feature
Feature of Clash.Meta
Requirement
- Android 5.0+ (minimum)
- Android 7.0+ (recommend)
armeabi-v7a,arm64-v8a,x86orx86_64Architecture
Build
-
Update submodules
git submodule update --init --recursive -
Install OpenJDK 11, Android SDK, CMake and Golang
-
Create
local.propertiesin project root withsdk.dir=/path/to/android-sdk -
Create
signing.propertiesin project root withkeystore.path=/path/to/keystore/file keystore.password=<key store password> key.alias=<key alias> key.password=<key password> -
Build
./gradlew app:assembleMeta-AlphaRelease
Automation
APP package name is com.github.metacubex.clash.meta
- Toggle Clash.Meta service status
- Send intent to activity
com.github.kr328.clash.ExternalControlActivitywith actioncom.github.metacubex.clash.meta.action.TOGGLE_CLASH
- Send intent to activity
- Start Clash.Meta service
- Send intent to activity
com.github.kr328.clash.ExternalControlActivitywith actioncom.github.metacubex.clash.meta.action.START_CLASH
- Send intent to activity
- Stop Clash.Meta service
- Send intent to activity
com.github.kr328.clash.ExternalControlActivitywith actioncom.github.metacubex.clash.meta.action.STOP_CLASH
- Send intent to activity
- Import a profile
- URL Scheme
clash://install-config?url=<encoded URI>orclashmeta://install-config?url=<encoded URI>
- URL Scheme
Contribution and Project Maintenance
Meta Kernel
- CMFA uses the kernel from
android-realbranch underMetaCubeX/Clash.Meta, which is a merge of the mainAlphabranch andandroid-open.- If you want to contribute to the kernel, make PRs to
Alphabranch of the Meta kernel repository. - If you want to contribute Android-specific patches to the kernel, make PRs to
android-openbranch of the Meta kernel repository.
- If you want to contribute to the kernel, make PRs to
Maintenance
- When
MetaCubeX/Clash.Metakernel is updated to a new version, theUpdate Dependenciesactions in this repo will be triggered automatically.- It will pull the new version of the meta kernel, update all the golang dependencies, and create a PR without manual intervention.
- If there is any compile error in PR, you need to fix it before merging. Alternatively, you may merge the PR directly.
- Manually triggering
Build Pre-Releaseactions will compile and publish aPreReleaseversion. - Manually triggering
Build Releaseactions will compile, tag and publish aReleaseversion.- You must fill the blank
Release Tagwith the tag you want to release in the format ofv1.2.3. versionNameandversionCodeinbuild.gradle.ktswill be automatically bumped to the tag you filled above.
- You must fill the blank
Languages
Kotlin
87.5%
Go
7.4%
C
4.6%
CMake
0.5%
