應用調用某系統 API 時崩潰,Logcat 提示 java.lang.NoSuchMethodError 或 VerifyError。
代碼使用的 API(如 Notification.Builder 某構造方法)最低要求 **API Level 11 (Android 3.0)**,但 AndroidManifest.xml 中 minSdkVersion 設置為 8 (Android 2.2)。編譯通過(編譯目標 targetSdkVersion 較高),運行在低版本設備上找不到符號導致崩潰。
<uses-sdk android:minSdkVersion="11" />if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
// 使用 API 11+ 功能
} else {
// 降級方案或提示不支持
}
NotificationCompat.Builder 兼容至 API 4。minSdkVersion 21 (Android 5.0):覆蓋 99%+ 活躍設備,可無痛使用絕大多數現代 API。targetSdkVersion 始終設置為最新穩定版(如 34)。build.gradle 或 Manifest。Clean Project → Rebuild。