Bada系统学习-API及特权检查器

嵌入式技术

1378人已加入

描述


API及特权检查器

IDE提供了API和特权检查器工具来检查应用程序的代码可能存在的有关API和privilege特权使用的相关问题  .

注意

API和特权检查器仅对C++和FLASH应用有效

这个检查在项目打包过程将自动完成. 若需要在 build process项目构建过程也自动检查, 你需要在project properties项目属性中打开

构建检测.你也可以在IDE中手动执行改建查,选择 Project > Check API and Privilege Violations.

检查的结果将显示在 Problems 视图中. 下图显示了一些检查可能产生的提示

Table: API usage check alarms

 

警告类型 描述 消息格式 解决方法 API version violation 应用包含较本应用使用的API版本更新的API中的类,方法,枚举,常量 {Fully-qualified API name} – API Version {version identifier}

For example: Osp::Media::Image::DecodeN – API Version 1.1

可以更新应用的API版本,并重新下载manifest file , 或者不使用报告有错的类,方法等. Internal API usage( 应用使用了一个内部 class, method, enumerator, 或者 constant. {Fully-qualified API name} – Cannot be used

For example: Osp::Media::Image::DecodeN – Cannot be used

不使用报告有错的类,方法等. API compatibility alarm 应用使用了有版本兼容性问题的 class, method, enumerator, or constant  {Fully-qualified API name} – May be incompatible

For example: Osp::Media::Image::DecodeN - May be incompatible

查看 C++ API Reference 关于版本兼容性问题的详细描述,并确保应用运行正常 API deprecation alarm 应用使用了过期的class, method, enumerator, or constant  {Fully-qualified API name} - Deprecated

For example: Osp::Media::Image::DecodeN - Deprecated

查看引起过期的原因,并考虑使用平台建议的替代API(如果提供有)替换过期的API.大多数情况下,替代API都会提供. 但是如果没有替代API,你仍然可以在当前SDK下使用这个过期API, 并不会有任何异常.但是要注意的是过期的API可能今后会在没有任何通知的情况下从平台中被移除.

请注意,当一个class 或者 method 被宁外一个class 或者 method重载后, 检查器可能会生成一个错误的报告. 那么如何来判断警告信息

是否有效呢? 我们可以检查这个类/方法是否有不同的特征,例如兼容性,有效性,或者其它内部问题. 如果没有上述特征,那么这个警告很

有可能是无用的

Table: Privilege 检查警告 警告类型 描述 消息格式 解决方法 Privilege violation 应用使用了未在manifest中声明的特权组中的方法 The {Privilege-group name} privilege is required for {Fully-qualified API name}.

For example: The IMAGE privilege is required for Osp::Media::Image::DecodeN.

可以在bada开发网上分配特权组并重新下载manifest文件.或者停止使用报告的方法.特权违规操作是应用在资质审查阶段被拒的重要理由之一. Unused privilege 应用未使用任何属于通报的特权组的方法 The {Privilege-group name} privilege remains unused.

For example: The WEB_SERVICE privilege remains unused.

在bada开发网中移除改特权组,并重新下载manifest文件,如果你在之后会用到改特权组的方法,那么此时你可以忽略改警告信息

 

注意 bada SDK 2.0.0不支持Simulator模拟器(指Simulator,而非Emulator模拟器,两者区别可以参看前面译文中的解释).如果你的应用使用了
Simulator-Debug 设置,API及特权检查器可能会工作不正常.因此,在开发应用时如果使用的是早于2.0版本SDK开发的应用项目,你需要
把你的应用整合到bada SDK2.0.0版本下(migrate your application). 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分