android - 如何使用 React Native 构建 64 位和 32 位 APK
问题描述
我已将我的应用程序升级到 react-native 0.59.x 以获得 64 位兼容性,以适应来自谷歌的即将到来的截止:
使用本机代码的应用程序必须提供 64 位版本(除了 32 位版本)
-- https://android-developers.googleblog.com/2019/01/get-your-apps-ready-for-64-bit.html
请注意,我们必须提供两个版本。我希望通过组装两个单独的 APK 来做到这一点。这是如何实现的?
目前,我运行./gradlew assembleRelease
并在我的目录中获取一个 APKapp/build/outputs/apk/release
更新:如果答案是 React Native 旨在输出包含所有 32 位和 64 位版本的单个 APK,那么这肯定也回答了我的问题。我的期望肯定会偏离。
解决方案
来自官方文档
如果您的应用仅使用以 Java 编程语言或 Kotlin 编写的代码,包括任何库或 SDK,则您的应用已经准备好用于 64 位设备。如果您的应用程序使用任何本机代码,或者您不确定它是否使用,您将需要评估您的应用程序并采取行动。
对于 ARM 架构,32 位库位于 armeabi-v7a 中。64 位等效版本是 arm64-v8a。
对于 x86 架构,请查找用于 32 位的 x86 和用于 64 位的 x86_64。
通用 APK 中涵盖了这一点。这就是你正在生产的,所以不用担心!
不过,有疑问然后将您的 apk 放在 Android Studio 的 apk 分析器上并检查它是否具有该库。
推荐阅读
- winforms - .net winforms 列表框垂直滚动
- python - GAE 灵活和 Stackriver 使用 python 记录严重性级别
- puppeteer - puppeteer 中的 Page.evaluate 与 Page.waitForFunction
- python - 如何使用python将csv文件中的所有点十进制标记转换为逗号?
- javascript - Mapbox GL js - 在给定坐标周围径向添加多个标记
- typescript - 打字稿:重载函数的返回类型
- symfony - 使用 EasyAdminBundle 查询 DQL 过滤器
- json - 带有 JSON 数据的搜索栏 ionic 3
- c++ - 在单独的函数中修改指向字符串文字的指针
- web-services - 批准访问令牌请求 - Apex 中的 Oauth2 - ORDS