开发过程中经常遇到有些手机(三星、moto等)不能安装自己开发的apk,主要原因是:Moto、三星国行基本都阉割了Google APIs,(魅族和小米却没有)。解决方法大致有两个方向:
原因就是在Androidmainfirst文件中添加了:
<uses-library android:name="com.google.android.maps" />
方向一
重新刷机,但软件是你写的,手机却在别人手里,所以你不能要求别人为了安装你这个软件再去安装google服务
方向二
1)维护两条代码分支:
一条分支是针对于内置有Google Map add-on的Android真机,另一条分支是没有内置有Google Map add-on的Android真机。 但是这样做会增加维护成本,而且粗心的用户可能会在自己的机器上安装了不匹配的分支,从而降低了软件的友好度。
2)仍然只保留一条代码分支:
国外一位大牛指出:在<uses-library>标签中还包含了一个没有公布的属性"android:required",你可以将com.google.android.maps库的这个属性设置为false,即:
1
2
|
<!-- The "android:required" attribute was added in API level 5 (Android 2.0) -->
< uses-library android:name = "com.google.android.maps" android:required = "false" />
|
详细讲解见:http://www.cnblogs.com/moonvan/archive/2012/08/24/2654508.html