一、 总结
1. Logcat过滤字串 2012-02-22
adb logcat |FINDSTR [字串]。例如:adb logcat |FINDSTRrequested
2. Device not found时解决 2012-02-24
Adb kill-service
3. Push命令时提示系统为只读解决 2012-02-24
Adb remount
4. 烧录apk使重启后仍有效 2012-02-24
Adb push [apk的电脑路径] [apk的手机上路径,一般是/system/app]
Adb install则在重启后就没效。
5. C8665一些常用的快捷按键 2012-02-13
1, 侧音量键上+侧音量键下+开机键
进入的模式可以直接下载img文件,使用adb命令。
2, 音乐播放键+开机键+侧音量键下
进入download模式,下载整个代码。
6. Odbx文件导致的资源错乱问题 2012-02-24
当设备download的system.img里面的apk表现形式为单个apk,而不包含odbx文件时,若用adb push进自己编译的apk时,可能会出现资源错乱导致fc的问题。解释如下:
在设备download的system.img所在的工程目录下,app目录下有生成odbx文件。
用adb push下载某个apk,可能会在运行该apk时出现资源错乱问题。
7. [caculator]anumber divided by zero is equal to infinity SMPCQ00008671 Level C 2012-02-17
[Initialcondition]
N/A
[Steps]
-Steps
1.In Calculator, press 5 key
2.Press Left navigation key.
3.Press key 0.
4.Press Action key
[Defect]
anumber divided by zero is equal to infinity
[Expectation]
anumber divided by zero is equal to "Error"
[Remark]
任意一个数(0除外)除以0,得到的结果不是提示“Error”而是"无穷大"。
[Benchmark]
ARGONS_4_02.0C.01RDD_flex_PRC_Retail_v5_0210.sbf
分析:
1) 未对除数是零进行处理。
解决方案:
1) 增加对除数是零的字符串判断,当除数是零直接设置结果为error。
8. 彩信进入视频录制出现forceclose问题 2012-02-24
查找针对部分机器这个问题才能复现的原因。
分析:
1) readVideoPreferences中,
mProfile =CamcorderProfile.get(videoQualityHigh
?CamcorderProfile.QUALITY_HIGH
:CamcorderProfile.QUALITY_LOW);
当后置摄像头不存在或是损坏时,该函数返回null。而在复现的机器上后置摄像头是坏的,因此mProfile为null。这样就导致在setCameraParameters的下列代码
if(mProfile !=null) {
videoWidth =mProfile.videoFrameWidth;
videoHeight =mProfile.videoFrameHeight;
mParameters.setPreviewFrameRate(mProfile.videoFrameRate);
} else {
videoWidth = mVideoWidth;
videoHeight = mVideoHeight;
mParameters.setPreviewFrameRate(mVideoFps);
}
执行else。而此时mVideoWidth、mVideoHeight均为0。因此videoWidth、videoHeight赋值为0。
这样,就导致在QualcommCameraHardware.cpp中的setPreviewSize传入的两个对应值为0,函数返回BAD_VALUE,出现异常。
2) 对于quality为high、youtube、mms等情况,若mProfile为null,都会出现这种情况。同时,在切换不同quality时,也会出现forceclose。如下图操作
解决方案:
1) app层中,readVideoPreferences,在由mms进入摄像机时,将videoWidth、videoHeight再赋值(原来没有赋值),同时确保安全,也将videoEncoder、audioEncoder赋值。
2) 当mProfile为null,将mms、custom以外的quality都重置preference为custom。
3) 确保quality更新后即时更新preference。
最终解决方案:
1) app层中,readVideoPreferences,若profile取得后为null,则重置quality preference为默认的custom,并且重新调用readVideoPreferences。
2) app层中, updateProfileInHud,更新界面,调用定义的更新quality工具栏函数。
3) 对profile操作前都确保其非空。
保证在除了custom外的其他quality情况下,当profile为null,也即后置摄像头不工作的情况下,preference都强制为custom。