Google 尽管 apk 提供了 64 位和 32 位的所有本机库,但播放 64 位错误
Google play 64 bits error despite apk is provided with all native libraries in 64 and 32 bits
我正在向 goole play 提交一个看起来完全兼容 64 位的 apk,它提供了 32 位和 64 位的所有本机库。但是当我尝试在 gogole play 控制台中部署 apk 时,我仍然遇到这个错误:
This release is not compliant with the Google Play 64-bit requirement
The following APKs or App Bundles are available to 64-bit devices,
but they only have 32-bit native code: 2.
Include 64-bit and 32-bit native code in your app. Use the Android
App Bundle publishing format to automatically ensure that each device
architecture receives only the native code that it needs. This
avoids increasing the overall size of your app. Learn More
这是 apk 中原生库的屏幕截图:
这个 apk 似乎完全符合我的 64 位标准,我真的坚持这个,非常感谢任何帮助或想法。
[edit 2019 11 14] 根据 Robert 的评论发表评论后,我使用 ndk 提供的工具 arm-linux-androideabi-readelf 检查了所有 10 个 .so 库。
我使用了这两个命令:
arm-linux-androideabi-readelf -h armeabi-v7a/*
输出 10 个 ELF headers 看起来像这样:
File: armeabi-v7a/libVuforia.so
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: DYN (Shared object file)
Machine: ARM
Version: 0x1
Entry point address: 0x0
Start of program headers: 52 (bytes into file)
Start of section headers: 17252004 (bytes into file)
Flags: 0x5000200, Version5 EABI, soft-float ABI
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 8
Size of section headers: 40 (bytes)
Number of section headers: 28
Section header string table index: 27
并且:
arm-linux-androideabi-readelf -h arm64-v8a/*
输出 10 个 ELF headers 看起来像这样:
File: arm64-v8a/libVuforia.so
ELF Header:
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: DYN (Shared object file)
Machine: AArch64
Version: 0x1
Entry point address: 0x10f3a0
Start of program headers: 64 (bytes into file)
Start of section headers: 27138992 (bytes into file)
Flags: 0x0
Size of this header: 64 (bytes)
Size of program headers: 56 (bytes)
Number of program headers: 8
Size of section headers: 64 (bytes)
Number of section headers: 26
Section header string table index: 25
这似乎证实了 10 个 .so 库以 32 位和 64 位正确提供。仍然卡住了,非常感谢任何帮助。
我找到了解决方案(对于我的情况 - 可能与您的情况相同)
在 Dev 控制台中,我有一个设置为 "retained" 的旧 apk(32 位,对于旧的 Android 设备:14+ 到 19)。
禁用它使我能够成功部署我的新包。
希望对您有所帮助。
我正在向 goole play 提交一个看起来完全兼容 64 位的 apk,它提供了 32 位和 64 位的所有本机库。但是当我尝试在 gogole play 控制台中部署 apk 时,我仍然遇到这个错误:
This release is not compliant with the Google Play 64-bit requirement
The following APKs or App Bundles are available to 64-bit devices, but they only have 32-bit native code: 2.
Include 64-bit and 32-bit native code in your app. Use the Android App Bundle publishing format to automatically ensure that each device architecture receives only the native code that it needs. This avoids increasing the overall size of your app. Learn More
这是 apk 中原生库的屏幕截图:
这个 apk 似乎完全符合我的 64 位标准,我真的坚持这个,非常感谢任何帮助或想法。
[edit 2019 11 14] 根据 Robert 的评论发表评论后,我使用 ndk 提供的工具 arm-linux-androideabi-readelf 检查了所有 10 个 .so 库。
我使用了这两个命令:
arm-linux-androideabi-readelf -h armeabi-v7a/*
输出 10 个 ELF headers 看起来像这样:
File: armeabi-v7a/libVuforia.so
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: DYN (Shared object file)
Machine: ARM
Version: 0x1
Entry point address: 0x0
Start of program headers: 52 (bytes into file)
Start of section headers: 17252004 (bytes into file)
Flags: 0x5000200, Version5 EABI, soft-float ABI
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 8
Size of section headers: 40 (bytes)
Number of section headers: 28
Section header string table index: 27
并且:
arm-linux-androideabi-readelf -h arm64-v8a/*
输出 10 个 ELF headers 看起来像这样:
File: arm64-v8a/libVuforia.so
ELF Header:
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: DYN (Shared object file)
Machine: AArch64
Version: 0x1
Entry point address: 0x10f3a0
Start of program headers: 64 (bytes into file)
Start of section headers: 27138992 (bytes into file)
Flags: 0x0
Size of this header: 64 (bytes)
Size of program headers: 56 (bytes)
Number of program headers: 8
Size of section headers: 64 (bytes)
Number of section headers: 26
Section header string table index: 25
这似乎证实了 10 个 .so 库以 32 位和 64 位正确提供。仍然卡住了,非常感谢任何帮助。
我找到了解决方案(对于我的情况 - 可能与您的情况相同)
在 Dev 控制台中,我有一个设置为 "retained" 的旧 apk(32 位,对于旧的 Android 设备:14+ 到 19)。 禁用它使我能够成功部署我的新包。
希望对您有所帮助。