Browse Source

完成安卓签名自定义打包任务

everywindchase 9 months ago
parent
commit
eaae7bc5d6
4 changed files with 57 additions and 21 deletions
  1. 20 14
      app/build.gradle
  2. 7 1
      gradle.properties
  3. 12 6
      gradle/sign.gradle
  4. 18 0
      settings.gradle

+ 20 - 14
app/build.gradle

@@ -35,20 +35,26 @@ android {
 
 
 
-//    signingConfigs {
-//        release {
-//            storeFile file('..\\keystore\\psbc.jks')
-//            storePassword '123456'
-//            keyAlias 'psbc'
-//            keyPassword '123456'
-//        }
-//        debug{
-//            storeFile file('..\\keystore\\psbc.jks')
-//            storePassword '123456'
-//            keyAlias 'psbc'
-//            keyPassword '123456'
-//        }
-//    }
+    signingConfigs {
+
+
+        def keypass=project.property("sign.keytool.keypass")
+        def keystore=project.property("sign.keytool.storepass")
+        def appAlias=project.property("sign.keytool.appAlias")
+
+        release {
+            storeFile file('.\\sign\\jxit.jks')
+            storePassword keystore
+            keyAlias appAlias
+            keyPassword keypass
+        }
+        debug{
+            storeFile file('.\\sign\\jxit.jks')
+            storePassword keystore
+            keyAlias appAlias
+            keyPassword keypass
+        }
+    }
 
     compileOptions {
         sourceCompatibility JavaVersion.VERSION_1_8

+ 7 - 1
gradle.properties

@@ -20,4 +20,10 @@ kotlin.code.style=official
 # Enables namespacing of each library's R class so that its R class includes only the
 # resources declared in the library itself and none from the library's dependencies,
 # thereby reducing the size of the R class for that library
-android.nonTransitiveRClass=true
+android.nonTransitiveRClass=true
+
+sign.keytool.path=D:\\jdk\\jdk-17.0.10\\bin\\keytool
+sign.keytool.keypass=jxit12
+sign.keytool.storepass=jxit12
+sign.keytool.dname="CN=JXIT,OU=JXIT,O=JXIT,L=JXIT,ST=NANJING,C=CN"
+sign.keytool.appAlias=jx.escort

+ 12 - 6
gradle/sign.gradle

@@ -2,17 +2,23 @@ tasks.register('generateKeystore') {
     group  'sign'
     description 'create jks'
     doFirst {
-        def keystorePath = "D:\\home_work\\escort-app\\app\\sign\\demo.jks"
+        def keytoolPath=project.property("sign.keytool.path")
+        def keypass=project.property("sign.keytool.keypass")
+        def keystore=project.property("sign.keytool.storepass")
+        def dName=project.property("sign.keytool.dname")
+        def appAlias=project.property("sign.keytool.appAlias")
+        def keystorePath = "$project.project.projectDir.absolutePath\\app\\sign\\jxit.jks"
         exec {
             workingDir "."
-            commandLine "D:\\jdk\\jdk-17.0.10\\bin\\keytool", "-genkey","-v",
-                    "-alias", "jx.escort",
+            commandLine "$keytoolPath", "-genkey","-v",
+                    "-alias", appAlias,
                     "-keyalg", "RSA",
-                    "-keypass", "jxit12",
-                    "-storepass", "jxit12",
+                    "-keypass", keypass,
+                    "-storepass", keystore,
                     "-keystore", keystorePath,
                     "-keysize" ,2048,
-                    "-validity", 30
+                    "-validity", 30,
+                    "-dname",dName
         }
     }
 }

+ 18 - 0
settings.gradle

@@ -1,15 +1,33 @@
 pluginManagement {
+//    repositories {
+//        google()
+//        mavenCentral()
+//        gradlePluginPortal()
+//    }
+
     repositories {
+        maven { url 'https://maven.aliyun.com/repository/central' }
+        maven { url 'https://maven.aliyun.com/repository/public' }
+        maven { url 'https://maven.aliyun.com/repository/google' }
         google()
         mavenCentral()
         gradlePluginPortal()
     }
 }
 dependencyResolutionManagement {
+//    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
+//    repositories {
+//        google()
+//        mavenCentral()
+//    }
     repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
     repositories {
+        maven { url 'https://maven.aliyun.com/repository/central' }
+        maven { url 'https://maven.aliyun.com/repository/public' }
+        maven { url 'https://maven.aliyun.com/repository/google' }
         google()
         mavenCentral()
+        maven { url 'https://jitpack.io' }
     }
 }