From 7dc1a2665f0058d1bd243e9ad05e70bdf58fc173 Mon Sep 17 00:00:00 2001 From: jiangchen <1703935164@qq.com> Date: Tue, 1 Sep 2026 18:55:58 +0800 Subject: [PATCH] feat: Android signing config (demo keystore optional) + keystore.properties.example --- .gitignore | 2 ++ app/build.gradle | 33 +++++++++++++++++++++++++++++++++ keystore.properties.example | 12 ++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 keystore.properties.example diff --git a/.gitignore b/.gitignore index c61557c..5307d45 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,5 @@ local.properties captures/ .externalNativeBuild/ .cxx/ +keystore.properties +keystore/ diff --git a/app/build.gradle b/app/build.gradle index 111e6d0..0f7911c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,6 +1,13 @@ plugins { id 'com.android.application' } + +def keystorePropertiesFile = rootProject.file("keystore.properties") +def keystoreProperties = new Properties() +if (keystorePropertiesFile.exists()) { + keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) +} + android { namespace 'com.dshwatch.app' compileSdk 34 @@ -11,17 +18,43 @@ android { versionCode 1 versionName "0.1.0" } + signingConfigs { + if (keystorePropertiesFile.exists()) { + debug { + storeFile file(keystoreProperties['debug.store.file']) + storePassword keystoreProperties['debug.store.password'] + keyAlias keystoreProperties['debug.key.alias'] + keyPassword keystoreProperties['debug.key.password'] + } + release { + storeFile file(keystoreProperties['release.store.file']) + storePassword keystoreProperties['release.store.password'] + keyAlias keystoreProperties['release.key.alias'] + keyPassword keystoreProperties['release.key.password'] + } + } + } buildTypes { release { minifyEnabled false + if (keystorePropertiesFile.exists()) { + signingConfig signingConfigs.release + } proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } + debug { + minifyEnabled false + if (keystorePropertiesFile.exists()) { + signingConfig signingConfigs.debug + } + } } compileOptions { sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } } + dependencies { implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar']) implementation 'androidx.appcompat:appcompat:1.6.1' diff --git a/keystore.properties.example b/keystore.properties.example new file mode 100644 index 0000000..715ea15 --- /dev/null +++ b/keystore.properties.example @@ -0,0 +1,12 @@ +# Fill these and copy to keystore.properties (NOT committed) +# debug sign +debug.store.file=../keystore/keystore.jks +debug.store.password=REPLACE_MEwearable +debug.key.alias=REPLACE_MEwearable +debug.key.password=REPLACE_MEwearable + +# release sign +release.store.file=../keystore/keystore.jks +release.store.password=REPLACE_MEwearable +release.key.alias=REPLACE_MEwearable +release.key.password=REPLACE_MEwearable