问题描述

调用Google Map的API,做一个安卓的map应用。在android 4.2上顺利运行,升级android 4.3版本出现错误,程序闪退。
原因是googleandroid 4.3 有bug

Sorry, thats a bug! It’s just spurious logging though: Google Play services does some checking to see whether you are a Google app or a regular third party one.

As part of that, it calls the signature verifier and the logging ended up more verbose than intended - it will be fixed in a future version.This shouldn’t affect the behavior of your app at all.

This logcat warning is caused by a bug introduced in Google Play Services 9.x. It can be safely ignored, I don’t believe it causes a crash, so your crash may be caused by a different issue. The message should go away with a future update to play services.

(Update)更新了版本到android 4.4,还是出现闪退,需要下载对应版本的Google Play Service
(Update)下载了对应版本的Google Play Service,app还是闪退,原因是9X版本的Google Play Service有问题,我换了10X的还有问题,stackoverflow上有人说退回到8X版本的Google Play Service,但是问题依旧存在。


Google play Service 版本

Google Play 服务已停止运行,出现这一错误更新Google Play Service可以解决,但是Google Play Service一定要找到对应的版本。版本号可以在[应用]当中查询,最后三位[XYZ]比较重要:

X 取决于 Google Play服务所运行的 Android 版本

  • 0 版本号低于 5.0
  • 2 版本号5.0或者5.1,且Play Service是v8及以后
  • 2 版本号5.0或者5.1,且Play Service是v8以前,或者版本号6.0及以上
  • 5 Android Wear
  • 7 Android 5.0
  • 8 Android TV

Y 取决于 所运行设备的 CPU 架构方式

  • 1 对应armeabi
  • 3 对应armeabi-v7a
  • 4 对应arm64-v8a
  • 5 对应mips
  • 7 对应x86
  • 8 对应x86_64

Z 取决于所运行设备的 dpi

  • 160 dpi 该位置数字为 2
  • 240 dpi 该位置数字为 4
  • 320 dpi 该位置数字为 6
  • 480 dpi 该位置数字为 8
  • 该位置数字为 0 一般指各 dpi 通用的 Google Play 服务

机器信息查询

  • Android版本查询
    Android版本可以在[设置] -> [本机信息] 当中查看

  • CPU构架查询
    很多种方式可以查询CPU架构

软件查询

Droid Hardware Info是个很handy的小工具,下载链接

命令行查询

打开终端模拟器,输入如下命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
u0_a50@m0:/ $ adb shell

* daemon not running. starting it now on port 5038 *
* daemon started successfully *
error: device not found

1|u0_a50@m0:/ $ cat /proc/cpuinfo
Processor : ARMv7 Processor rev 0 (v7l)
processor : 0
BogoMIPS : 1592.52
processor : 1
BogoMIPS : 2786.91
processor : 2
BogoMIPS : 2786.91
processor : 3
BogoMIPS : 2786.91
Features : swp half thumb fastmult vfp edsp neon vfpv3 tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x3
CPU part : 0xc09
CPU revision : 0
Chip revision : 0011
Hardware : SMDK4x12
Revision : 000c
Serial : 5cc1303b4df75c1d

所以测试机CPU构架为armeabi-v7a

代码查询

写一个小demo就适合查询更多的信息(号码,内存,CPU,分辨率,MAC,IP,SD卡,IMEI,经纬度,信号强度等等),Google有提供很多接口,具体参见【小功能2】android获取手机信息

  • 设备dpi查询
    手机分辨率为:720 * 1280
    主屏尺寸为: 4.8

Diagonal pixel = \sqrt{width{^2^} + {height}{^2^}} = 1468.6
dpi = 1468.6 / 4.8 = 305

所以测试机使用的Google Play Service版本是036


下载并安装对应的apk

APKMirror很方便下载安装包,比Google play更新速度快。


参考

[1] http://izaka.tw/android-processor-architecture-determine/ 如何查詢安卓手機平板所使用的處理器架構
[2] http://blog.csdn.net/watermusicyes/article/details/45059309 如何查看Android设备的CPU架构信息
[3] http://2402766.blog.51cto.com/2392766/1080837 【小功能2】android获取手机信息
[4] http://blog.csdn.net/moruite/article/details/6028547 Android手机分辨率基础知识(DPI,DIP计算)
[5] http://sspai.com/30526 Google Play 服务已停止运行?这是解决方案