diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml new file mode 100644 index 00000000..0409a418 --- /dev/null +++ b/.github/workflows/android.yml @@ -0,0 +1,71 @@ +name: Android CI + +on: + push: + branches: [ main ] + +jobs: + libcore: + name: Native Build (LibCore) + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Golang Status + run: find buildScript libcore/*.sh | xargs cat | sha1sum > golang_status + - name: Libcore Status + run: git ls-files libcore | xargs cat | sha1sum > libcore_status + - name: LibCore Cache + id: cache + uses: actions/cache@v3 + with: + path: | + app/libs/libcore.aar + key: ${{ hashFiles('.github/workflows/*', 'golang_status', 'libcore_status') }} + - name: Install Golang + if: steps.cache.outputs.cache-hit != 'true' + uses: actions/setup-go@v3 + with: + go-version: ^1.21 + - name: Native Build + if: steps.cache.outputs.cache-hit != 'true' + run: ./run lib core + build: + name: Build APK + runs-on: ubuntu-latest + needs: + - libcore + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Golang Status + run: find buildScript libcore/*.sh | xargs cat | sha1sum > golang_status + - name: Libcore Status + run: git ls-files libcore | xargs cat | sha1sum > libcore_status + - name: LibCore Cache + uses: actions/cache@v3 + with: + path: | + app/libs/libcore.aar + key: ${{ hashFiles('.github/workflows/*', 'golang_status', 'libcore_status') }} + - name: Gradle cache + uses: actions/cache@v3 + with: + path: ~/.gradle + key: gradle-oss-${{ hashFiles('**/*.gradle.kts') }} + - name: Gradle Build + env: + BUILD_PLUGIN: none + run: | + echo "sdk.dir=${ANDROID_HOME}" > local.properties + echo "ndk.dir=${ANDROID_HOME}/ndk/25.0.8775105" >> local.properties + export LOCAL_PROPERTIES="${{ secrets.LOCAL_PROPERTIES }}" + ./run init action gradle + ./gradlew app:assembleOssRelease + APK=$(find app/build/outputs/apk -name '*arm64-v8a*.apk') + APK=$(dirname $APK) + echo "APK=$APK" >> $GITHUB_ENV + - uses: actions/upload-artifact@v3 + with: + name: APKs + path: ${{ env.APK }} diff --git a/README.md b/README.md index a4820e68..67edefba 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ sing-box / universal proxy toolchain for Android. -一款使用 sing-box 的 Android 通用代理软件。 +一款使用 sing-box 的 Android 通用代理软件. ## 下载 / Downloads @@ -20,7 +20,7 @@ sing-box / universal proxy toolchain for Android. https://t.me/Matsuridayo -## 项目主页 & 文档 / Homepage & Documentation +## 项目主页 & 文档 / Homepage & Documents https://matsuridayo.github.io @@ -34,19 +34,19 @@ https://matsuridayo.github.io * VLESS * WireGuard * Trojan -* Trojan-Go ( trojan-go-plugin ) -* NaïveProxy ( naive-plugin ) -* Hysteria ( hysteria-plugin ) +* Trojan-Go (trojan-go-plugin) +* NaïveProxy (naive-plugin) +* Hysteria (hysteria-plugin) * TUIC -请到[这里](https://matsuridayo.github.io/m-plugin/)下载部分插件以获得完整的代理支持. +请到[这里](https://matsuridayo.github.io/m-plugin/)下载插件以获得完整的代理支持. Please visit [here](https://matsuridayo.github.io/m-plugin/) to download plugins for full proxy supports. ## 支持的订阅格式 / Supported Subscription Format -* 原始格式: 一些广泛使用的格式 (如 shadowsocks, clash 和 v2rayN) -* Raw: some widely used formats (like shadowsocks, clash and v2rayN) +* 原始格式: 一些广泛使用的格式 (如 Shadowsocks, Clash 和 v2rayN) +* Raw: some widely used formats (like Shadowsocks, Clash and v2rayN) ## 捐助 / Donate