mirror of
https://github.com/MetaCubeX/ClashMetaForAndroid.git
synced 2026-06-11 21:01:06 +08:00
ClashMetaForAndroid
| .github | ||
| .idea/codeStyles | ||
| app | ||
| common | ||
| core | ||
| design | ||
| fastlane/metadata/android | ||
| gradle/wrapper | ||
| hideapi | ||
| service | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| build.gradle.kts | ||
| CONTRIBUTING.md | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| LICENSE | ||
| NOTICE | ||
| PRIVACY_POLICY.md | ||
| README.md | ||
| release.keystore | ||
| settings.gradle.kts | ||
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
Kernel Contribution
- 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
Project Maintainance
- 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 automatically compile and publish aPreReleaseversion. - Manually triggering
Build Releaseactions will automatically compile, tag and publish aReleaseversion.- There is an option
Auto bump project versionin trigger widget. If this option is checked and triggered, theversionNameandversionCodeinbuild.gradle.ktswill be bumped first, then do the common build release process. - This option is intended for quickly update and release a new version online, without pulling the repository locally and work around by manual.
- There is an option
