Use Shizuku User Service for performDexOptMode on Android 14+ #139
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Android CI | ||
| on: | ||
| push: | ||
| branches: [ master ] | ||
| pull_request: | ||
| workflow_dispatch: | ||
| jobs: | ||
| build: | ||
| name: Build | ||
| runs-on: ubuntu-latest | ||
| env: | ||
| CCACHE_COMPILERCHECK: '%compiler% -dumpmachine; %compiler% -dumpversion' | ||
| CCACHE_NOHASHDIR: 'true' | ||
| CCACHE_HARDLINK: 'true' | ||
| CCACHE_BASEDIR: '${{ github.workspace }}' | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| submodules: 'recursive' | ||
| fetch-depth: 0 | ||
| - name: Write key | ||
| if: github.event_name != 'pull_request' && github.ref == 'refs/heads/master' | ||
| run: | | ||
| if [ ! -z "${{ secrets.KEY_STORE }}" ]; then | ||
| echo androidStorePassword='${{ secrets.KEY_STORE_PASSWORD }}' >> gradle.properties | ||
| echo androidKeyAlias='${{ secrets.ALIAS }}' >> gradle.properties | ||
| echo androidKeyPassword='${{ secrets.KEY_PASSWORD }}' >> gradle.properties | ||
| echo androidStoreFile='key.jks' >> gradle.properties | ||
| echo ${{ secrets.KEY_STORE }} | base64 --decode > key.jks | ||
| fi | ||
| - name: Setup Java | ||
| uses: actions/setup-java@v4 | ||
| with: | ||
| java-version: '21' | ||
| distribution: 'temurin' | ||
| - name: Setup Gradle | ||
| uses: gradle/actions/setup-gradle@v4 | ||
| - name: Setup Android SDK | ||
| uses: android-actions/setup-android@v3 | ||
| - name: Setup ninja | ||
| uses: seanmiddleditch/gha-setup-ninja@master | ||
| with: | ||
| version: 1.12.0 | ||
| - name: Remove Android's cmake | ||
| shell: bash | ||
| run: rm -rf $ANDROID_HOME/cmake | ||
| - name: Set short commit id | ||
| run: echo "commit=$(echo ${{ github.sha }} | cut -c-7)" > $GITHUB_ENV | ||
| - name: Build with Gradle | ||
| run: | | ||
| { | ||
| echo 'org.gradle.parallel=true' | ||
| echo 'org.gradle.jvmargs=-Xmx2048m' | ||
| echo 'android.native.buildOutput=verbose' | ||
| } >> gradle.properties | ||
| ./gradlew buildAll | ||
| - name: Upload Debug artifact | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: lspatch-debug-${{ env.commit }} | ||
| path: out/debug/* | ||
| - name: Upload Release artifact | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: lspatch-release-${{ env.commit }} | ||
| path: out/release/* | ||
| - name: Upload mappings | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: mappings-${{ env.commit }} | ||
| path: | | ||
| patch-loader/build/outputs/mapping | ||
| manager/build/outputs/mapping | ||
| - name: Upload symbols | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: symbols-${{ env.commit }} | ||
| path: | | ||
| patch-loader/build/symbols | ||
| - name: Post to channel | ||
| if: ${{ github.event_name != 'pull_request' && success() && github.ref == 'refs/heads/master' }} && false | ||
|
Check warning on line 98 in .github/workflows/main.yml
|
||
| env: | ||
| CHANNEL_ID: ${{ secrets.CHANNEL_ID }} | ||
| DISCUSSION_ID: ${{ secrets.DISCUSSION_ID }} | ||
| TOPIC_ID: ${{ secrets.TOPIC_ID }} | ||
| BOT_TOKEN: ${{ secrets.BOT_TOKEN }} | ||
| COMMIT_MESSAGE: ${{ github.event.head_commit.message }} | ||
| COMMIT_URL: ${{ github.event.head_commit.url }} | ||
| run: | | ||
| if [ ! -z "${{ secrets.BOT_TOKEN }}" ]; then | ||
| export jarRelease=$(find out/release -name "*.jar") | ||
| export managerRelease=$(find out/release -name "*.apk") | ||
| export jarDebug=$(find out/debug -name "*.jar") | ||
| export managerDebug=$(find out/debug -name "*.apk") | ||
| ESCAPED=`python3 -c 'import json,os,urllib.parse; msg = json.dumps(os.environ["COMMIT_MESSAGE"]); print(urllib.parse.quote(msg if len(msg) <= 1024 else json.dumps(os.environ["COMMIT_URL"])))'` | ||
| curl -v "https://api.telegram.org/bot${BOT_TOKEN}/sendMediaGroup?chat_id=${CHANNEL_ID}&media=%5B%7B%22type%22%3A%22document%22%2C%20%22media%22%3A%22attach%3A%2F%2FjarRelease%22%7D%2C%7B%22type%22%3A%22document%22%2C%20%22media%22%3A%22attach%3A%2F%2FmanagerRelease%22%7D%2C%7B%22type%22%3A%22document%22%2C%20%22media%22%3A%22attach%3A%2F%2FjarDebug%22%7D%2C%7B%22type%22%3A%22document%22%2C%20%22media%22%3A%22attach%3A%2F%2FmanagerDebug%22%2C%22caption%22:${ESCAPED}%7D%5D" -F jarRelease="@$jarRelease" -F managerRelease="@$managerRelease" -F jarDebug="@$jarDebug" -F managerDebug="@$managerDebug" | ||
| # curl -v "https://api.telegram.org/bot${BOT_TOKEN}/sendMediaGroup?chat_id=${DISCUSSION_ID}&message_thread_id=${TOPIC_ID}&media=%5B%7B%22type%22%3A%22document%22%2C%20%22media%22%3A%22attach%3A%2F%2FjarRelease%22%7D%2C%7B%22type%22%3A%22document%22%2C%20%22media%22%3A%22attach%3A%2F%2FmanagerRelease%22%7D%2C%7B%22type%22%3A%22document%22%2C%20%22media%22%3A%22attach%3A%2F%2FjarDebug%22%7D%2C%7B%22type%22%3A%22document%22%2C%20%22media%22%3A%22attach%3A%2F%2FmanagerDebug%22%2C%22caption%22:${ESCAPED}%7D%5D" -F jarRelease="@$jarRelease" -F managerRelease="@$managerRelease" -F jarDebug="@$jarDebug" -F managerDebug="@$managerDebug" | ||
| fi | ||