如何在我的应用程序中包含 64 位和 32 位本机代码
Posted
技术标签:
【中文标题】如何在我的应用程序中包含 64 位和 32 位本机代码【英文标题】:How to Include 64-bit and 32-bit native code in my app 【发布时间】:2020-01-02 20:43:21 【问题描述】:我无法将我的应用上传到 Playstore 出现此错误 我还构建了“android App Bundle”来上传应用程序,但再次出现此错误。
此版本不符合 Google Play 64 位要求 以下 APK 或 App Bundle 可用于 64 位设备,但它们只有 32 位本机代码:111。
defaultConfig
applicationId "com.iqvis.com.buenosdias"
minSdkVersion 17
targetSdkVersion 26
versionCode 111
versionName "10.11"
multiDexEnabled true
ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'
【问题讨论】:
你试过这个答案***.com/a/54474417/3678308 吗? ndk.abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' 在我把这个ndk过滤器放到gradle然后我分析apk我只看到两个文件夹armeabi-仅 v7a 和 x86 我如何才能包含 arm64-v8a 和 x86_64 【参考方案1】:2017 年,Google 宣布在 19 年 8 月 PlayStore 上的应用程序应提供 64 位的 32 位原生库的后续版本。从 Android 5( Lollipop ) 天开始就支持 64 位。
现在检查您的 apk
打开 Android Studio,然后打开任何项目。 从菜单中,选择构建 > 分析 APK,然后选择您要评估的 APK。现在,如果您在分析器中查看 lib 文件夹,并在其中看到任何 .so,那么您有 32 位库,或者如果您有任何 armeabi-v7a 或 x86,那么您有 32 位库 如果您没有看到 .so 文件,那么您的应用不需要升级版本。
升级到 64 位架构
// Your app's build.gradle
apply plugin: 'com.android.app'
android
compileSdkVersion 27
defaultConfig
appId "com.google.example.64bit"
minSdkVersion 15
targetSdkVersion 28
versionCode 1
versionName "1.0"
ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'
更多信息请查看https://www.youtube.com/watch?v=E96vmWkUdgA
【讨论】:
以上是关于如何在我的应用程序中包含 64 位和 32 位本机代码的主要内容,如果未能解决你的问题,请参考以下文章
在 Java 应用程序中混合运行 32 位和 64 位本机库
如何制作同时支持 32 位和 64 位架构的 Android 应用程序?
如何在我的新CSPROJ类库中包含带有本机dll的NuGet包?