Symbian 项目中capability使用情况检查方法

Symbian9.x中差不多有40%的API是有capability要求的, 一个symbian项目做下来,拿到真机中运行或者去symbiansign签名,需要统计你程序中所有api的capability使用情况。按照Symbian奉行一贯的简单事情复杂化的传统(比如lib的使用,你得自己去查哪个API在哪个.h,用了哪个.lib,手工加到mmp里。)提供一个不完全的的解决方法,模拟器会提供一个设置,当设定好capability检测,当你的模拟器运行到那个需要capability的API而你的mmp里没有,会输出到log里。如果你的软件很大,功能模块很多,你就去把所有功能运行一遍吧,所有API还不一定都调遍了。幸好在Carbide里面一个插件提供了更完整的解决方法,把他的Platform security打开,在mmp上点右键,会有Capability scanner的一项,在nokia forum的wiki里简单介绍了这个功能,用了这个试了一下,速度很慢,最后只是在console里面输出了粗略的结果,在Platform Security里面空空如也,没有显示具体哪些函数使用了Capability的API, 最后在输出里发现有一个error:The file = projectRequiredCapabilitiesList.xml could not be parsed. Ensure that your project builds correctly without syntax errors. 看来是它解析输出文件出错了,到nokia forum里看到有人遇到了这个问题,nokia专家直接给了个carbide 的bugzilla地址,你自己去报这个bug吧。 想了想也许这个输出文件里面会有详细信息,翻了几个目录,在这里发现了他:工作区目录/.metadata/.plugins/com.nokia.carbide.capabilityScanner, 打开这个文件终于发现了里面xml格式的api的capability详细使用细节。

 

转自:http://kingholy.spaces.live.com/blog/cns!4CE138BE96BD0A47!157.entry

你可能感兴趣的:(Symbian 项目中capability使用情况检查方法)