运行环境


  • Android Studio 4.1.1
  • compileSdkVersion 29
  • buildToolsVersion "29.0.2"

点击绿色锤子「make project」出现以下错误

Default interface methods are only supported starting with Android N (--min-api 24): 
Landroidx/room/migration/AutoMigrationCallback;onPostMigrate(Landroidx/sqlite/db/SupportSQLiteDatabase;)V

解决办法:

在模块的gradle里的​​android​​​部分加上​​compileOptions​​指定Java版本

android {
// ...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}

再锤一次就ok了

同理,出现类似的​​only supported starting with Android N​​时,也可以用上面指定Java版本的方法

Static interface methods are only supported starting with Android N (--min-api 24): 
int androidx.constraintlayout.core.motion.utils.TypedValues$Attributes.getId(java.lang.String)


一个软件工程师的记录