Skip to content

Commit 1ccf736

Browse files
Update android-build.yml
1 parent 488b06c commit 1ccf736

1 file changed

Lines changed: 39 additions & 49 deletions

File tree

Lines changed: 39 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,23 @@
11
name: Build Android APK
22

33
on:
4-
push:
5-
branches:
6-
- main
4+
workflow_dispatch:
75

86
jobs:
97
build:
108
runs-on: ubuntu-latest
119

10+
env:
11+
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
12+
1213
steps:
1314
- name: Checkout Repository
1415
uses: actions/checkout@v4
1516

1617
- name: Setup Node.js
1718
uses: actions/setup-node@v4
1819
with:
19-
node-version: 20
20+
node-version: 22
2021

2122
- name: Setup Java 17
2223
uses: actions/setup-java@v4
@@ -31,72 +32,61 @@ jobs:
3132
run: npm run build
3233

3334
- name: Export Static Files
34-
run: |
35-
npx next export || true
35+
run: npx next export
3636

37-
- name: Install Capacitor v6
37+
- name: Install Capacitor + Filesystem Plugin
3838
run: |
39-
npm install @capacitor/core@6.1.2
40-
npm install @capacitor/cli@6.1.2
41-
npm install @capacitor/android@6.1.2
39+
npm install @capacitor/core @capacitor/cli @capacitor/android @capacitor/filesystem
4240
4341
- name: Create Android Project
4442
run: |
45-
npx cap add android || true
46-
47-
- name: Sync Capacitor
48-
run: |
49-
npx cap sync android
50-
51-
- name: Install Capacitor Assets
52-
run: |
53-
npm install -g @capacitor/assets
43+
npx cap add android
5444
55-
- name: Generate Android Icons
45+
- name: Add Android Permissions
5646
run: |
57-
capacitor-assets generate --android
47+
sed -i '/<manifest/a\
48+
<uses-permission android:name="android.permission.INTERNET" />\
49+
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />\
50+
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />\
51+
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />' android/app/src/main/AndroidManifest.xml
5852
59-
- name: Inject Kotlin Native Files
53+
- name: Add Launcher Activity
6054
run: |
61-
mkdir -p android/app/src/main/java/com/byteswave/kirijo
62-
cp kotlin-native/*.kt android/app/src/main/java/com/byteswave/kirijo/ || true
55+
sed -i '/<activity/a\
56+
<intent-filter>\
57+
<action android:name="android.intent.action.MAIN" />\
58+
<category android:name="android.intent.category.LAUNCHER" />\
59+
</intent-filter>' android/app/src/main/AndroidManifest.xml
6360
64-
- name: Create Android Manifest
61+
- name: Sync Capacitor
6562
run: |
66-
mkdir -p android/app/src/main
67-
68-
cat <<'EOF' > android/app/src/main/AndroidManifest.xml
69-
<?xml version="1.0" encoding="utf-8"?>
70-
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
71-
72-
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
73-
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
74-
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
75-
76-
<application
77-
android:allowBackup="true"
78-
android:label="Kirijo"
79-
android:supportsRtl="true">
80-
</application>
81-
82-
</manifest>
83-
EOF
63+
npx cap sync android
8464
8565
- name: Force Java 17 Compatibility
8666
run: |
87-
sed -i 's/VERSION_21/VERSION_17/g' android/**/*.gradle || true
88-
sed -i 's/jvmTarget = "21"/jvmTarget = "17"/g' android/**/*.gradle || true
89-
sed -i 's/sourceCompatibility = JavaVersion.VERSION_21/sourceCompatibility = JavaVersion.VERSION_17/g' android/**/*.gradle || true
90-
sed -i 's/targetCompatibility = JavaVersion.VERSION_21/targetCompatibility = JavaVersion.VERSION_17/g' android/**/*.gradle || true
67+
echo '
68+
android {
69+
compileOptions {
70+
sourceCompatibility JavaVersion.VERSION_17
71+
targetCompatibility JavaVersion.VERSION_17
72+
}
73+
}
74+
75+
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
76+
kotlinOptions {
77+
jvmTarget = "17"
78+
}
79+
}
80+
' >> android/app/build.gradle
9181
9282
- name: Build Release APK
9383
run: |
9484
cd android
9585
chmod +x gradlew
96-
./gradlew clean assembleRelease --stacktrace
86+
./gradlew assembleRelease
9787
9888
- name: Upload APK Artifact
9989
uses: actions/upload-artifact@v4
10090
with:
10191
name: kirijo-release-apk
102-
path: android/app/build/outputs/apk/release/*.apk
92+
path: path: android/app/build/outputs/apk/release/*.apk

0 commit comments

Comments
 (0)