构建: 测试临时目录改指 <repo>/build/test-tmp(本机 /tmp tmpfs 已满会误报测试失败)
This commit is contained in:
@@ -198,6 +198,10 @@ $BT/apksigner verify 目标名.apk
|
|||||||
- `app/build.gradle`:`versionName "1.6.0"` / `versionCode 43`
|
- `app/build.gradle`:`versionName "1.6.0"` / `versionCode 43`
|
||||||
(`1.5.5`/`37` 已发布;`1.5.6` = 更新源加 Gitee、`1.5.7` = 删除「歌曲源临时受限」弹窗、`1.5.8` = 精简远程日志、`1.5.9` = 按 HAR 对齐原版协议、`1.5.10` = 源列表只留 zk.ktv1.top:6677、`1.5.11`(命名越界,已改) / `1.6.0` = whoami 心跳/设备身份/点歌推送/带 query 的地址闸门 + 并入 selfhost-source 支线,均尚未发布。18~21 曾被本机临时诊断包占用)
|
(`1.5.5`/`37` 已发布;`1.5.6` = 更新源加 Gitee、`1.5.7` = 删除「歌曲源临时受限」弹窗、`1.5.8` = 精简远程日志、`1.5.9` = 按 HAR 对齐原版协议、`1.5.10` = 源列表只留 zk.ktv1.top:6677、`1.5.11`(命名越界,已改) / `1.6.0` = whoami 心跳/设备身份/点歌推送/带 query 的地址闸门 + 并入 selfhost-source 支线,均尚未发布。18~21 曾被本机临时诊断包占用)
|
||||||
- App 内显示统一用纯版本号(不加 `(versionCode)` 括号)
|
- App 内显示统一用纯版本号(不加 `(versionCode)` 括号)
|
||||||
|
- ⚠️ **本机 `/tmp` 是 tmpfs,单测必须绕开它**:`/tmp`(5.6G tmpfs)长期被"已删除但仍被打开"的
|
||||||
|
文件占满,单测写临时文件会抛 `IOException: 超出磁盘配额`(EDQUOT),**看起来像测试失败**。
|
||||||
|
`app/build.gradle` 已统一把测试 JVM 的 `java.io.tmpdir` 指到 `<repo>/build/test-tmp`
|
||||||
|
(`/home` 有 400G 空闲)—— 遇到"莫名其妙的测试失败"先看 `df -h /tmp`,不要去改测试逻辑。
|
||||||
- ⚠️ **发布构建已开启 NewApi 闸门**(`lint { checkReleaseBuilds true; fatal += ['NewApi'] }`):
|
- ⚠️ **发布构建已开启 NewApi 闸门**(`lint { checkReleaseBuilds true; fatal += ['NewApi'] }`):
|
||||||
任何「调用了高于 `minSdk 21` 且未做版本守卫的 API」都会让 `assembleRelease` 直接失败。
|
任何「调用了高于 `minSdk 21` 且未做版本守卫的 API」都会让 `assembleRelease` 直接失败。
|
||||||
被阻断时按报错位置补版本判断或改用兼容写法,**不要**把 `checkReleaseBuilds` 改回 `false`
|
被阻断时按报错位置补版本判断或改用兼容写法,**不要**把 `checkReleaseBuilds` 改回 `false`
|
||||||
|
|||||||
@@ -3,6 +3,15 @@ plugins {
|
|||||||
id "org.jetbrains.kotlin.android"
|
id "org.jetbrains.kotlin.android"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ⚠️ 本机 /tmp 是 5.6G 的 tmpfs,且常被"已删除但仍被打开"的文件占满 ——
|
||||||
|
// 单测写临时文件时会直接抛 IOException: 超出磁盘配额(EDQUOT),看起来像测试失败。
|
||||||
|
// 统一把测试 JVM 的临时目录指到项目所在磁盘(/home 有 400G 空闲),与 /tmp 状态解耦。
|
||||||
|
tasks.withType(Test).configureEach {
|
||||||
|
def testTmp = new File(rootDir, 'build/test-tmp')
|
||||||
|
doFirst { testTmp.mkdirs() }
|
||||||
|
systemProperty 'java.io.tmpdir', testTmp.absolutePath
|
||||||
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
namespace "com.local.ktv"
|
namespace "com.local.ktv"
|
||||||
compileSdk 35
|
compileSdk 35
|
||||||
|
|||||||
Reference in New Issue
Block a user