想要在Android真机上安装带有Google Map Add-on的应用需要真机本身内置了Google Map Add-on,那么对于没有内置的真机,我们怎么安装呢? 并不是所有的Android真机中都带有Google Map add-on,要想内置Google Map add-on是需要和google商谈的。 但是若我们开发一个使用到了Google Map add-on的Android应用程序(即使用了<uses-library android:name="com.google.android.maps"></uses-library>),就会发现这个程序不能成功安装在没有内置Google Map add-on的真机中,那么我们有什么办法来解决这个问题呢? 方法有两个: 1)维护两条代码分支: 一条分支是针对于内置有Google Map add-on的Android真机,另一条分支是没有内置有Google Map add-on的Android真机。 但是这样做会增加维护成本,而且粗心的用户可能会在自己的机器上安装了不匹配的分支,从而降低了软件的友好度。 2)仍然只保留一条代码分支: 国外一位大牛指出:在<uses-library>标签中还包含了一个没有公布的属性"android:required",你可以将com.google.android.maps库的这个属性设置为false,即: [xhtml] view plaincopy 01.<!-- The "android:required" attribute was added in API level 5 (Android 2.0) --> 02.<uses-library android:name="com.google.android.maps" android:required="false"></uses-library> 这代表如果在目标机器上内置了Google Map add-on,则可以正常使用应用;如果目标机器没有内置Google Map add-on,也可以成功安装应用。但是开发人员需要在代码中自行判断Google Map add-on是否可用,举例如下: [java] view plaincopy 01.try { 02. Class.forName("com.google.android.maps.MapActivity"); 03.} catch (Exception e) { 04. Toast.makeText(MainActivity.this, "Oop! google地图不可用", Toast.LENGTH_SHORT).show(); 05. return; 06.} 07. 08.Intent intent = new Intent(); 09.intent.setClass(MainActivity.this, MyMapActivity.class); 10.startActivity(intent); 转载自http://www.cnblogs.com/gansc23/archive/2011/02/28/1967207.html</uses-library>

更多相关文章

  1. android EditText设置不可写
  2. android 使用html5作布局文件: webview跟javascript交互
  3. android studio调试c/c++代码
  4. IM-A820L限制GSM,WCDMA上网的原理(其他泛泰机型可参考)7.13
  5. 锁屏界面
  6. 关于Android(安卓)Studio3.2新建项目Android(安卓)resource link
  7. android(NDK+JNI)---Eclipse+CDT+gdb调试android ndk程序
  8. Android(安卓)version and Linux Kernel version
  9. Android(安卓)闹钟管理类的使用

随机推荐

  1. 介绍本人的一个Android项目(附源代码)
  2. android 扫描SDCard.
  3. adb devices List of devices attached
  4. Android SDK更新失败及其解决办法
  5. ListView设置没有头部和底部分割线
  6. android build Communication error with
  7. android:configChanges screen
  8. android studio 修改生成的apk 包名
  9. Android收藏商品/关注商品
  10. android 进程内存分析