Android在使用脚本编译和测试时,使用默认的testrunner不会输出文件类型的单元测试报告,每次只能分析logcat的无法直观的看到单元测试结果和报告,这给编写自动化脚本带来了不少麻烦,虽然可以自己动手编写支持junit测试报告输出的TestRunner,但是比较麻烦。除此之外,有一个android-junit-report.jar的开源包可以拿来使用,使用方法也很简单,输出的单元测试报告也可以为多种报告分析工具分析。具体使用方法如下: 这里假设Android APP的包名为com.xxx.xxx 方法1:使用Eclipse IDE方式 1.下载android-junit-report.jar并将其导入到Android测试项目的libs中 2.打开Android测试项目的AndroidManifest.xml文件,找到 修改为 3.运行Junit测试 4.使用ADB方式获取单元测试报告 adb pull /data/data/com.xxx.xxx/files/junit-report.xml
Category Archives: 零敲碎打
[Android]升级SDK tools后ant自动编译脚本错误
Android SDK Tools在升级到Version22之后,原来的ant自动编译脚本运行出现错误,导致为Jenkins配置的批处理脚本无法执行,一直发送错误邮件,经过调查后发现,Android SDK Tools升级后文件和目录结构发生了变化,主要包括以下 1.Android SDK Tools 22之后的版本中tools目录中将不包含 tools\zipalign.exe tools\sqlite3.exe 以上两个文件,但是文件对应移动到了各自的platform-tool和build-tools下面,对应路径如下 build-tools\android-xx\zipalign.exe platform-tools\sqlite3.exe 如果需要使用时,需要手动复制到tools下,或者放到PATH变量中去。
[iOS]使用Dropbox的https外链OTA部署APP
iOS7.1之后使用OTA方式部署时,强制使用SSL加密方式传送ipa文件和plist文件,但是服务器使用https的话需要支付一定的费用购买SSL证书,国内使用OTA方式发布ipa文件的开发者大部分使用的时http方式,http方式在iOS7.1就失效了。如果对发布的环境要求不高,使用Dropbox作为存储空间方式发布是不错的选择,并且Dropbox是支持https的,而且是浏览器地址栏显示为绿色,最安全的EVSSL。
[iOS]7.1使用OTA部署APP出现Cannot install applications错误
iOS升级到7.1之后,之前一直使用正常的OTA部署的网站在安装APP时报出了以下错误 Cannot install applications because the certificate for www.example.com is not valid 而在7.0和之前的版本上没有这类问题,经过调查得知iOS7.1以后强制使用https安全连接方式才能正常部署,OTA部署用plist文件和ipa文件的URI必须以https方式开头,而7.1之前使用http即可,影响范围包括企业内部署使用的Ad-HOC和InHouse方式。
[iOS]CoreGraph在64位模式下与NSString drawInRect冲突
iOS SDK支持64bit后,大部分代码可以直接无缝转换并通过编译,但是这些代码在运行时可能会有所差异,所以开发时需要特别注意,Cocoa-Charts在开发过程中就发现了这类问题。 问题现象: CoreGraph绘图方法与NSString的drawInRect方法在64Bit下存在着冲突,64Bit下调用drawInRect之后会导致CGContext中的path被清空从而使CGContextStrokePath不进行任何绘图操作,而32Bit下没有任何问题。
[iOS]Makefile交叉编译静态库TA-lib
为了使Cocoa-Charts支持客户端数据计算,需要为Cocoa-Charts增加技术分析数据计算功能,目前比较通用的是TA-lib,但是TA-lib没有提供iOS版本的静态库文件,因此需要在X86平台上交叉编译适用于iPhone模拟器和iPhone真机的TA-lib静态库,用于调试和开发iOS应用程序,使TA-lib支持ARMv7 ARMv7s i386等系统架构的多种iPhone机型或模拟器。
[iOS]Xcode5下使用Makefile编译找不到GCC
Xcode5已经完全抛弃了GCC并切换到LLVM,但并不是完全去除GCC,只是对GCC等编译相关执行文件的位置进行了调整, 如果之前使用的是使用Makefile方式命令行编译iOS APP的话,Xcode4.6下编写的脚本可能会无效,需要对GCC的执行文件路径进行调整。 调整内容如下 Xcode4.6之前: /Applications/Xcode.app/Contents/Developer/Platforms/${PLATFORM}.platform/Developer/usr/bin Xcode5.0: /Applications/Xcode.app/Contents/Developer/usr/bin