mirror of
https://github.com/MetaCubeX/ClashMetaForAndroid.git
synced 2024-11-16 02:22:17 +08:00
A rule-based tunnel for Android.
ecf03507e6
commit 574fba87ab733332efa17733a6602a1649e62379 Author: Steve Johnson <stevejohnson1438@proton.me> Date: Sun Oct 29 21:31:23 2023 +0800 support importing local geofile commit ec410293f3abe29835645233349d026d3a55acc0 Author: Steve Johnson <stevejohnson1438@proton.me> Date: Sun Oct 29 17:18:52 2023 +0800 release assets at runtime commit 2dfb95bab98ba661a28efe255e2965c35c6580c4 Author: Steve Johnson <stevejohnson1438@proton.me> Date: Sun Oct 29 16:43:41 2023 +0800 remove embedded country.mmdb commit fb245ed4a3c257284685f3b1bee5d9f7333833ce Author: Steve Johnson <stevejohnson1438@proton.me> Date: Sun Oct 29 16:35:14 2023 +0800 simplity gradle commit 2fb75c87a13dea7e5c8f8f4126cc53d2d6926b99 Author: Steve Johnson <stevejohnson1438@proton.me> Date: Sun Oct 29 16:06:17 2023 +0800 add geofiles download |
||
---|---|---|
.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
,x86
orx86_64
Architecture
Build
-
Update submodules
git submodule update --init --recursive
-
Install OpenJDK 11, Android SDK, CMake and Golang
-
Create
local.properties
in project root withsdk.dir=/path/to/android-sdk
-
Create
signing.properties
in 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-real
branch underMetaCubeX/Clash.Meta
, which is a merge of the mainAlpha
branch andandroid-open
.- If you want to contribute to the kernel, make PRs to
Alpha
branch of the Meta kernel repository. - If you want to contribute Android-specific patches to the kernel, make PRs to
android-open
branch of the Meta kernel repository.
- If you want to contribute to the kernel, make PRs to
Project Maintainance
- When
MetaCubeX/Clash.Meta
kernel is updated to a new version, theUpdate Dependencies
actions 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-Release
actions will automatically compile and publish aPreRelease
version. - Manually triggering
Build Release
actions will automatically compile, tag and publish aRelease
version.- There is an option
Auto bump project version
in trigger widget. If this option is checked and triggered, theversionName
andversionCode
inbuild.gradle.kts
will 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