Android Market上发软件要注意哪些问题

推荐安卓开发神器(里面有各种UI特效和android代码库实例)

  很多网友可能都注册了Android Market账户,但发布一款软件如果要做到很周全需要考虑哪些问题呢?

  一、兼容性

   对于目前市面上Android设备品牌种类定位繁多,这里Android123大致将这些分为几类:

   1. 按操作系统区分,Android 1.5,1.6和Android 2.0,2.1或2.2等几个版本。

   2. 按屏幕分辨率区分,目前WVGA是主流即480x800目前占了近一半,当然还有一部分HVGA的320x480大概有45%的份额,至于QVGA的一些低端机相对较少比如Moto ME511、HTC Tattoo、HTC Aria和HTC Bee这几款机型还是240x320的分辨率比较少。

  3. 硬件或扩展库,比如需要扩展包WiFi、GPS、GSM/GPRS模块、OpenGL 3D硬件加速器的。

   面对上面的三种问题,这里Android开发网可以告诉大家一个简单的方法来处理比如说直接在androidmanifest.xml中设置,这样Google的Android Market就可以自适应了。面对以上问题,解决方法分别为

  1. 重新配置use-sdk节点,比如仅仅让android 2.0到2.1之间的用户使用而2.2的用户无法使用,可以设置为<uses-sdk android:minSdkVersion="5"  android:targetSdkVersion="6"  android:maxSdkVersion="7" />  其中中间数字代表API Level,而maxSdkVersion属性在较早的SDK中不支持,可能ADT无法编译通过。

  2. 分辨率我们可以添加supports-screens节点,比如兼容hvga和wvga的,可以这样写 <supports-screens android:smallScreens="false"   android:normalScreens="true"  android:largeScreens="true"                  android:anyDensity="false" /> 这里small代表qvga,normal就是hvga,而large是wvga或fwvga,最后的密度还牵扯到LCD屏幕问题

  3. 扩展库,比如我们用到google maps包,或中移动的oms库,可能需要 <uses-library android:name="xxx" /> 的字样,当然硬件的问题还可以引入特性节点 比如 <uses-feature android:glEsVersion="0x00020000"
              android:name="android.hardware.camera"     android:required="true"/> 这里就是我们的游戏需要OpenGL ES 2.0的版本,如果需要2.1则值为0x00020001,需要更高的固件才能支持,同时还必须要系统的摄像头硬件。

  详细的Android123在这里给大家列出来

android.hardware.camera.autofocus
android.hardware.camera.flash
android.hardware.sensor.light //光线感应器
android.software.live_wallpaper //动态壁纸
android.hardware.sensor.proximity 距离感应器
android.hardware.touchscreen.multitouch //多点触控
android.hardware.telephony
android.hardware.telephony.cdma
android.hardware.telephony.gsm

   二、多国语言

   如何实现Android程序国际化 详细的方案可以查看  Android本地化开发技巧

   三、软件的隐私问题

  尽量不要声明过多危险的permission,比如需要访问用户信息,联系人、短信、通话记录、定位信息等等,对于一般的程序调试反馈,Google已经在Android 2.2的固件中加入了自动反馈和自己程序的logcat stack print功能,可以在Android Market的console后台查看。

相关推荐