1.升级Androidstudio,ndk,gradle版本

   AGP 版本 8.5.1 或更高版本,ndk26以上。

2.在 build.gradle 文件中,添加以下选项:

android {
  ...
  packagingOptions {
      jniLibs {
        useLegacyPackaging true
      }
  }
}

 

3. 在 build.gradle 文件中,设置实参 -DANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES=ON:

android {
  ...
  defaultConfig {
    ...
    // This block is different from the one you use to link Gradle
    // to your CMake or ndk-build script.
    externalNativeBuild {
      // For ndk-build, instead use the ndkBuild block.
      cmake {
        // Passes optional arguments to CMake.
        arguments "-DANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES=ON"
      }
    }
  }
}
 4.更新common/CMakeLists.txt

添加 set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-z,max-page-size=16384 -Wl,--no-rosegment")  

 

打出来的包用AndroidStudio检测发现时不时不准,有的时候不显示。还是用这个工具靠谱。下载最新的 libchecker ,如果动态库都有“16 KB” ,那就是正常:

参考:https://developer.android.google.cn/guide/practices/page-sizes?hl=zh-cn#cmake

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐