Skip to content

ShadowJoker/weex-16kb

 
 

Repository files navigation

Weex 适配 16KB PageSize 版本

简介

基于 Weex 原版,适配 Android 16KB PageSize 问题。

GooglePlay 要求 App 必须适配 16KB PageSize,否则影响应用上架和更新。有人在 Weex 项目里提过 issue,但都没有的到回复,目前阿里那边应该是没人跟进这个项目了,本着自己动手丰衣足食的原则,自己搞了一下。现在已经跑通,准备把这个东西开源出来,也给社区做点贡献😁

本项目是基于原版 Weex 项目 Fork 出来的。仅做了编译配置修改,和极少的 C++ 语法适配性修改。没有修改 Weex 的代码逻辑,理论上不会影响 Weex 的功能。

主要改动点

  • 升级 NDK 27,适配 16KB PageSize
  • 更新 ReactNative 发布的最新 JSCore,适配 16KB PageSize
  • 配套工具链升级,Gradle配置修改
  • C++ 代码修改,由于升级 NDK 27,部分老代码需要做调整

编译环境需求

  • Java 17
  • NDK 27.1.12297006
  • CMake 3.22.1
  • Gradle 8.10.2
  • APG 8.7.2

编译步骤

  1. 首先确保环境正确,各工具的版本严格符合编译环境说明
  2. 进入到工程中 android 路径下(可以直接使用 AndroidStudio 打开这个路径,这是一个标准的Android工程)
  3. 执行 ./gradlew assembleRelease 编译项目
  4. 编译完成后,在 android/sdk/build/outputs/aar 目录下会生成 aar 文件。
  5. 在自己的项目中使用这个 AAR 作为 Weex SDK。

注意事项

  • 如果集成 AAR 包以后,启动闪退,可能是由于 libc++shared.so 版本不一致问题。Weex AAR 包中包含了 libc++shared.so,需要确保 App 使用相同的版本和这个相同。

联系方式

  • 欢迎沟通交流,请加微信:Shepard-N7,麻烦写一下备注

以下是 Weex 原版的 README 说明

Weex

A framework for building Mobile cross-platform UI.

Build Status

Distribution

Support Android 4.1 (API 16), iOS 9.0+ and WebKit 534.30+.

platform status
Android Maven Central
iOS Pod version Carthage compatible
Web npm

Build from Source

How To Build

Contribution

Please read Contributing Guide for more information.

License

Apache License 2.0

About

基于阿里Weex框架源码,支持Android15系统16KB pageSize适配

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 42.6%
  • JavaScript 20.6%
  • Java 13.8%
  • C 9.6%
  • Objective-C 6.6%
  • Objective-C++ 3.0%
  • Other 3.8%