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后台查看。