android

HTC G2刷rom时的waiting for device解决方法

如果刷机机器上装有Android SDK并且带usb驱动(也就是做开发用的这套东西)的话,按照刷机教程进入fastboot模式的时候,系统会自动安装SDK带的usb驱动,记得好象是个2.0版本的bootloader设备,这样,在用flash刷recovery的时候就会在console中一直显示waiting for device而不能继续,出现这种情况时就需要手动更新bootloader的USB设备驱动,使用刷机包带的版本替换后(htc g2显示的是htc loader,版本1.0),再重复这步操作就没问题了。
其实这个操作只是手机在bootloader模式时的驱动,就算替掉,刷完rom后进入正常使用模式的时候usb驱动还是原来的Android Composite ADB Interface,并不会影响开发使用。

Android平台中BitmapFactory.decodeResource对GL程序材质的影响

在Android平台下实现OpenGL ES程序的贴图加载操作一般是通过BitmapFactory.decodeResource这个api,然后用系统封装好的GLUtils.texImage2D函数直接转换为gl贴图即可,方便快捷。但在较新版的Android系统中res中的图片文件夹根据dpi设备分辨率的不同,细分了很多文件夹处理以支持不同设备的分辨率加载对应的图片,如drawable-hdpi,drawable-ldpi,drawable-mdpi等,如果没有注意这个问题而将贴图图片随意安置的话,在decode的时候系统会默认根据设备dpi的不同对目标图片格式解码的同时进行大小调整,也就是说有可能破坏原本已经是2^n大小的贴图图片,导致原本在模拟器上正确的绘图在真机上变成大白板!
解决这个问题的方法可以将图片放到不受dpi影响的drawable-nodpi中,或者设置BitmapFactory的选项,不处理dpi相关问题。