• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (C) 2023 The Android Open Source Project
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#      http://www.apache.org/licenses/LICENSE-2.0
8#
9#  Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15# List of APIs not supported by libcore.
16# This list doesn't block anyone to add the APIs into libcore, but the APIs are not shown
17# during API analysis by libcore-openjdk-analyzer.
18# See UnsupportedNewApis.java for the API signature format
19
20# Android doesn't support java.lang.Module system.
21java/lang/LayerInstantiationException
22java/lang/Module
23java/lang/ModuleLayer
24java/lang/module/Configuration
25java/lang/module/FindException
26java/lang/module/InvalidModuleDescriptorException
27java/lang/module/ModuleDescriptor
28java/lang/module/ModuleFinder
29java/lang/module/ModuleReader
30java/lang/module/ModuleReference
31java/lang/module/ResolutionException
32java/lang/module/ResolvedModule
33java/lang/Class#forName(Ljava/lang/Module;Ljava/lang/String;)Ljava/lang/Class;
34java/lang/Class#getModule()Ljava/lang/Module;
35java/lang/ClassLoader#findClass(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Class;
36java/lang/ClassLoader#findResource(Ljava/lang/String;Ljava/lang/String;)Ljava/net/URL;
37java/lang/ClassLoader#getUnnamedModule()Ljava/lang/Module;
38java/lang/StackTraceElement#<init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
39java/lang/StackTraceElement#getModuleName()Ljava/lang/String;
40java/lang/StackTraceElement#getModuleVersion()Ljava/lang/String;
41java/util/ResourceBundle#getBundle(Ljava/lang/String;Ljava/lang/Module;)Ljava/util/ResourceBundle;
42java/util/ResourceBundle#getBundle(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Module;)Ljava/util/ResourceBundle;
43java/util/ServiceLoader#load(Ljava/lang/ModuleLayer;Ljava/lang/Class;)Ljava/util/ServiceLoader;
44
45# libcore doesn't support the following i18n SPI because the i18n stack is closely
46# integrated with ICU.
47java/text/spi/BreakIteratorProvider
48java/text/spi/CollatorProvider
49java/text/spi/DateFormatProvider
50java/text/spi/DateFormatSymbolsProvider
51java/text/spi/DecimalFormatSymbolsProvider
52java/text/spi/NumberFormatProvider
53java/util/spi/CalendarDataProvider
54java/util/spi/CalendarNameProvider
55java/util/spi/CurrencyNameProvider
56java/util/spi/LocaleNameProvider
57java/util/spi/LocaleServiceProvider
58java/util/spi/TimeZoneNameProvider
59
60# libcore doesn't support Type annotation reflection APIs since Android O. http://b/30391692
61java/lang/reflect/AnnotatedArrayType
62java/lang/reflect/AnnotatedParameterizedType
63java/lang/reflect/AnnotatedType
64java/lang/reflect/AnnotatedTypeVariable
65java/lang/reflect/AnnotatedWildcardType
66java/lang/Class#getAnnotatedInterfaces()[Ljava/lang/reflect/AnnotatedType;
67java/lang/Class#getAnnotatedSuperclass()Ljava/lang/reflect/AnnotatedType;
68java/lang/reflect/Constructor#getAnnotatedReceiverType()Ljava/lang/reflect/AnnotatedType;
69java/lang/reflect/Constructor#getAnnotatedReturnType()Ljava/lang/reflect/AnnotatedType;
70java/lang/reflect/Executable#getAnnotatedExceptionTypes()[Ljava/lang/reflect/AnnotatedType;
71java/lang/reflect/Executable#getAnnotatedParameterTypes()[Ljava/lang/reflect/AnnotatedType;
72java/lang/reflect/Executable#getAnnotatedReceiverType()Ljava/lang/reflect/AnnotatedType;
73java/lang/reflect/Executable#getAnnotatedReturnType()Ljava/lang/reflect/AnnotatedType;
74java/lang/reflect/Field#getAnnotatedType()Ljava/lang/reflect/AnnotatedType;
75java/lang/reflect/Method#getAnnotatedReturnType()Ljava/lang/reflect/AnnotatedType;
76java/lang/reflect/Parameter#getAnnotatedType()Ljava/lang/reflect/AnnotatedType;
77java/lang/reflect/TypeVariable#getAnnotatedBounds()[Ljava/lang/reflect/AnnotatedType;
78
79# Please use android.icu.text.CompactDecimalFormat available since Android N. http://b/262705909
80# This CompactDecimalFormat uses the same LDML TR-35 spec. It's better using the ICU one
81# when the spec and implementation are written and maintained consistently.
82java/text/CompactNumberFormat
83java/text/NumberFormat#getCompactNumberInstance()Ljava/text/NumberFormat;
84java/text/NumberFormat#getCompactNumberInstance(Ljava/util/Locale;Ljava/text/NumberFormat$Style;)Ljava/text/NumberFormat;
85java/text/NumberFormat$Style#LONG:Ljava/text/NumberFormat$Style;
86java/text/NumberFormat$Style#SHORT:Ljava/text/NumberFormat$Style;
87java/text/NumberFormat$Style#valueOf(Ljava/lang/String;)Ljava/text/NumberFormat$Style;
88java/text/NumberFormat$Style#values()[Ljava/text/NumberFormat$Style;
89
90# Android doesn't support SecurityManager.
91java/io/FilePermission#equals(Ljava/lang/Object;)Z
92java/io/FilePermission#hashCode()I
93java/io/FilePermission#newPermissionCollection()Ljava/security/PermissionCollection;
94java/net/SocketPermission#equals(Ljava/lang/Object;)Z
95java/net/SocketPermission#hashCode()I
96java/net/SocketPermission#newPermissionCollection()Ljava/security/PermissionCollection;
97java/net/URLPermission
98java/security/AccessControlContext#equals(Ljava/lang/Object;)Z
99java/security/AccessControlContext#hashCode()I
100java/security/AccessController#doPrivileged(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;[Ljava/security/Permission;)Ljava/lang/Object;
101java/security/AccessController#doPrivilegedWithCombiner(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;[Ljava/security/Permission;)Ljava/lang/Object;
102java/security/AccessController#doPrivilegedWithCombiner(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;[Ljava/security/Permission;)Ljava/lang/Object;
103java/security/AllPermission#equals(Ljava/lang/Object;)Z
104java/security/AllPermission#hashCode()I
105java/security/AllPermission#newPermissionCollection()Ljava/security/PermissionCollection;
106java/security/AuthProvider#<init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
107java/security/BasicPermission#equals(Ljava/lang/Object;)Z
108java/security/BasicPermission#hashCode()I
109java/security/BasicPermission#newPermissionCollection()Ljava/security/PermissionCollection;
110java/security/CodeSource#equals(Ljava/lang/Object;)Z
111java/security/CodeSource#hashCode()I
112java/security/CodeSource#toString()Ljava/lang/String;
113java/security/Permission#equals(Ljava/lang/Object;)Z
114java/security/Permission#hashCode()I
115java/security/Permission#toString()Ljava/lang/String;
116java/security/PermissionCollection#elementsAsStream()Ljava/util/stream/Stream;
117java/security/PermissionCollection#toString()Ljava/lang/String;
118java/security/ProtectionDomain#staticPermissionsOnly()Z
119java/security/ProtectionDomain#toString()Ljava/lang/String;
120java/security/UnresolvedPermission#equals(Ljava/lang/Object;)Z
121java/security/UnresolvedPermission#hashCode()I
122java/security/UnresolvedPermission#newPermissionCollection()Ljava/security/PermissionCollection;
123java/security/UnresolvedPermission#toString()Ljava/lang/String;
124java/security/URIParameter
125java/util/PropertyPermission#equals(Ljava/lang/Object;)Z
126java/util/PropertyPermission#getActions()Ljava/lang/String;
127java/util/PropertyPermission#hashCode()I
128java/util/PropertyPermission#implies(Ljava/security/Permission;)Z
129java/util/PropertyPermission#newPermissionCollection()Ljava/security/PermissionCollection;
130
131# Only a limited set of javax.security.auth.login APIs are supported due to KeyStore.
132# The rest of APIs are not supported.
133javax/security/auth/RefreshFailedException
134javax/security/auth/Refreshable
135javax/security/auth/callback/ChoiceCallback
136javax/security/auth/callback/ConfirmationCallback
137javax/security/auth/callback/LanguageCallback
138javax/security/auth/callback/NameCallback
139javax/security/auth/callback/TextInputCallback
140javax/security/auth/callback/TextOutputCallback
141javax/security/auth/login/AccountException
142javax/security/auth/login/AccountExpiredException
143javax/security/auth/login/AccountLockedException
144javax/security/auth/login/AccountNotFoundException
145javax/security/auth/login/AppConfigurationEntry
146javax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag
147javax/security/auth/login/Configuration
148javax/security/auth/login/Configuration$Parameters
149javax/security/auth/login/ConfigurationSpi
150javax/security/auth/login/CredentialException
151javax/security/auth/login/CredentialExpiredException
152javax/security/auth/login/CredentialNotFoundException
153javax/security/auth/login/FailedLoginException
154javax/security/auth/login/LoginContext
155javax/security/auth/spi/LoginModule
156javax/security/auth/PrivateCredentialPermission#equals(Ljava/lang/Object;)Z
157javax/security/auth/PrivateCredentialPermission#hashCode()I
158javax/security/auth/PrivateCredentialPermission#newPermissionCollection()Ljava/security/PermissionCollection;
159
160# libcore doesn't intend to support loading resources not in classloader.
161java/util/spi/AbstractResourceBundleProvider
162java/util/spi/ResourceBundleControlProvider
163java/util/spi/ResourceBundleProvider
164
165# libcore doesn't need a provider of compiler / documentation tool on device.
166java/util/spi/ToolProvider
167
168# Neither Runtime$Version nor multi-release JARs are applicable to Android.
169java/lang/Runtime$Version
170java/lang/Runtime#version()Ljava/lang/Runtime$Version;
171java/util/jar/Attributes$Name#MULTI_RELEASE:Ljava/util/jar/Attributes$Name;
172java/util/jar/JarFile#<init>(Ljava/io/File;ZILjava/lang/Runtime$Version;)V
173java/util/jar/JarFile#baseVersion()Ljava/lang/Runtime$Version;
174java/util/jar/JarFile#getVersion()Ljava/lang/Runtime$Version;
175java/util/jar/JarFile#isMultiRelease()Z
176java/util/jar/JarFile#runtimeVersion()Ljava/lang/Runtime$Version;
177java/util/jar/JarFile#versionedStream()Ljava/util/stream/Stream;
178
179# ART doesn't expose a class loading lock.
180# The API was removed by the commit de626ec8a109ea18283d96c720cc57e2f32f67fa
181java/lang/ClassLoader#getClassLoadingLock(Ljava/lang/String;)Ljava/lang/Object;
182