From b0fbda45e565898168b2c1ae359da54ecd8f8712 Mon Sep 17 00:00:00 2001
From: Andrew Solovay
If your app, or a library it used, was dependent on a private field of
- the ArrayList class, you may encounter an exception such as:
+ the
The reason apps use this provider is to take advantage of its
- SecureRandom implementation. If your app was relying on setSeed() to
- derive keys from strings, you must either switch to using SecretKeySpec
+ ArrayList class, you may encounter an exception such as:
+
+
java.lang.NoSuchFieldException: No field array in class Ljava/util/ArrayList;
SecureRandom implementation. If your app was relying on setSeed() to
+ derive keys from strings, you must either switch to using SecretKeySpec
to load raw key bytes directly, or use a real key derivation function
(KDF).
Example Java error:
-+java.lang.UnsatisfiedLinkError: dlopen failed: library "/system/lib/libcutils.so" is not accessible for the namespace "classloader-namespace"Example NDK error:
-+dlopen failed: cannot locate symbol "__system_property_get" referenced by ...@@ -446,7 +447,7 @@ dlopen failed: cannot locate symbol "__system_property_get" referenced by ...
+AndroidRuntime::getJavaVM -> GetJavaVM from <jni.h> AndroidRuntime::getJNIEnv -> JavaVM::GetEnv or JavaVM::AttachCurrentThread from <jni.h>. @@ -488,18 +489,18 @@ JavaVM::AttachCurrentThread from <jni.h>.
DevicePolicyManager.resetPassword()to clear passwords or change
+ owners. Device admins can no longer use
+ DevicePolicyManager.resetPassword() to clear passwords or change
ones that are already set. Device admins can still set a password, but only
when the device has no password, PIN, or pattern.
DISALLOW_MODIFY_ACCOUNTS user restrictions are in place.
DISALLOW_ADD_USER restriction
is automatically set. This prevents users from creating unmanaged secondary
users. In addition, the CreateUser() and
@@ -507,13 +508,18 @@ JavaVM::AttachCurrentThread from <jni.h>.
DevicePolicyManager.createAndManageUser() method replaces them.
DevicePolicyManagewr.getWifiMacAddress() . If Wi-Fi has never
+ DevicePolicyManagewr.getWifiMacAddress(). If Wi-Fi has never
been enabled on the device, this method returns a value of {@code null}.
+ For more information about changes to Android for Work in Android N, see + Android for Work Updates. +
+On handhelds, notification groups are available beginning from -Android N. However, on tablets, the notification groups API has been available since -Android 5.0 (API level 21).
- -All Android Wear devices have this feature, regardless of API level. - The only action a Wear developer must take is to verify that the app behavior - corresponds to the guidelines described above.
--In order to support backwards compatibility, a developer should still post -an -{@link android.app.Notification.InboxStyle InboxStyle} or equivalent -notification representative for the whole -information content of the group. This applies to child notifications in -Android 5.0 (API level 21) and above. + Both notification groups and remote input have been a part of the {@link + android.app.Notification} API since Android 5.0 (API level 21) to support + Android Wear devices. If you've already built notifications with these APIs, + the only action you must take is to verify that the app behavior corresponds + to the guidelines described above, and to consider implementing {@code + setRemoteInputHistory()}.
-For convenience, apps can usually reuse the notification group summary -and define it as an -{@link android.app.Notification.InboxStyle InboxStyle} notification, -with each line corresponding to a child notification. -
- - -In order to support backward compatibility, an app should still have -an {@link android.app.Notification.InboxStyle InboxStyle} -or equivalent notification representative for the whole information -content of the group including the children on Android 5.0 and above. -
- --For convenience, an app can usually reuse the notification group summary and -define it as an {@link android.app.Notification.InboxStyle InboxStyle} -notification, with each line corresponding to one child notification. + In order to support backward compatibility, the same APIs are available with + the support library's {@link android.support.v4.app.NotificationCompat} + class, allowing you to build notifications that works on earlier Android + versions. On handhelds and tablets, users only see the summary notification, + so an app should still have an inbox style or an equivalent notification + representative for the whole information content of the group. As Android + Wear devices allow users to see all child notifications even on older + platform levels, you should build child notifications regardless of API + level.
- See the reference documentation for \ - {@code android.security.NetworkSecurityPolicy} class - {@code isCleartextTrafficPermitted()} method for more details. + See {@link android.security.NetworkSecurityPolicy#isCleartextTrafficPermitted + NetworkSecurityPolicy.isCleartextTrafficPermitted()} for more details.