本文译自三星官方bada开发网 |
IDE提供了API和特权检查器工具来检查应用程序的代码可能存在的有关API和privilege特权使用的相关问题 .
注意 |
---|
API和特权检查器仅对C++和FLASH应用有效 |
这个检查在项目打包过程将自动完成. 若需要在 build process项目构建过程也自动检查, 你需要在project properties项目属性中打开
构建检测.你也可以在IDE中手动执行改建查,选择 Project > Check API and Privilege Violations.
检查的结果将显示在 Problems 视图中. 下图显示了一些检查可能产生的提示
警告类型 | 描述 | 消息格式 | 解决方法 |
---|---|---|---|
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重载后, 检查器可能会生成一个错误的报告. 那么如何来判断警告信息
是否有效呢? 我们可以检查这个类/方法是否有不同的特征,例如兼容性,有效性,或者其它内部问题. 如果没有上述特征,那么这个警告很
有可能是无用的
警告类型 | 描述 | 消息格式 | 解决方法 |
---|---|---|---|
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). |
英文原文地址: