import groovy.json.JsonSlurper plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' id 'com.google.devtools.ksp' } android { signingConfigs { universal { def dirPath = rootProject.ext.app.signingConfigs.secretConfigsDirPath def fileName = rootProject.ext.app.signingConfigs.secretConfigsFileName def configs = new JsonSlurper().parse(file("${dirPath}/${fileName}")) keyAlias configs.keyAlias keyPassword configs.keyPassword storeFile file("${dirPath}/${configs.storeFileName}") storePassword configs.storePassword v1SigningEnabled true v2SigningEnabled true } } namespace 'com.fankes.apperrorstracking' compileSdk rootProject.ext.android.compileSdk defaultConfig { applicationId 'com.fankes.apperrorstracking' minSdk rootProject.ext.android.minSdk targetSdk rootProject.ext.android.targetSdk versionCode rootProject.ext.app.versionCode versionName rootProject.ext.app.versionName testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' /** 添加 App Center Secret 到 BuildConfig */ buildConfigField('String', 'APP_CENTER_SECRET', "\"${getAppCenterSecret()}\"") } buildTypes { debug { minifyEnabled false signingConfig signingConfigs.universal } release { minifyEnabled true shrinkResources true zipAlignEnabled true signingConfig signingConfigs.universal proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_11 targetCompatibility JavaVersion.VERSION_11 } kotlinOptions { jvmTarget = '11' freeCompilerArgs = [ '-Xno-param-assertions', '-Xno-call-assertions', '-Xno-receiver-assertions' ] } buildFeatures { viewBinding true } lintOptions { checkReleaseBuilds false } } /** * 获取 App Center Secret * @return [String] */ String getAppCenterSecret() { def fileName = '../.secret/APP_CENTER_SECRET' def content = '' if (file(fileName).exists()) file(fileName).eachLine { content = it } return content } dependencies { compileOnly 'de.robv.android.xposed:api:82' implementation 'com.highcapable.yukihookapi:api:1.1.11' ksp 'com.highcapable.yukihookapi:ksp-xposed:1.1.11' implementation 'com.microsoft.appcenter:appcenter-analytics:5.0.0' implementation 'com.microsoft.appcenter:appcenter-crashes:5.0.0' implementation 'com.squareup.okhttp3:okhttp:5.0.0-alpha.7' implementation 'com.google.code.gson:gson:2.10.1' implementation 'com.github.duanhong169:drawabletoolbox:1.0.7' implementation 'com.github.topjohnwu.libsu:core:5.0.4' implementation 'androidx.core:core-ktx:1.10.0' implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'com.google.android.material:material:1.9.0' testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.5' androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1' }