This repository was archived by the owner on Apr 24, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 4 files changed +44
-7
lines changed Expand file tree Collapse file tree 4 files changed +44
-7
lines changed Original file line number Diff line number Diff line change 23
23
24
24
steps :
25
25
- uses : actions/checkout@v4
26
+ run : |
27
+ echo "${{ secrets.RELEASE_KEYSTORE }}" > keystore.asc
28
+ echo "${{ secrets.RELEASE_KEY}}" > key.acs
29
+ gpg -d --passphrase "${{ secrets.RELEASE_KEYSTORE_PASSWORD }}" --batch keystore.asc > app/keystore.properties
30
+ gpg -d --passphrase "${{ secrets.RELEASE_KEYSTORE_PASSWORD }}" --batch key.asc > app/key.jks
31
+
26
32
- uses : gradle/wrapper-validation-action@v2
27
33
28
34
- name : create and checkout branch
@@ -41,14 +47,14 @@ jobs:
41
47
- name : Build APK
42
48
run : ./gradlew assemble
43
49
44
- - name : Upload APK
45
- uses : actions/upload-artifact@v4
46
- with :
47
- name : app.apk
48
- path : app/build/outputs/apk/release/app-release-unsigned .apk
50
+ # - name: Upload APK
51
+ # uses: actions/upload-artifact@v4
52
+ # with:
53
+ # name: app.apk
54
+ # path: app/build/outputs/apk/release/app-release.apk
49
55
50
56
- name : Release
51
57
uses : softprops/action-gh-release@v2
52
58
with :
53
59
files : |
54
- app/build/outputs/apk/release/app-release-unsigned .apk
60
+ app/build/outputs/apk/release/app-release.apk
Original file line number Diff line number Diff line change @@ -13,3 +13,5 @@ captures/
13
13
.externalNativeBuild
14
14
.cxx
15
15
local.properties
16
+ keystore.properties
17
+ key.jks
Original file line number Diff line number Diff line change @@ -5,19 +5,34 @@ plugins {
5
5
}
6
6
7
7
8
+ def keystorePropertiesFile = rootProject. file(" app/keystore.properties" )
9
+ def keystoreProperties = new Properties ()
10
+ keystoreProperties. load(new FileInputStream (keystorePropertiesFile))
11
+
12
+
8
13
android {
9
14
namespace ' net.helcel.fidelity'
10
15
compileSdk 34
11
16
12
17
defaultConfig {
13
18
applicationId ' net.helcel.fidelity'
14
- resValue " string" , " app_name" , " Keepass Fideity "
19
+ resValue " string" , " app_name" , " Keepass Fidelity "
15
20
minSdk 28
16
21
targetSdk 34
17
22
versionCode 1
18
23
versionName " 1.0"
19
24
}
20
25
26
+
27
+ signingConfigs {
28
+ create(" release" ) {
29
+ keyAlias keystoreProperties[' keyAlias' ]
30
+ keyPassword keystoreProperties[' keyPassword' ]
31
+ storeFile file(keystoreProperties[' storeFile' ])
32
+ storePassword keystoreProperties[' storePassword' ]
33
+ }
34
+ }
35
+
21
36
buildTypes {
22
37
debug {
23
38
debuggable true
@@ -26,6 +41,7 @@ android {
26
41
minifyEnabled true
27
42
shrinkResources false
28
43
proguardFiles getDefaultProguardFile(' proguard-android-optimize.txt' ), ' proguard-rules.pro'
44
+ signingConfig = signingConfigs. getByName(" release" )
29
45
}
30
46
}
31
47
Original file line number Diff line number Diff line change
1
+ # Gson uses generic type information stored in a class file when working with
2
+ # fields. Proguard removes such information by default, keep it.
3
+ -keepattributes Signature
4
+
5
+ # This is also needed for R8 in compat mode since multiple
6
+ # optimizations will remove the generic signature such as class
7
+ # merging and argument removal. See:
8
+ # https://r8.googlesource.com/r8/+/refs/heads/main/compatibility-faq.md#troubleshooting-gson-gson
9
+ -keep class com.google.gson.reflect.TypeToken { *; }
10
+ -keep class * extends com.google.gson.reflect.TypeToken
11
+
12
+ # Optional. For using GSON @Expose annotation
13
+ -keepattributes AnnotationDefault,RuntimeVisibleAnnotations
You can’t perform that action at this time.
0 commit comments