[AndroidStudio]Android 16 KB Alignment scxingm 开发 2025-12-05 自 Android 15 及更高版本起,系统开始支持 16KB 内存页,特别是搭载 ARM 架构的手机,出厂时便默认启用该功能。 以下仅能让自己项目的Jni支持,其他Jni需相关开发进行支持。 1、环境: 1. NDK:[android-ndk-r27-windows.zip][1] -> androidsdk/ndk/27.0.12077973 2. Cmake:3.18.1 -> androidstudio >tool >SDK Manager >SDK Tools(勾选右下Show Package Details) 2、更新项目(均基于androidstudio jni module): 1. CMakeLists.txt ``` cmake_minimum_required(VERSION 3.18.1) # 修改 ... target_link_options(jnilib PRIVATE "-Wl,-z,max-page-size=16384") # 添加 ``` 2. build.gradle ``` android { ... defaultConfig { ndkVersion '27.0.12077973' // 修改 } externalNativeBuild { cmake { version "3.18.1" // 指定版本 } } ... } ``` 3. local.properties ``` ndk.dir=E\:\\Android\\Sdk\\ndk\\27.0.12077973 # 修改 ``` 3. 编译:Gradle >jnilib >Tasks >build >assemble 4. 检测:androidstudio >Build >Analyze APK... >选择项目apk,导航到优化的so项 ``` 4 KB zip alignment, but 16 KB is required # 未成功 4 KB LOAD section alignment, but 16 KB is required # 未成功 4 KB zip and 4 KB LOAD section, but 16 KB is required for both # 未成功 16 KB # 成功 ``` 相关资料:https://mp.weixin.qq.com/s/jKZDeGj5DTN1X17vMTGhrA [1]: https://dl.google.com/android/repository/android-ndk-r27-windows.zip 本文由 scxingm 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。
还不快抢沙发