Android Google play 64位错误,尽管apk提供了64位和32位的所有本机库
我正在向goole play提交一个似乎完全符合64位标准的apk,它提供了32位和64位的所有本机库。但我在尝试在gogole play控制台中部署apk时仍会遇到此错误: 此版本不符合Google Play 64位要求 以下APK或应用程序包可用于64位设备, 但它们只有32位本机代码:2 在应用程序中包括64位和32位本机代码。使用Android 应用程序包发布格式,以自动确保每个设备 体系结构只接收它需要的本机代码。这 避免增加应用程序的总体大小。了解更多 以下是apk中本机库的屏幕截图: 这个apk似乎是完美的64位兼容我,我真的被困在这个,任何帮助或想法非常感谢 [edit 2019 11 14]在Robert的评论之后,我使用ndk提供的工具arm linux Androidabi readelf检查了所有10.so库 我使用了以下两个命令:Android Google play 64位错误,尽管apk提供了64位和32位的所有本机库,android,google-play,64-bit,Android,Google Play,64 Bit,我正在向goole play提交一个似乎完全符合64位标准的apk,它提供了32位和64位的所有本机库。但我在尝试在gogole play控制台中部署apk时仍会遇到此错误: 此版本不符合Google Play 64位要求 以下APK或应用程序包可用于64位设备, 但它们只有32位本机代码:2 在应用程序中包括64位和32位本机代码。使用Android 应用程序包发布格式,以自动确保每个设备 体系结构只接收它需要的本机代码。这 避免增加应用程序的总体大小。了解更多 以下是apk中本机库的屏幕截图
arm-linux-androideabi-readelf -h armeabi-v7a/*
输出10个ELF头,如下所示:
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
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个ELF头,如下所示:
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
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位正确提供的。仍然卡住,非常感谢任何帮助。我找到了一个解决方案(对于我的情况-可能与您的相同)
在开发控制台中,我有一个旧的apk,它被设置为“保留”(32位,对于旧的Android设备:14+到19)。
禁用它使我能够成功部署新捆绑包
希望它能有所帮助。解压APK并检查每个。因此ABI文件:可能在armv8a ABI文件夹中有一个armv7 ABI文件?Thx的想法,刚刚检查了所有我的。因此,使用工具arm linux AndroidABI readelf,他们都使用他们应该使用的cpu体系结构:,然后根据建议,一切都应该很好。或者你有屏幕截图中看不到的其他体系结构的libs吗?实际上我们尝试了几种组合,我们只提交了arm 32/64,然后我们尝试了arm和x86,但没有任何效果。我们尝试使用多个apk(每个架构一个),并使用嵌入所有架构的通用apk。我们开了罚单,因为这似乎是个奇怪的问题。我以前提交过非常相似的应用程序,没有任何问题……这里也有同样的问题,你的票有更新吗?是的,就是这样。谢谢