我正在开发一个 android 应用程序,并担心我们引入的代码使用 API 级别的功能晚于minSdkVersion
.
我想知道是否有任何方法可以自动检测其中一些违规行为。
在此应用程序的 AndroidManifest.xml
文件中,它指定:
<uses-sdk android:minSdkVersion="8"
android:targetSdkVersion="17" />
ndk-build 似乎在给我一个警告(或者这个警告是出于其他原因?):
Android NDK: Found stable platform levels: 14 3 4 5 8 9
Android NDK: Found max platform level: 14
Android NDK: Parsing ./jni/Application.mk
Android NDK: Found APP_PLATFORM=android-17 in ./project.properties
Android NDK: Adjusting APP_PLATFORM android-17 to android-14 and enabling -fPIE
/android-ndk/build/core/add-application.mk:128: Android NDK: WARNING: APP_PLATFORM android-14 is larger than android:minSdkVersion 8 in ./AndroidManifest.xml
虽然我意识到由于运行时调度,任何工具都不能 100% 准确,除了:
- 对源代码进行全面审核,或
- 在运行 minSdkVersion 的设备上对所有代码路径进行完整测试(在本例中为 android-8 = 2.2 = Froyo)
...是否有类似 lint 的工具、构建设置更改或其他任何我可以用来识别至少最明显/公然违规的东西?
如果不存在这样的东西,是否有一个全面的 API 列表或可以使审计更容易的东西?