Droidfood only: Move private APIs to dark greylist by default
In order to tune the API lists, we initialize the light greylist with APIs we know are used by popular apps. All the other private APIs are moved into dark greylist. Light greylist will be set to not warn at all, while dark greylist will produce warnings. This will allow us to collect logs and tune the lists without breaking all of our dogfooders. Bug: 64382372 Bug: 72793280 Test: make Change-Id: Ice6c487eeca8900e6a70abe1b87e8c211ef1066e
This commit is contained in:
30
Android.mk
30
Android.mk
@@ -825,35 +825,35 @@ include $(BUILD_STATIC_JAVA_LIBRARY)
|
||||
|
||||
# ==== hiddenapi lists =======================================
|
||||
|
||||
# Copy blacklist and dark greylist over into the build folder.
|
||||
# Copy blacklist and light greylist over into the build folder.
|
||||
# This is for ART buildbots which need to mock these lists and have alternative
|
||||
# rules for building them. Other rules in the build system should depend on the
|
||||
# files in the build folder.
|
||||
|
||||
$(eval $(call copy-one-file,frameworks/base/config/hiddenapi-blacklist.txt,\
|
||||
$(INTERNAL_PLATFORM_HIDDENAPI_BLACKLIST)))
|
||||
$(eval $(call copy-one-file,frameworks/base/config/hiddenapi-dark-greylist.txt,\
|
||||
$(INTERNAL_PLATFORM_HIDDENAPI_DARK_GREYLIST)))
|
||||
$(eval $(call copy-one-file,frameworks/base/config/hiddenapi-light-greylist.txt,\
|
||||
$(INTERNAL_PLATFORM_HIDDENAPI_LIGHT_GREYLIST)))
|
||||
|
||||
# Generate light greylist as private API minus (blacklist plus dark greylist).
|
||||
# Generate dark greylist as private API minus (blacklist plus light greylist).
|
||||
|
||||
$(INTERNAL_PLATFORM_HIDDENAPI_LIGHT_GREYLIST): PRIVATE_API := $(INTERNAL_PLATFORM_PRIVATE_DEX_API_FILE)
|
||||
$(INTERNAL_PLATFORM_HIDDENAPI_LIGHT_GREYLIST): BLACKLIST := $(INTERNAL_PLATFORM_HIDDENAPI_BLACKLIST)
|
||||
$(INTERNAL_PLATFORM_HIDDENAPI_LIGHT_GREYLIST): DARK_GREYLIST := $(INTERNAL_PLATFORM_HIDDENAPI_DARK_GREYLIST)
|
||||
$(INTERNAL_PLATFORM_HIDDENAPI_LIGHT_GREYLIST): $(INTERNAL_PLATFORM_PRIVATE_DEX_API_FILE) \
|
||||
$(INTERNAL_PLATFORM_HIDDENAPI_BLACKLIST) \
|
||||
$(INTERNAL_PLATFORM_HIDDENAPI_DARK_GREYLIST)
|
||||
if [ ! -z "`comm -12 <(sort $(BLACKLIST)) <(sort $(DARK_GREYLIST))`" ]; then \
|
||||
echo "There should be no overlap between $(BLACKLIST) and $(DARK_GREYLIST)" 1>&2; \
|
||||
$(INTERNAL_PLATFORM_HIDDENAPI_DARK_GREYLIST): PRIVATE_API := $(INTERNAL_PLATFORM_PRIVATE_DEX_API_FILE)
|
||||
$(INTERNAL_PLATFORM_HIDDENAPI_DARK_GREYLIST): BLACKLIST := $(INTERNAL_PLATFORM_HIDDENAPI_BLACKLIST)
|
||||
$(INTERNAL_PLATFORM_HIDDENAPI_DARK_GREYLIST): LIGHT_GREYLIST := $(INTERNAL_PLATFORM_HIDDENAPI_LIGHT_GREYLIST)
|
||||
$(INTERNAL_PLATFORM_HIDDENAPI_DARK_GREYLIST): $(INTERNAL_PLATFORM_PRIVATE_DEX_API_FILE) \
|
||||
$(INTERNAL_PLATFORM_HIDDENAPI_BLACKLIST) \
|
||||
$(INTERNAL_PLATFORM_HIDDENAPI_LIGHT_GREYLIST)
|
||||
if [ ! -z "`comm -12 <(sort $(BLACKLIST)) <(sort $(LIGHT_GREYLIST))`" ]; then \
|
||||
echo "There should be no overlap between $(BLACKLIST) and $(LIGHT_GREYLIST)" 1>&2; \
|
||||
exit 1; \
|
||||
elif [ ! -z "`comm -13 <(sort $(PRIVATE_API)) <(sort $(BLACKLIST))`" ]; then \
|
||||
echo "$(BLACKLIST) must be a subset of $(PRIVATE_API)" 1>&2; \
|
||||
exit 2; \
|
||||
elif [ ! -z "`comm -13 <(sort $(PRIVATE_API)) <(sort $(DARK_GREYLIST))`" ]; then \
|
||||
echo "$(DARK_GREYLIST) must be a subset of $(PRIVATE_API)" 1>&2; \
|
||||
elif [ ! -z "`comm -13 <(sort $(PRIVATE_API)) <(sort $(LIGHT_GREYLIST))`" ]; then \
|
||||
echo "$(LIGHT_GREYLIST) must be a subset of $(PRIVATE_API)" 1>&2; \
|
||||
exit 3; \
|
||||
fi
|
||||
comm -23 <(sort $(PRIVATE_API)) <(sort $(BLACKLIST) $(DARK_GREYLIST)) > $@
|
||||
comm -23 <(sort $(PRIVATE_API)) <(sort $(BLACKLIST) $(LIGHT_GREYLIST)) > $@
|
||||
|
||||
# Include subdirectory makefiles
|
||||
# ============================================================
|
||||
|
||||
1105
config/hiddenapi-light-greylist.txt
Normal file
1105
config/hiddenapi-light-greylist.txt
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1600,7 +1600,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable {
|
||||
* @hide
|
||||
*/
|
||||
public boolean isAllowedToUseHiddenApi() {
|
||||
return isSystemApp();
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user