移动平台

[ZT]WIPI为何

原文:http://blog.csdn.net/flowingflying/archive/2010/08/12/5807527.aspx

下午有个厂家介绍Wipi,开始还以为是wifi或者wapi之类的,但是这是韩国人推动的一个移动平台,在wiki上如下介绍,但是具体沟通后,发现wiki的说法也有错漏。Wifi is C based not java based.而这个是wipi的特性,但我问他们与流行的平台相比有什么特别时,这是一个重要的说辞。

Continue reading…

支持C++标准库的Android NDK CrystaX!

最近在研究Box2D物理引擎在Android上的应用时,发现直接用NDK移植C++版本时遇到了一些STL库的问题,类似b2BroadPhase.h中的:
// Sort the pair buffer to expose duplicates.
std::sort(m_pairBuffer, m_pairBuffer + m_pairCount, b2PairLessThan);
这里,其它地方通过直接替换标准c函数还好解决,这种需要STL库的用法就不好办了。在Box2D的论坛上发现有人提到有个叫CrystaX的第三方版本的NDK,整合了C++标准库,可以直接在不修改任何源码的情况下编译Box2D!
下载地址:http://www.crystax.net/android/ndk.php

HTC Legend G6的恢复出厂设置方法

在Legend上用电子市场(Android Market)下载软件的时候误绑了Google Account,想删掉,结果发现提示什么有程序正在使用这个账号只能通过恢复出厂设置的方式清除。网上有朋友说可以通过清除应用程序管理里Google企业应用套件的保存数据的方式做到,结果发现这个G6的Google App里根本没有提到的清除选项,无奈只好恢复出厂设置,结果执行了之后一直卡在 正在重启 这个弹板这里,仔细看了一下后面好像有个什么对话框弹出来,但焦点已经被锁定了看不清后面到底提示的什么。最后在htc官网上找到了通过重启机器进类似bios的东西清掉的方法:
Performing a factory reset using phone buttons
If you cannot turn on your phone or access the phone settings, you can still perform a factory reset by using the buttons on the phone.

With the phone turned off, press and hold the VOLUME DOWN button, and then briefly press the POWER button.
Wait for the screen with the three Android images to appear, and then release the VOLUME DOWN button..
Press VOLUME DOWN to select CLEAR STORAGE, and then press POWER.
Press VOLUME UP to start the factory reset.

为Eclipse ADT创建的android项目通过ant添加proguard混淆支持

假设已有ADT创建的android项目HelloAndroid并且已经有可用的proguard混淆器(我用的proguard4.4)。
第一步要做的是为项目添加ant build支持。由于ADT插件并不直接支持proguard等混淆器,所以不能像j2me那样在有功能比较完善的插件(如EclipseME等)的基础上直接一键混淆一键打包,不过好在android sdk本身提供了比较完善的ant编译支持,可以通过类似命令行编译的方式,对android项目的整个编译、生成过程进行自定义,从而能够实现对编译中途生成的java bytecode进行插入proguard混淆操作然后再转android dex码生成apk。
进入命令行模式,并切换到项目目录,执行如下命令为ADT创建的项目添加ant build支持:
Continue reading…

发现一个代理发布Android Market付费App的网站

目前的Android Market只对少数几个国家的developer开放paid app的注册发布,很遗憾其中没有我们伟大的祖国,而且即使是想花25$入伙并且只发布free app的话,那些可用国家列表里也没有我们伟大的祖国,残念…。当然,可以选择HongKong过这关,但貌似Android Market对这方面的验证还是比较严格的,当初找国外朋友帮助注册的时候门槛费想用自己的信用卡付,结果就被发现了,直接封掉了帐号!

今天偶然间发现Google广告里有个号称提供Android Market代理发布付费app的网站:http://www.androidpublisher.com/,进去看了下,做的挺简陋,就是简单说明了一下意图,以及如何收代理费:GG剥削30%,代理剥削19%,剩下的大概一半归发布者。虽然不知道可不可靠,但感觉国内的Android开发者还是有一定的数量的,有兴趣的朋友可以投石问路一下。

Android中OpenGL ES开启DEBUG_CHECK_GL_ERROR DEBUG_LOG_GL_CALLS的2个小发现

发现1:当开启DEBUG_LOG_GL_CALLS的时候,会判断所有原本运行正常的glDrawArrays出现数组越界的异常,修改了几下,发现开启log calls后,会多读1个点的数据,也就是最后一个参数的count+1,所以原本正常长度的顶点数组会被访问越界,不晓得为何会这样。

发现2:在真机上使用vbo的时候,如果开了debug,会导致在调用vbo相关gl函数的时候出现unsupported操作异常,可实际vbo功能却执行的好好的,同样不晓得为何会这样。

Controlling the Android Emulator

Emulated Device Key Keyboard Key
Home HOME
Menu (left softkey) F2 or Page-up button
Star (right softkey) Shift-F2 or Page Down
Back ESC
Call/dial button F3
Hangup/end call button F4
Search F5
Power button F7
Audio volume up button KEYPAD_PLUS, Ctrl-5
Audio volume down button KEYPAD_MINUS, Ctrl-F6
Camera button Ctrl-KEYPAD_5, Ctrl-F3
Switch to previous layout orientation (for example, portrait, landscape) KEYPAD_7, Ctrl-F11
Switch to next layout orientation (for example, portrait, landscape) KEYPAD_9, Ctrl-F12
Toggle cell networking on/off F8
Toggle code profiling F9 (only with -trace startup option)
Toggle fullscreen mode Alt-Enter
Toggle trackball mode F6
Enter trackball mode temporarily (while key is pressed) Delete
DPad left/up/right/down KEYPAD_4/8/6/2
DPad center click KEYPAD_5
Onion alpha increase/decrease KEYPAD_MULTIPLY(*) / KEYPAD_DIVIDE(/)

模拟器只能在尚未运行的时候通过设置界面调整屏幕大小,位置等信息,运行时并没有提供菜单或者其他UI进行调整,比如想切换landscape模式,就得通过上面的快捷键实现了。

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 G2 是否支持 OpenGL 硬件加速

参考此文:测试 Android G1 是否支持 OpenGL 硬件加速,对htc magic G2作出同样测试,记录结果,以供日后参考:

04-22 21:03:47.485: DEBUG/GL(2118): GL_RENDERER = Q3Dimension MSM7500 01.02.08 0 4.0.0
04-22 21:03:47.495: DEBUG/GL(2118): GL_VENDOR = QUALCOMM, Inc.
04-22 21:03:47.495: DEBUG/GL(2118): GL_VERSION = OpenGL ES 1.0-CM
04-22 21:03:47.495: INFO/GL(2118): GL_EXTENSIONS = GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_mirrored_repeat GL_ARB_vertex_buffer_object GL_ATI_extended_texture_coordinate_data_formats GL_ATI_imageon_misc GL_ATI_texture_compression_atitc GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_stencil_wrap GL_OES_byte_coordinates GL_OES_compressed_paletted_texture GL_OES_draw_texture GL_OES_fixed_point GL_OES_matrix_palette GL_OES_point_size_array GL_OES_point_sprite GL_OES_read_format GL_OES_single_precision GL_OES_vertex_buffer_object GL_QUALCOMM_vertex_buffer_object GL_QUALCOMM_direct_texture