-
-
Notifications
You must be signed in to change notification settings - Fork 34
72 lines (62 loc) · 2.18 KB
/
android.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
name: Android CI
on:
push:
branches: [ main ]
pull_request:
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y apksigner
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: 'temurin'
cache: 'gradle'
- name: Write GitHub Packages token
run: |
if [ ! -z "${{ secrets.GPR_KEY }}" ]; then
echo gpr.user='${{ secrets.GPR_USER }}' >> gradle.properties
echo gpr.key='${{ secrets.GPR_KEY }}' >> gradle.properties
else
echo "Please set GPR_USER and GPR_KEY secrets in your repository."
exit 1
fi
- name: Write key
if: github.event_name != 'pull_request' && github.ref == 'refs/heads/main'
run: |
if [ ! -z "${{ secrets.SIGNING_KEY }}" ]; then
echo releaseStorePassword='${{ secrets.KEY_STORE_PASSWORD }}' >> gradle.properties
echo releaseKeyAlias='${{ secrets.ALIAS }}' >> gradle.properties
echo releaseKeyPassword='${{ secrets.KEY_PASSWORD }}' >> gradle.properties
echo releaseStoreFile='key.jks' >> gradle.properties
echo ${{ secrets.SIGNING_KEY }} | base64 --decode > key.jks
fi
- name: Build with Gradle
run: ./gradlew assembleRelease assembleDebug
- name: Zip Enhancer module
run: |
cd enhancer
for f in $(find . -type f); do
if [[ "$f" == *.gitignore || "$f" == *.sha256 || "$f" == *.md || "$f" == *.json ]]; then
continue
fi
echo -n $(sha256sum $f | cut -f1 -d' ') > $f.sha256
done
zip -r ../app/build/outputs/apk/KnoxPatch-Enhancer.zip * -x *.json -x *.md
cd ..
[ -f key.jks ] && apksigner sign -v --ks key.jks --ks-pass pass:${{ secrets.KEY_PASSWORD }} --min-sdk-version 18 app/build/outputs/apk/KnoxPatch-Enhancer.zip || true
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: Signed app bundle
path: app/build/outputs/apk