Skip to content

Commit

Permalink
feat: build debug APK when key.properties does not exist
Browse files Browse the repository at this point in the history
  • Loading branch information
nini22P committed Feb 22, 2025
1 parent 9ec9c67 commit df09c36
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 29 deletions.
15 changes: 5 additions & 10 deletions .github/workflows/build-terre.yml
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,7 @@ jobs:
run: |
echo "${{ secrets.KEYSTORE }}" | base64 --decode > packages/terre-android/app/keystore.jks
- name: Save key.properties
if: ${{ env.KEYSTORE != '' }}
run: |
echo "storePassword=${{ secrets.STORE_PASSWORD }}" >> packages/terre-android/key.properties
echo "keyPassword=${{ secrets.KEY_PASSWORD }}" >> packages/terre-android/key.properties
Expand All @@ -153,21 +154,15 @@ jobs:
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
run: sh release-android.sh
- name: Rename signed apk
if: ${{ env.KEYSTORE != '' }}
run: mv packages/terre-android/app/build/outputs/apk/release/app-release.apk release/WebGAL_Terre_Android.apk
- name: Upload Artifact
- name: Upload Release Artifact
if: ${{ env.KEYSTORE != '' }}
uses: actions/upload-artifact@v4
with:
name: WebGAL_Terre_Android
path: release/WebGAL_Terre_Android.apk
- name: Rename unsigned apk
if: ${{ env.KEYSTORE == '' }}
run: mv packages/terre-android/app/build/outputs/apk/release/app-release-unsigned.apk release/WebGAL_Terre_Android_unsigned.apk
- name: Upload unsigned Artifact
- name: Upload Debug Artifact
if: ${{ env.KEYSTORE == '' }}
uses: actions/upload-artifact@v4
with:
name: WebGAL_Terre_Android_unsigned
path: release/WebGAL_Terre_Android_unsigned.apk
name: WebGAL_Terre_Android_debug
path: release/WebGAL_Terre_Android_debug.apk
6 changes: 5 additions & 1 deletion packages/terre-android/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,8 @@ local.properties
app/libnode/bin
app/libnode/include
app/libnode/nodejs-mobile-*
app/src/main/assets/terre
app/src/main/assets/terre

# key
key.properties
keystore.jks
29 changes: 15 additions & 14 deletions packages/terre-android/app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -41,14 +41,28 @@ android {
abiFilters.addAll(listOf("armeabi-v7a", "arm64-v8a", "x86_64"))
}
}

signingConfigs {
if (keystorePropertiesFile.exists())
create("release") {
keyAlias = keystoreProperties["keyAlias"] as? String
?: throw IllegalArgumentException("Key alias is missing")
keyPassword = keystoreProperties["keyPassword"] as? String
?: throw IllegalArgumentException("Key password is missing")
storeFile = (keystoreProperties["storeFile"] as? String)?.let { file(it) }
?: throw IllegalArgumentException("Store file is missing")
storePassword = keystoreProperties["storePassword"] as? String
?: throw IllegalArgumentException("Store password is missing")
}
}
buildTypes {
release {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
if (keystorePropertiesFile.exists())
signingConfig = signingConfigs.getByName("release")
}
}
compileOptions {
Expand All @@ -72,19 +86,6 @@ android {
jniLibs.srcDirs("libnode/bin/")
}
}
signingConfigs {
if (keystorePropertiesFile.exists())
create("release") {
keyAlias = keystoreProperties["keyAlias"] as? String
?: throw IllegalArgumentException("Key alias is missing")
keyPassword = keystoreProperties["keyPassword"] as? String
?: throw IllegalArgumentException("Key password is missing")
storeFile = (keystoreProperties["storeFile"] as? String)?.let { file(it) }
?: throw IllegalArgumentException("Store file is missing")
storePassword = keystoreProperties["storePassword"] as? String
?: throw IllegalArgumentException("Store password is missing")
}
}
}

dependencies {
Expand Down
16 changes: 12 additions & 4 deletions release-android.sh
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,17 @@ cp -rf release/* packages/terre-android/app/src/main/assets/terre

cd packages/terre-android

# 打包
./gradlew assembleRelease

cd ../../
# 检查 key.properties 是否存在
if [ -f "key.properties" ]; then
echo "key.properties file exists, start build release apk..."
./gradlew assembleRelease
cd ../../
mv packages/terre-android/app/build/outputs/apk/release/app-release.apk release/WebGAL_Terre_Android.apk
else
echo "key.properties file does not exist, start build debug apk..."
./gradlew assembleDebug
cd ../../
mv packages/terre-android/app/build/outputs/apk/debug/app-debug.apk release/WebGAL_Terre_Android_debug.apk
fi

echo "WebGAL Terre is now ready to be deployed."

0 comments on commit df09c36

Please sign in to comment.