CI Signing
This commit is contained in:
parent
517f0240e3
commit
796c76f36c
18
.github/workflows/build.yml
vendored
18
.github/workflows/build.yml
vendored
@ -23,6 +23,12 @@ jobs:
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
run: |
|
||||
echo "${{ secrets.RELEASE_KEYSTORE }}" > keystore.asc
|
||||
echo "${{ secrets.RELEASE_KEY}}" > key.acs
|
||||
gpg -d --passphrase "${{ secrets.RELEASE_KEYSTORE_PASSWORD }}" --batch keystore.asc > app/keystore.properties
|
||||
gpg -d --passphrase "${{ secrets.RELEASE_KEYSTORE_PASSWORD }}" --batch key.asc > app/key.jks
|
||||
|
||||
- uses: gradle/wrapper-validation-action@v2
|
||||
|
||||
- name: create and checkout branch
|
||||
@ -41,14 +47,14 @@ jobs:
|
||||
- name: Build APK
|
||||
run: ./gradlew assemble
|
||||
|
||||
- name: Upload APK
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: app.apk
|
||||
path: app/build/outputs/apk/release/app-release-unsigned.apk
|
||||
# - name: Upload APK
|
||||
# uses: actions/upload-artifact@v4
|
||||
# with:
|
||||
# name: app.apk
|
||||
# path: app/build/outputs/apk/release/app-release.apk
|
||||
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
files: |
|
||||
app/build/outputs/apk/release/app-release-unsigned.apk
|
||||
app/build/outputs/apk/release/app-release.apk
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -13,3 +13,5 @@ captures/
|
||||
.externalNativeBuild
|
||||
.cxx
|
||||
local.properties
|
||||
keystore.properties
|
||||
key.jks
|
||||
|
@ -5,19 +5,34 @@ plugins {
|
||||
}
|
||||
|
||||
|
||||
def keystorePropertiesFile = rootProject.file("app/keystore.properties")
|
||||
def keystoreProperties = new Properties()
|
||||
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
|
||||
|
||||
|
||||
android {
|
||||
namespace 'net.helcel.fidelity'
|
||||
compileSdk 34
|
||||
|
||||
defaultConfig {
|
||||
applicationId 'net.helcel.fidelity'
|
||||
resValue "string", "app_name", "Keepass Fideity"
|
||||
resValue "string", "app_name", "Keepass Fidelity"
|
||||
minSdk 28
|
||||
targetSdk 34
|
||||
versionCode 1
|
||||
versionName "1.0"
|
||||
}
|
||||
|
||||
|
||||
signingConfigs {
|
||||
create("release") {
|
||||
keyAlias keystoreProperties['keyAlias']
|
||||
keyPassword keystoreProperties['keyPassword']
|
||||
storeFile file(keystoreProperties['storeFile'])
|
||||
storePassword keystoreProperties['storePassword']
|
||||
}
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
debug {
|
||||
debuggable true
|
||||
@ -26,6 +41,7 @@ android {
|
||||
minifyEnabled true
|
||||
shrinkResources false
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||
signingConfig = signingConfigs.getByName("release")
|
||||
}
|
||||
}
|
||||
|
||||
|
13
app/proguard-rules.pro
vendored
Normal file
13
app/proguard-rules.pro
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
# Gson uses generic type information stored in a class file when working with
|
||||
# fields. Proguard removes such information by default, keep it.
|
||||
-keepattributes Signature
|
||||
|
||||
# This is also needed for R8 in compat mode since multiple
|
||||
# optimizations will remove the generic signature such as class
|
||||
# merging and argument removal. See:
|
||||
# https://r8.googlesource.com/r8/+/refs/heads/main/compatibility-faq.md#troubleshooting-gson-gson
|
||||
-keep class com.google.gson.reflect.TypeToken { *; }
|
||||
-keep class * extends com.google.gson.reflect.TypeToken
|
||||
|
||||
# Optional. For using GSON @Expose annotation
|
||||
-keepattributes AnnotationDefault,RuntimeVisibleAnnotations
|
Loading…
x
Reference in New Issue
Block a user