DCloud_App_Array
DCloud_App_Array
  • 发布:2019-07-25 21:44
  • 更新:15 小时前
  • 阅读:1299

Android平台配置支持的CPU类型(64位)

分类:HTML5+

HBuilderX2.1.5 alpha版本(可在官网下载)开始支持Android平台的新增适配64位CPU类型,云端打包支持配置APP支持的CPU类型。
满足Google Play从2019年8月1日起上传的App必需支持64位CPU的要求。

不管5+App、wap2app、uni-app的各种编译模式,均已支持。

概要

Android平台配置CPU类型针对的是为了提高运行效率使用C/C++语言开发生成的so库,需要为各cpu类型平台单独编译生成对应指令的so库。Java语言开发的代码运行在虚拟机中,由虚拟机适配CPU类型,不涉及到此问题。
HBuilder/HBuilderX中使用so库的功能(模块)

  • Audio(录音):支持mp3格式
  • Geolocation(定位):百度
  • LivePush(直播推流)
  • Maps(地图):高德、百度
  • OAuth(登录鉴权):新浪微博
  • Push(消息推送):个推、UniPush
  • Share(分享):新浪微博
  • Speech(语音输入):百度,注意:讯飞不支持64位
  • Weex(原生渲染):uni-app(自定义组件模式、nvue页面), 注意:HBuilderX2.1.5及以上版本支持

CPU类型

目前HBuilder/HBulderX适配支持以下主流CPU类型:

  • armeabi-v7a
    第7代及以上的ARM处理器(ARM32位),市面上大多数手机使用此CPU类型。
  • arm64-v8a
    第8代、64位ARM处理器(ARM64位),最近两年新发的设备使用此CPU类型。
  • x86
    平板、模拟器用得比较多。(雷电夜神等三方模拟器模拟的是arm架构,不是x86)

云端打包配置

源码视图配置

打开项目的manifest.json文件,切换到“源码视图”
5+APP项目在 "plus" -> "distribute" -> "google" -> "abiFilters",uni-app项目在 "app-plus" -> "distribute" -> "android" -> "abiFilters" 添加要支持的CPU类型:

"abiFilters":[  
    "armeabi-v7a",  
    "arm64-v8a",  
    "x86"  
],  

在上面节点配置需要支持的cpu类型,不需要的删除即可。
保存后提交云端打包生效,不设置此字段则默认使用armeabi-v7a(ARM32位)和X86

查看打包后插件apk支持的CPU类型

使用解压工具打开apk,在lib目录下可以查看到支持的CPU类型,如下图所示:

CPU类型选择建议

ARM64位(arm64-v8a)CPU可以兼容ARM32的指令,也就是说只选择armeabi-v7a类型的so库也可以在64位手机上运行,只是没有完全发挥CPU的性能。
选择支持的CPU类型时请参考以下建议:

  • 如果不在意apk大小,三种CPU类型都勾选
  • 如果在意apk大小,选择ARM32位即可(几乎在所有ARM指令的所有设备上都可正常运行)
  • 如果要兼容一些平板和模拟器,选择ARM32位和X86
    不是所有模拟都仅支持x86指令,如雷电、夜神等模拟器也是支持ARM指令,Android SDK自带模拟器用的是X86指令。

CPU类型错误安装

如果打包选择的CPU类型与设备不兼容,会导致无法正常安装。
通过adb命令安装通常会提示如下错误:

Performing Streamed Install  
adb: failed to install android_debug.apk: Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]  

使用Android Studio自带的x86模拟器,将不包含x86 cpu类型的apk拖到模拟器安装时会弹出如下提示框:

0 关注 分享

要回复文章请先登录注册

取舍

取舍

回复 DCloud_App_Array:
我发现的问题是这样的, 如果在连接wifi的情况下, 会有在首页白屏的情况, 但是好像不是每次都白屏,不知道是不是网络不稳定, 但是在白屏情况下, 点击其他tabbar页面也动不了, 按后退键也退不出应用, 如果我不连wifi,也不连流量, 应用进入不会白屏, 刚刚测试的
15 小时前
约学

约学

如果什么都不选会怎么样?
1 天前
DCloud_App_Array

DCloud_App_Array (作者)

回复 取舍:
把apk下载地址发出来
4 天前
取舍

取舍

全勾后云打包, 应用启动白屏, 不打勾就正常
4 天前
1612000627@qq.com

1612000627@qq.com

云打包后,没看见64位的啊,老铁
2019-08-11 21:10
1612000627@qq.com

1612000627@qq.com

回复 241400174@qq.com:
我也是,云打包后,没看见64位的
2019-08-11 21:10
241400174@qq.com

241400174@qq.com

配置了,云打包后没见arm64-v8a
2019-08-11 16:48
DCloud_App_Array

DCloud_App_Array (作者)

回复 787042523@qq.com:
后续会更新SDK版本支持。
2019-08-06 20:15
787042523@qq.com

787042523@qq.com

本地打包怎么支持64位?
2019-08-05 09:37
uniuk

uniuk

回复 DCloud_App_Array:
这个文档写的有错,uni-app项目配置打包cpu支持的节点应该为: "app-plus" -> "distribute" -> "android" -> "abiFilters"
2019-08-04 10:21
mcfsoft@gmail.com

mcfsoft@gmail.com

uni-app还不支持打包64位吗?
2019-07-29 13:57
hgdc

hgdc

真是强大,前来支持
2019-07-29 13:20
Greetty

Greetty

回复 DCloud_App_Array:
离线打包的SDK什么时候能发布
2019-07-29 11:45
DCloud_App_Array

DCloud_App_Array (作者)

回复 fredzhu:
访问外网依赖库服务器出错导致,已修复,请重新提交打包
2019-07-29 11:41
fredzhu

fredzhu

HbuilderX Alpha 2.1.4云打包失败。貌似配置指向的原库文件link失效了(或者是设置错了?)
FAILURE: Build failed with an exception.

What went wrong:
Could not resolve all files for configuration ':releaseCompileClasspath'.
Could not find support-media-compat.aar (com.android.support:support-media-compat:26.1.0).
Searched in the following locations:
https://jcenter.bintray.com/com/android/support/support-media-compat/26.1.0/support-media-compat-26.1.0.aar
Could not find support-core-utils.aar (com.android.support:support-core-utils:26.1.0).
Searched in the following locations:
https://jcenter.bintray.com/com/android/support/support-core-utils/26.1.0/support-core-utils-26.1.0.aar
Could not find support-compat.aar (com.android.support:support-compat:26.1.0).
Searched in the following locations:
https://jcenter.bintray.com/com/android/support/support-compat/26.1.0/support-compat-26.1.0.aar
2019-07-29 10:15
Greetty

Greetty

使用HBuilderX2.1.4 alpha版本(APP开发版)打包APP打包失败(云打包,googleplay版本),旧版本HBuilderX2.0.1.20190614 打包可正常打包。
打包异常日志:https://service.dcloud.net.cn/build/errorLog/d3865330-b1a3-11e9-965a-0783ad77eecd
2019-07-29 10:05