升级到android10是什么意思,升级到Android 10和gradle升级

gradle升级到3.5.2

build tools gradle 版本升级到 3.5.2

—— gradle最低版本是 5.4.1 https://services.gradle.org/distributions/gradle-5.4.1-all.zip

Plugin version

Required Gradle version

1.0.0 - 1.1.3

2.2.1 - 2.3

1.2.0 - 1.3.1

2.2.1 - 2.9

1.5.0

2.2.1 - 2.13

2.0.0 - 2.1.2

2.10 - 2.13

2.1.3 - 2.2.3

2.14.1+

2.3.0+

3.3+

3.0.0+

4.1+

3.1.0+

4.4+

3.2.0 - 3.2.1

4.6+

3.3.0 - 3.3.2

4.10.1+

3.4.0 - 3.4.1

5.1.1+

3.5.0+

5.4.1-5.6.4

参考文献:

https://developer.android.google.cn/studio/releases/gradle-plugin?hl=en#updating-gradle

遇到的问题:

1、 cannot generate view binders java.lang.StackOverflowError at

android.databinding.tool.expr.Expr.resolveListeners(Expr.java:209)

at android.databinding.tool.expr.Expr.resolveListeners(Expr.java:211)

at android.databinding.tool.expr.Expr.resolveListeners(Expr.java:211)

stackoverflow:

https://stackoverflow.com/questions/58763363/when-building-android-project-with-android-gradle-plugin-v-3-5-2-my-builds-fail

解决方法:

去除xml文件中databing熟悉的get()方法,如在xml中定义了一个ObservableBoolean flag,不要使用flag.get()

2、INFO: DSL element 'useProguard' is obsolete and will be removed soon. Use 'android.enableR8' in gradle.properties to switch between R8 and Proguard..

android sdk版本升级

compileSdkVersion 28 -> 29

targetSdkVersion 26 -> 29

buildToolsVersion 28.0.3 -> 29.0.2

升级到android 9(28)需要注意点:

官方api:Android 9变更

Apache HTTP 客户端弃用:从 Android 9 开始,该内容库已从 bootclasspath 中移除,且默认情况下应用无法使用它。要继续使用 Apache HTTP 客户端,以 Android 9 及更高版本为目标平台的应用可以向其 AndroidManifest.xml 添加以下内容:

现在强制执行 FLAG_ACTIVITY_NEW_TASK 要求。在 Android 9 中,您不能从非 Activity 环境中启动 Activity,除非您传递 Intent 标志 FLAG_ACTIVITY_NEW_TASK。 如果您尝试在不传递此标志的情况下启动 Activity,则该 Activity 不会启动,系统会在日志中输出一则消息。

注:在 Android 7.0(API 级别 24)之前,标志要求一直是期望的行为并被强制执行。 Android 7.0 中的一个错误会临时阻止实施标志要求。

屏幕旋转变更。从 Android 9 开始,对纵向旋转模式做出了重大变更。 在 Android 8.0(API 级别 26)中,用户可以使用 Quicksettings 图块或 Display 设置在自动屏幕旋转和纵向旋转模式之间切换。 纵向模式已重命名为旋转锁定,它会在自动屏幕旋转关闭时启用。 自动屏幕旋转模式没有任何变更。

幕方向

行为

指定、user

在自动屏幕旋转和旋转锁定下,Activity 可以纵向或横向(以及颠倒纵向或横向)呈现。 预期同时支持纵向和横向布局。

serLandscape

在自动屏幕旋转和旋转锁定下,Activity 可以横向或颠倒横向呈现。 预期只支持横向布局。

serPortrait

在自动屏幕旋转和旋转锁定下,Activity 可以纵向或颠倒纵向呈现。 预期只支持纵向布局。

ullUser

在自动屏幕旋转和旋转锁定下,Activity 可以纵向或横向(以及颠倒纵向或横向)呈现。 预期同时支持纵向和横向布局。旋转锁定用户将可选择锁定到颠倒纵向,通常为 180º。

ensor、fullSensor、sensorPortrait、sensorLandscape

忽略旋转锁定模式首选项,视为自动屏幕旋转已启用。 请仅在例外情况下并经过仔细的用户体验考量后再使用此项。

隐私权变更

限制访问通话记录

限制访问电话号码

对使用非 SDK 接口的限制 —— 官方文档介绍

为帮助确保应用稳定性和兼容性,此平台对某些非 SDK 函数和字段的使用进行了限制;无论您是直接访问这些函数和字段,还是通过反射或 JNI 访问,这些限制均适用。 在 Android 9 中,您的应用可以继续访问这些受限的接口;该平台通过 toast 和日志条目提醒您注意这些接口。 如果您的应用显示这样的 toast,则必须寻求受限接口之外的其他实现策略。 如果您认为没有可行的替代策略,您可以提交错误以请求重新考虑此限制。

黑名单中的非 SDK 接口

Dalvik 指令引用某个字段

alvik 指令引用某个方法

过 Class.getDeclaredField() 或 Class.getField() 进行反射

过 Class.getDeclaredMethod()、Class.getMethod() 进行反射

过 Class.getDeclaredFields()、Class.getFields() 进行反射

过 Class.getDeclaredMethods()、Class.getMethods() 进行反射

过 env->GetFieldID() 进行 JNI 调用

过 env->GetMethodID() 进行 JNI 调用

升级到android 10(29)

对使用非 SDK 接口的限制进行了更新

针对全屏 Intent 的权限变更

支持可折叠设备

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值