大家好,又见面了,我是你们的朋友全栈君。
Android P Preview1,昨天3.8发布,
兼容Preview1 主要改下targetSdkVersion = 28 compileSdkVersion为前一个版本(比如27)
在AndroidStudio3.2下能完整支持Android P Preview1
AndroidP Preview1 要点
Android P Preview1建立了白色灰名单和黑色灰名单来区别非API接口调用的结果,白色灰名单是不建议使用并有可能在后续版本报错,黑色灰名单属于不可访问的非API接口,调用会报错。一共有8种错误类型。
Means of access | Result |
---|---|
Dalvik instruction referencing a field | NoSuchFieldError thrown |
Dalvik instruction referencing a method | NoSuchMethodError thrown |
Reflection via Class.getDeclaredField() or Class.getField() | NoSuchFieldException thrown |
Reflection via Class.getDeclaredMethod(), Class.getMethod() | NoSuchMethodException thrown |
Reflection via Class.getDeclaredFields(), Class.getFields() | Non-SDK members not in results |
Reflection via Class.getDeclaredMethods(), Class.getMethods() | Non-SDK members not in results |
JNI via env->GetFieldID() | NULL returned, NoSuchFieldError thrown |
JNI via env->GetMethodID() | NULL returned, NoSuchMethodError thrown |
访问的同时app将不能进行其他操作。需要使用foreground service来监听传感器事件。
Bouncy Castle提供了一些JDK系统外的加密算法,见http://blog.csdn.net/qq_29583513/article/details/78866461
在targetSdk低于28(android9.0)时使用会收到Warning,targetSdk为28时仍然使用会报 NoSuchAlgorithmException
Build.SERIAL 是设备序列号,直接调用将返回”UNKNOWN”,用Build.getSerial()才能正常返回。
如果有多个进程同时访问一个Webview、CookieManager或其他在android.webkit下的API,应用会崩溃(Crash)。
不允许直接访问其他app数据目录,App间仍可用IPC来分享数据,共享文件可使用ContentProvider或在外部存储空间。
现在需要在初始化时,显式声明View的Foucus。
详细变更:https://developer.android.google.cn/preview/behavior-changes.html
https://developer.android.google.cn/preview/features/security-behav.html
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/128483.html原文链接:https://javaforall.cn