迁移至AndroidX(Migrate to AndroidX)遇到的一些坑

AndroidX Overview
Migrating to AndroidX

错误: 程序包android.support.annotation不存在

butterknife 升级到最新版本

错误: 程序包android.support.design.R不存在

依赖
com.android.support:design升级到com.google.android.material:material:1.0.0-rc01
另外 API 28 Canvas的一些常量报错。
Class android.graphics.Canvas
Removed Methods int save(int)
Removed Fields
int CLIP_SAVE_FLAG
int CLIP_TO_LAYER_SAVE_FLAG
int FULL_COLOR_LAYER_SAVE_FLAG
int HAS_ALPHA_LAYER_SAVE_FLAG
int MATRIX_SAVE_FLAG
用ALL_SAVE_FLAG 代替

Static interface methods are only supported starting with Android N (--min-api 24): void butterknife.Unbinder.lambda$static$0()

错误原因:这是因为java8才支持静态接口方法的原因
解决办法:可以通过在app的build.gradle文件中配置使用java8编译:

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

NotificationCompat报错

NotificationCompat.MediaStyle style = new NotificationCompat.MediaStyle()
需要改成
androidx.media.app.NotificationCompat.MediaStyle style = new androidx.media.app.NotificationCompat.MediaStyle()

NotificationCompat默认导包下的 MediaStyle 是不对的。

你可能感兴趣的:(迁移至AndroidX(Migrate to AndroidX)遇到的一些坑)