文件
crab-input-rtos/android/app/build.gradle
T

61 行
2.5 KiB
Groovy

import java.util.Properties
plugins { id 'com.android.application' }
def signingPath = providers.gradleProperty('releaseSigningProperties').orElse('release-signing.properties').get()
def signingFile = rootProject.file(signingPath)
def signing = new Properties()
if (signingFile.isFile()) signingFile.withInputStream { signing.load(it) }
def approved = signing.getProperty('releaseApproved','false').toBoolean()
android {
namespace 'com.sydxky.crabinput'
compileSdk 37
defaultConfig {
applicationId 'com.sydxky.crabinput'
minSdk 27
targetSdk 35
versionCode 10203
versionName '1.2.3'
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
}
signingConfigs {
if (approved) {
release {
storeFile new File(signingFile.parentFile, signing.getProperty('storeFile',''))
storePassword signing.getProperty('storePassword','')
keyAlias signing.getProperty('keyAlias','')
keyPassword signing.getProperty('keyPassword','')
enableV1Signing false
enableV2Signing true
enableV3Signing false
enableV4Signing false
}
}
}
buildTypes {
release {
minifyEnabled true
shrinkResources true
if (approved) signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
testProguardFiles 'proguard-test.pro'
}
}
compileOptions { sourceCompatibility JavaVersion.VERSION_11; targetCompatibility JavaVersion.VERSION_11 }
lint { abortOnError true }
testBuildType providers.gradleProperty('imeTestBuildType').orElse('debug').get()
}
tasks.register('checkReleaseSigning') {
doLast {
if (!approved || !signingFile.isFile() || !android.signingConfigs.release.storeFile.isFile())
throw new GradleException('Supply approved local signing with -PreleaseSigningProperties=<protected-file>')
}
}
tasks.matching { it.name in ['packageRelease','assembleRelease'] }.configureEach { dependsOn 'checkReleaseSigning' }
dependencies {
implementation project(':keyboard')
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test:runner:1.5.2'
androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0'
androidTestImplementation 'com.google.errorprone:error_prone_annotations:2.36.0'
androidTestImplementation 'org.jetbrains.kotlin:kotlin-stdlib:1.8.22'
}