This commit is contained in:
Zhanghu
2025-09-12 14:23:33 +08:00
parent 36a7cfa3ad
commit 142134c342
9 changed files with 384 additions and 20 deletions

View File

@@ -2,6 +2,8 @@ plugins {
id 'com.android.application'
}
apply from: '../common.gradle'
android {
namespace 'cn.ykbox.dashboard'
compileSdk 35
@@ -11,16 +13,20 @@ android {
applicationId "cn.ykbox.dashboard"
minSdk 21
targetSdk 35
versionCode 1
versionName "1.0"
versionCode gitVersionCode()
versionName gitVersionTag()
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
debug {
signingConfig signingConfigs.release
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
}
compileOptions {
@@ -30,6 +36,59 @@ android {
buildFeatures {
viewBinding true
}
// sign the application
signingConfigs {
release {
storeFile file('..\\sinclass.jks')
storePassword '=efX!O4i'
keyAlias 'ScreenClient'
keyPassword '=efX!O4i'
v1SigningEnabled true
v2SigningEnabled true
}
}
android.applicationVariants.all { variant ->
def docDir = rootProject.getRootDir().getAbsolutePath() + "/../apk/dashboard"
def releaseDir = rootProject.getRootDir().getAbsolutePath() + "/../apk/dashboard"
if (versionName.contains("beta"))
releaseDir += "/beta"
variant.outputs.all {
// 常规版本不加后缀
outputFileName = "dashboard_${defaultConfig.versionName}.apk"
}
// assemble 结束后将apk复制到指定目录
variant.assembleProvider.get().doLast {
variant.outputs.all {
if (variant.buildType.name == 'release') {
copy {
from "${project.getProjectDir().path}/build/outputs/apk/${variant.buildType.name}/${outputFileName}"
into releaseDir
}
def downloadUrl = "http://thinkdisk.thinkbo.cn/src/web/dashboard/${outputFileName}"
genUpdateJson(downloadUrl, releaseDir, outputFileName, 'changelog.md', defaultConfig, variant)
File file = new File("${project.getProjectDir().path}/changelog.md")
replaceText(file, 'VERSION_CODE', "${defaultConfig.versionCode}")
// 用 pandoc 将 changelog.md 导出为 html 格式
exec {
workingDir project.getProjectDir().getAbsolutePath()
commandLine 'pandoc', '--standalone', '--embed-resources',
'--css', rootProject.getRootDir().getAbsolutePath() + '/doc/themes/blue/blue.css',
'changelog.md', '-f',
'markdown', '-t', 'html', '-s',
'-o', "${docDir}/changelog.html"
}
}
}
}
}
}
repositories {