Skip to content

Commit ba7fa5e

Browse files
committed
release: 1.4.2 — explicit 16 KB page-size compatibility (Google Play required since 2025-11-01)
- bump versionCode 14 -> 15, versionName 1.4.1 -> 1.4.2 - app/build.gradle: declare packaging.jniLibs.useLegacyPackaging=false explicitly (defensive, AGP default since 8.0) - AGENTS.md: fix section numbering, document v1.4.2 16 KB stance
1 parent f05b4c0 commit ba7fa5e

2 files changed

Lines changed: 10 additions & 4 deletions

File tree

AGENTS.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,12 +120,14 @@ Android 11 起 package visibility 收紧,必须在 [AndroidManifest.xml](file:
120120

121121
> **背景**:自 **2025-11-01** 起,Google Play 要求所有 `targetSdk ≥ 35` 的新应用 / 应用更新,在 64 位设备上**必须支持 16 KB 内存页**(参考 [Android 官方文档](https://developer.android.com/guide/practices/page-sizes))。本项目 `targetSdk 36`,强制范围内。
122122
123-
### 4.1 当前项目状态(截至 v1.4.1
123+
### 4.1 当前项目状态(截至 v1.4.2
124124

125-
- **Release APK 不含任何 .so 原生库**(已验证:v1.4.1 [build/release-test/app-release.apk](file:///d:/workspace/project/GSYGithubAppKotlin/build/release-test/app-release.apk) 解压后 `lib/` 目录为空)。
125+
- **Release APK 不含任何 .so 原生库**(已验证:v1.4.1 [build/release-test/app-release.apk](file:///d:/workspace/project/GSYGithubAppKotlin/build/release-test/app-release.apk) 解压后 `lib/` 目录为空;v1.4.2 待 CI 出包后复检)。
126126
- 因此 16 KB 检查**当前不影响** Google Play 上架,但**禁止认为永远不影响**
127127
- [app/CMakeLists.txt](file:///d:/workspace/project/GSYGithubAppKotlin/app/CMakeLists.txt) 已存在,`local.properties``NEED_CMAKE_TEST=true` 即会编出 `libnative-gsy.so`
128128
- 后续任何引入带原生代码的依赖(图像/视频/加解密/数据库 Native 后端等)都会带回 `.so`
129+
- v1.4.2 起,[app/build.gradle](file:///d:/workspace/project/GSYGithubAppKotlin/app/build.gradle#L116-L130)**显式**声明 `packaging.jniLibs.useLegacyPackaging = false` —— 即便后续 AGP 默认行为变化或加入 .so,APK 内的 native lib 也保证不压缩、page-aligned。
130+
- `ndk.abiFilters` 限定 `arm64-v8a`[app/build.gradle#L44-L46](file:///d:/workspace/project/GSYGithubAppKotlin/app/build.gradle#L44-L46)),32 位 ABI 不进入产物,符合 Google Play 64-bit + 16 KB 双重要求。
129131

130132
### 4.2 触发条件 → 必检项
131133

@@ -233,3 +235,4 @@ Get-ChildItem build/release-test/apk-extract/lib -Recurse -Filter *.so |
233235
| v1.4.0 | 「检查更新」跳 `releases` 列表而非 `releases/latest` | [MainDrawerController.RELEASE_PAGE_URL](file:///d:/workspace/project/GSYGithubAppKotlin/app/src/main/java/com/shuyu/github/kotlin/module/main/MainDrawerController.kt#L52-L54) 改为 `releases/latest` |
234236
| v1.4.0 | targetSdk 36 下 `Intent.ACTION_VIEW` 无浏览器可解析 | Manifest 加 `<queries>` + `browse()``resolveActivity` 预检 |
235237
| 通用 | Google Play 16 KB 页大小要求(2025-11-01 起 targetSdk≥35 强制)| §4 沉淀;当前无 .so 不受影响,CMake 开关 / 引入新 native 依赖时**必须**走 §4.5 检查 |
238+
| v1.4.2 | 显式声明 16 KB 防御配置 | [app/build.gradle](file:///d:/workspace/project/GSYGithubAppKotlin/app/build.gradle#L116-L130)`packaging.jniLibs.useLegacyPackaging = false`;CI 产物经 lib/ 扫描确认无 .so,符合 Google Play 16 KB 要求 |

app/build.gradle

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ android {
1717
applicationId "com.shuyu.github.kotlin"
1818
minSdkVersion 21
1919
targetSdkVersion 36
20-
versionCode 14
21-
versionName "1.4.1"
20+
versionCode 15
21+
versionName "1.4.2"
2222
javaCompileOptions {
2323
annotationProcessorOptions {
2424
arguments = [AROUTER_MODULE_NAME: project.getName()]
@@ -114,6 +114,9 @@ android {
114114
}
115115

116116
packaging {
117+
jniLibs {
118+
useLegacyPackaging = false
119+
}
117120
resources {
118121
excludes += [
119122
'META-INF/library-core_release.kotlin_module',

0 commit comments

Comments
 (0)