Register now for Android Dev Summit 2019!

非 SDK インターフェースの制限に関する Android Q での変更点

アプリの安定性と互換性を確保するため、Android 9(API レベル 28)から、アプリで使用できる非 SDK インターフェースが制限されています。Android Q では、Android デベロッパーの協力や最新の内部テストに基づいて、制限対象となる非 SDK インターフェースのリストが更新されています。Google は、非 SDK インターフェースを制限する前に、その代わりとなる公開インターフェースを利用できるようにすることを目指しています。

Android Q をターゲットとしないアプリの場合、変更点によっては、すぐに影響が生じないこともあります。ただし、現時点ではグレーリストに記載されている非 SDK インターフェース(アプリの対象 API レベルによる)を利用できているとしても、そのまま非 SDK の手法やフィールドを使用し続けていると、将来的には高い確率でアプリが機能しなくなるおそれがあります。

アプリが非 SDK インターフェースを使用しているかどうか不明な場合は、アプリをテストして確認することができます。アプリが非 SDK インターフェースを使用している場合は、SDK インターフェースへの移行を計画するようにしてください。ただし Google も、一部のアプリには非 SDK インターフェースを使用する正当なユースケースがあると承知しています。現在のアプリの機能に使用している非 SDK インターフェースの代替となる SDK インターフェースが見つからない場合は、新しい公開 API をリクエストしてください。

ライトグレー リストとダークグレー リストの名称変更

Android 9(API レベル 28)では、グレーリストは以下の 2 つのリストに分かれていました。

  • ライトグレー リスト: SDK 以外のインターフェースのうち、ターゲット API レベルに関係なく使用できるもの
  • ダークグレーリスト: SDK 以外のインターフェースのうち、アプリのターゲット API レベルが 28 以上の場合は使用できないもの

Android Q では、いずれのリストも「グレーリスト」と呼ばれますが、グレーリストに登録されている SDK 以外のインターフェースのうちターゲット API レベルの制限があるもの(以前のダークグレー リストに相当)は、そのインターフェースを使用できる最大 SDK バージョンを表す名称でも呼ばれます。

Android 9(API レベル 28)のダークグレー リストに登録されていた SDK 以外のインターフェースは、今後は greylist-max-o リストに登録されることになります。「o」は Oreo、つまり Android 8.1(API レベル 27)を指します。この場合、greylist-max-o リストに登録されているインターフェースは、アプリが Android 8.1(API レベル 27)以下をターゲットとしている場合にのみ使用できることになります。

同様に、グレーリストに登録されていた SDK 以外のインターフェースが Android Pie では制限されていなかったが Android Q では制限されているという場合、そのインターフェースは greylist-max-p リストに登録されることになります。「p」は Pie、つまり Android 9(API レベル 28)を指します。

この新しい名称により、グレーリストに登録されている API を使用できる(プラットフォームによる制限範囲に入らない)ターゲット SDK の最大レベルがわかりやすくなることが期待できます。

SDK 以外のインターフェースを表すコード アノテーション

リスト名の変更に加えて、SDK 以外のインターフェースの多くに、コード内で以下の記述法によるアノテーションが付くようになりました。

アノテーション 意味
@UnsupportedAppUsage 制限なしのグレーリスト
@UnsupportedAppUsage(maxTargetSdk = 0) ブラックリスト
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.O) 制限付きグレーリスト。Android 8.1 Oreo(API レベル 27)以下をターゲットとするアプリでのみ使用可能。
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P) 制限付きグレーリスト。Android 9 Pie(API レベル 28)以下をターゲットとするアプリでのみ使用可能。

Android 8.1 Oreo(API レベル27)の制限付きグレーリストに登録されている SDK 以外のインターフェースは多数あるため、そのリスト内のインターフェースの多くにはアノテーションが付いていませんでした。今回新たに加わったアノテーションを参考情報としてご活用ください。ただし、アプリで SDK 以外のインターフェースが使用されているかどうかがよくわからない場合は、必ずアプリをテストしてみてください。

Android Q で SDK 以外のインターフェースの使用を有効にする

Android Q では、SDK 以外のインターフェースの使用を有効にするためのコマンドが変更されました。API 適用ポリシーを変更することで、開発デバイスで SDK 以外のインターフェースの使用を有効にすることができます。具体的には、以下の ADB コマンドを使用します。

    adb shell settings put global hidden_api_policy  1
    

API 適用ポリシーをデフォルト設定にリセットするには、以下のコマンドを使用します。

    adb shell settings delete global hidden_api_policy
    

これらのコマンドの実行にあたり、ユーザーにルート権限のあるデバイスは必要ありません。

API 適用ポリシーの整数は以下のいずれかの値に設定できます。

  • 0: 非 SDK インターフェースの検出をすべて無効にします。この設定を使用すると、非 SDK インターフェースの使用に関するすべてのログ メッセージが無効になり、StrictMode API を使用してアプリをテストすることができなくなります。この設定は推奨されません。
  • 1: すべての非 SDK インターフェースへのアクセスが有効になりますが、非 SDK インターフェースの使用について警告するログ メッセージが出力されます。この設定の場合は、StrictMode API を使用してアプリをテストすることもできます。
  • 2: ブラックリストまたはデベロッパーのターゲット API レベルを基準とした制限付きグレーリストに登録されている非 SDK インターフェースが使用できなくなります。

Android Q でのリスト内容の変更

このセクションでは、Android 9(API レベル 28)でグレーリストに登録されていた SDK 以外のインターフェースのうち、Android Q で制限されるようになったもの、および Android Q で Android SDK(ホワイトリスト)に登録されたものについて説明します。

グレーリスト登録の SDK 以外のインターフェースのうち、Android Q で制限されるようになったもの

以下のコードは、Android 9(API レベル 28)でグレーリストに登録されていた SDK 以外のインターフェースのうち Android Q で制限されるようになった全インターフェースの一覧です。代替の API がある場合は代替案も示してあります。使用している可能性があると判断されたが実際には使用していないと判明したインターフェースについては誤検知(「False Positive」)と記してあります。インターフェースは 1 行に 1 つずつ記載しています。

Google は、非 SDK インターフェースを制限する前に、その代わりとなる公開インターフェースを利用できるようにしておくことを目指しており、アプリによってはこうしたインターフェースを使用する正当なユースケースもあると承知しています。現在ご利用のインターフェースが Android 9 で新たに制限対象となった場合は、そのインターフェースについて新しい公開 API をリクエストしてください。

Landroid/accessibilityservice/AccessibilityService;->mWindowToken:Landroid/os/IBinder;   # False Positive
    Landroid/accounts/AccountManager$AmsTask;->mActivity:Landroid/app/Activity;   # False Positive
    Landroid/accounts/AccountManager$AmsTask;->mHandler:Landroid/os/Handler;   # False Positive
    Landroid/accounts/AccountManager$AmsTask;->mResponse:Landroid/accounts/IAccountManagerResponse;   # False Positive
    Landroid/accounts/AccountManager$GetAuthTokenByTypeAndFeaturesTask;->mAuthTokenType:Ljava/lang/String;   # False Positive
    Landroid/accounts/AccountManager$GetAuthTokenByTypeAndFeaturesTask;->mLoginOptions:Landroid/os/Bundle;   # False Positive
    Landroid/accounts/AccountManager$GetAuthTokenByTypeAndFeaturesTask;->mMyCallback:Landroid/accounts/AccountManagerCallback;   # False Positive
    Landroid/accounts/AuthenticatorDescription;-><init>(Landroid/os/Parcel;)V   # False Positive
    Landroid/accounts/AuthenticatorDescription;-><init>(Ljava/lang/String;)V   # False Positive
    Landroid/animation/LayoutTransition;->cancel()V   # This is used by androidx.transitions only for the API levels less than 18, so it is safe to restrict it after P. If developers are using it directly we encourage them to migrate to AndroidX Transition library instead
    Landroid/animation/LayoutTransition;->cancel(I)V
    Landroid/animation/ValueAnimator;->sDurationScale:F
    Landroid/app/Activity;->mVisibleFromClient:Z   # False Positive
    Landroid/app/Activity;->mVoiceInteractor:Landroid/app/VoiceInteractor;   # False Positive
    Landroid/app/Activity;->setParent(Landroid/app/Activity;)V   # False Positive
    Landroid/app/ActivityManager$TaskDescription;->getBackgroundColor()I   # False Positive
    Landroid/app/ActivityThread$ActivityClientRecord;-><init>()V   # False Positive
    Landroid/app/ActivityThread$AppBindData;->compatInfo:Landroid/content/res/CompatibilityInfo;   # False Positive
    Landroid/app/ActivityThread;->getPackageInfo(Ljava/lang/String;Landroid/content/res/CompatibilityInfo;I)Landroid/app/LoadedApk;   # False Positive
    Landroid/app/ActivityThread;->handleReceiver(Landroid/app/ActivityThread$ReceiverData;)V   # False Positive
    Landroid/app/ActivityThread;->mLocalProviders:Landroid/util/ArrayMap;   # False Positive
    Landroid/app/ActivityThread;->mResourcesManager:Landroid/app/ResourcesManager;   # False Positive
    Landroid/app/ActivityThread;->peekPackageInfo(Ljava/lang/String;Z)Landroid/app/LoadedApk;   # False Positive
    Landroid/app/ActivityThread;->sMainThreadHandler:Landroid/os/Handler;   # False Positive
    Landroid/app/ActivityThread;->startActivityNow(Landroid/app/Activity;Ljava/lang/String;Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Landroid/os/IBinder;Landroid/os/Bundle;Landroid/app/Activity$NonConfigurationInstances;)Landroid/app/Activity;   # False Positive
    Landroid/app/admin/DeviceAdminInfo$PolicyInfo;->tag:Ljava/lang/String;   # False Positive
    Landroid/app/admin/DevicePolicyManager;->getPasswordHistoryLength(Landroid/content/ComponentName;I)I   # False Positive
    Landroid/app/admin/DevicePolicyManager;->getPasswordMinimumLength(Landroid/content/ComponentName;I)I   # False Positive
    Landroid/app/admin/DevicePolicyManager;->getPasswordMinimumLetters(Landroid/content/ComponentName;I)I   # False Positive
    Landroid/app/admin/DevicePolicyManager;->getPasswordMinimumLowerCase(Landroid/content/ComponentName;I)I   # False Positive
    Landroid/app/admin/DevicePolicyManager;->getPasswordMinimumNonLetter(Landroid/content/ComponentName;I)I   # False Positive
    Landroid/app/admin/DevicePolicyManager;->getPasswordMinimumNumeric(Landroid/content/ComponentName;I)I   # False Positive
    Landroid/app/admin/DevicePolicyManager;->getPasswordMinimumSymbols(Landroid/content/ComponentName;I)I   # False Positive
    Landroid/app/admin/DevicePolicyManager;->getPasswordMinimumUpperCase(Landroid/content/ComponentName;I)I   # False Positive
    Landroid/app/admin/DevicePolicyManager;->getPasswordQuality(Landroid/content/ComponentName;I)I   # False Positive
    Landroid/app/assist/AssistContent;->mClipData:Landroid/content/ClipData;   # False Positive
    Landroid/app/assist/AssistContent;->mExtras:Landroid/os/Bundle;   # False Positive
    Landroid/app/assist/AssistContent;->mIntent:Landroid/content/Intent;   # False Positive
    Landroid/app/assist/AssistContent;->mIsAppProvidedIntent:Z   # False Positive
    Landroid/app/assist/AssistContent;->mStructuredData:Ljava/lang/String;   # False Positive
    Landroid/app/assist/AssistContent;->mUri:Landroid/net/Uri;   # False Positive
    Landroid/app/assist/AssistContent;->writeToParcelInternal(Landroid/os/Parcel;I)V   # False Positive
    Landroid/app/ContentProviderHolder;->noReleaseNeeded:Z   # False Positive
    Landroid/app/ContextImpl;->mFlags:I   # False Positive
    Landroid/app/ContextImpl;->mOpPackageName:Ljava/lang/String;   # False Positive
    Landroid/app/ContextImpl;->mSharedPrefsPaths:Landroid/util/ArrayMap;   # False Positive
    Landroid/app/Dialog;->CANCEL:I   # False Positive
    Landroid/app/Dialog;->mHandler:Landroid/os/Handler;   # False Positive
    Landroid/app/DownloadManager$Query;->orderBy(Ljava/lang/String;I)Landroid/app/DownloadManager$Query;   # False Positive
    Landroid/app/DownloadManager;->setAccessFilename(Z)V   # False Positive
    Landroid/app/Fragment;->mView:Landroid/view/View;   # False Positive
    Landroid/app/Fragment;->sClassMap:Landroid/util/ArrayMap;   # False Positive
    Landroid/app/IInstrumentationWatcher$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IInstrumentationWatcher;
    Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V   # False Positive
    Landroid/app/ISearchManager$Stub;-><init>()V
    Landroid/app/IUiModeManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IUiModeManager;
    Landroid/app/IUiModeManager;->disableCarMode(I)V
    Landroid/app/job/JobInfo;->flags:I   # False Positive
    Landroid/app/job/JobWorkItem;-><init>(Landroid/os/Parcel;)V   # False Positive
    Landroid/app/job/JobWorkItem;->mDeliveryCount:I   # False Positive
    Landroid/app/job/JobWorkItem;->mGrants:Ljava/lang/Object;   # False Positive
    Landroid/app/job/JobWorkItem;->mIntent:Landroid/content/Intent;   # False Positive
    Landroid/app/job/JobWorkItem;->mWorkId:I   # False Positive
    Landroid/app/KeyguardManager;->isDeviceLocked(I)Z   # False Positive
    Landroid/app/LoadedApk$ReceiverDispatcher;->mContext:Landroid/content/Context;   # False Positive
    Landroid/app/LoadedApk$ServiceDispatcher;->mContext:Landroid/content/Context;   # False Positive
    Landroid/app/LoadedApk;->mDataDirFile:Ljava/io/File;   # False Positive
    Landroid/app/LoadedApk;->mServices:Landroid/util/ArrayMap;   # False Positive
    Landroid/app/Notification$Action;->mIcon:Landroid/graphics/drawable/Icon;   # False Positive
    Landroid/app/ProgressDialog;->mProgress:Landroid/widget/ProgressBar;   # False Positive
    Landroid/app/ResultInfo;->CREATOR:Landroid/os/Parcelable$Creator;   # False Positive
    Landroid/app/UiAutomation;-><init>(Landroid/os/Looper;Landroid/app/IUiAutomationConnection;)V   # False Positive
    Landroid/app/UiAutomation;->connect()V   # False Positive
    Landroid/app/UiAutomation;->disconnect()V   # False Positive
    Landroid/app/usage/ConfigurationStats;->mActivationCount:I   # False Positive
    Landroid/app/usage/ConfigurationStats;->mBeginTimeStamp:J   # False Positive
    Landroid/app/usage/ConfigurationStats;->mConfiguration:Landroid/content/res/Configuration;   # False Positive
    Landroid/app/usage/ConfigurationStats;->mEndTimeStamp:J   # False Positive
    Landroid/app/usage/ConfigurationStats;->mLastTimeActive:J   # False Positive
    Landroid/app/usage/ConfigurationStats;->mTotalTimeActive:J   # False Positive
    Landroid/app/usage/UsageEvents$Event;->mClass:Ljava/lang/String;   # False Positive
    Landroid/app/usage/UsageEvents$Event;->mConfiguration:Landroid/content/res/Configuration;   # False Positive
    Landroid/app/usage/UsageEvents$Event;->mEventType:I   # False Positive
    Landroid/app/usage/UsageEvents$Event;->mPackage:Ljava/lang/String;   # False Positive
    Landroid/app/usage/UsageEvents$Event;->mTimeStamp:J   # False Positive
    Landroid/app/usage/UsageEvents;-><init>(Landroid/os/Parcel;)V   # False Positive
    Landroid/app/usage/UsageEvents;->findStringIndex(Ljava/lang/String;)I   # False Positive
    Landroid/app/usage/UsageEvents;->mEventCount:I   # False Positive
    Landroid/app/usage/UsageEvents;->mEventsToWrite:Ljava/util/List;   # False Positive
    Landroid/app/usage/UsageEvents;->mIndex:I   # False Positive
    Landroid/app/usage/UsageEvents;->mStringPool:[Ljava/lang/String;   # False Positive
    Landroid/app/usage/UsageEvents;->readEventFromParcel(Landroid/os/Parcel;Landroid/app/usage/UsageEvents$Event;)V   # False Positive
    Landroid/app/usage/UsageEvents;->writeEventToParcel(Landroid/app/usage/UsageEvents$Event;Landroid/os/Parcel;I)V   # False Positive
    Landroid/app/usage/UsageStats;->mBeginTimeStamp:J   # False Positive
    Landroid/app/usage/UsageStats;->mEndTimeStamp:J   # False Positive
    Landroid/app/usage/UsageStats;->mLastTimeUsed:J   # False Positive
    Landroid/app/usage/UsageStats;->mPackageName:Ljava/lang/String;   # False Positive
    Landroid/app/usage/UsageStatsManager;->mContext:Landroid/content/Context;   # False Positive
    Landroid/app/usage/UsageStatsManager;->sEmptyResults:Landroid/app/usage/UsageEvents;   # False Positive
    Landroid/app/WallpaperManager;->setBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;ZII)I   # False Positive
    Landroid/bluetooth/BluetoothA2dp;->getPriority(Landroid/bluetooth/BluetoothDevice;)I   # False Positive
    Landroid/bluetooth/BluetoothA2dp;->stateToString(I)Ljava/lang/String;   # False Positive
    Landroid/bluetooth/BluetoothClass;-><init>(I)V   # False Positive
    Landroid/bluetooth/BluetoothGatt;->mAuthRetryState:I   # False Positive
    Landroid/bluetooth/BluetoothProfile;->PAN:I   # False Positive
    Landroid/bluetooth/BluetoothUuid;->AdvAudioDist:Landroid/os/ParcelUuid;   # False Positive
    Landroid/bluetooth/BluetoothUuid;->AudioSink:Landroid/os/ParcelUuid;   # False Positive
    Landroid/bluetooth/BluetoothUuid;->Handsfree:Landroid/os/ParcelUuid;   # False Positive
    Landroid/bluetooth/BluetoothUuid;->HSP:Landroid/os/ParcelUuid;   # False Positive
    Landroid/bluetooth/IBluetooth$Stub;-><init>()V
    Landroid/bluetooth/IBluetoothA2dp$Stub;-><init>()V
    Landroid/content/BroadcastReceiver$PendingResult;-><init>(ILjava/lang/String;Landroid/os/Bundle;IZZLandroid/os/IBinder;II)V   # False Positive
    Landroid/content/BroadcastReceiver$PendingResult;->mFlags:I   # False Positive
    Landroid/content/BroadcastReceiver$PendingResult;->mResultCode:I   # False Positive
    Landroid/content/BroadcastReceiver$PendingResult;->mResultData:Ljava/lang/String;   # False Positive
    Landroid/content/BroadcastReceiver$PendingResult;->mToken:Landroid/os/IBinder;   # False Positive
    Landroid/content/BroadcastReceiver$PendingResult;->mType:I   # False Positive
    Landroid/content/ClipData$Item;->mUri:Landroid/net/Uri;   # False Positive
    Landroid/content/ContentProvider;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;[Landroid/content/pm/PathPermission;)V   # False Positive
    Landroid/content/ContentProviderClient;->mPackageName:Ljava/lang/String;   # False Positive
    Landroid/content/Context;->COUNTRY_DETECTOR:Ljava/lang/String;   # False Positive
    Landroid/content/Entity;->mSubValues:Ljava/util/ArrayList;   # False Positive
    Landroid/content/Entity;->mValues:Landroid/content/ContentValues;   # False Positive
    Landroid/content/IContentProvider;->descriptor:Ljava/lang/String;   # False Positive
    Landroid/content/IIntentReceiver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/IIntentReceiver;
    Landroid/content/IIntentSender$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/IIntentSender;
    Landroid/content/IntentFilter;->isVerified()Z   # False Positive
    Landroid/content/pm/ApplicationInfo$DisplayNameComparator;->mPM:Landroid/content/pm/PackageManager;   # False Positive
    Landroid/content/pm/ApplicationInfo$DisplayNameComparator;->sCollator:Ljava/text/Collator;   # False Positive
    Landroid/content/pm/ApplicationInfo;->disableCompatibilityMode()V   # False Positive
    Landroid/content/pm/ApplicationInfo;->isPackageUnavailable(Landroid/content/pm/PackageManager;)Z   # False Positive
    Landroid/content/pm/LauncherApps;->mService:Landroid/content/pm/ILauncherApps;   # False Positive
    Landroid/content/pm/PackageInfo;-><init>(Landroid/os/Parcel;)V   # False Positive
    Landroid/content/pm/PackageInfoLite;->CREATOR:Landroid/os/Parcelable$Creator;   # False Positive
    Landroid/content/pm/PackageInstaller$SessionInfo;->active:Z   # False Positive
    Landroid/content/pm/PackageInstaller$SessionInfo;->appIcon:Landroid/graphics/Bitmap;   # False Positive
    Landroid/content/pm/PackageInstaller$SessionInfo;->appLabel:Ljava/lang/CharSequence;   # False Positive
    Landroid/content/pm/PackageInstaller$SessionInfo;->appPackageName:Ljava/lang/String;   # False Positive
    Landroid/content/pm/PackageInstaller$SessionInfo;->installerPackageName:Ljava/lang/String;   # False Positive
    Landroid/content/pm/PackageInstaller$SessionInfo;->mode:I   # False Positive
    Landroid/content/pm/PackageInstaller$SessionInfo;->progress:F   # False Positive
    Landroid/content/pm/PackageInstaller$SessionInfo;->sessionId:I   # False Positive
    Landroid/content/pm/PackageInstaller$SessionInfo;->sizeBytes:J   # False Positive
    Landroid/content/pm/PackageInstaller$SessionParams;->appLabel:Ljava/lang/String;   # False Positive
    Landroid/content/pm/PackageInstaller$SessionParams;->appPackageName:Ljava/lang/String;   # False Positive
    Landroid/content/pm/PackageInstaller$SessionParams;->mode:I   # False Positive
    Landroid/content/pm/PackageParser;->parseBaseApk(Ljava/lang/String;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I[Ljava/lang/String;)Landroid/content/pm/PackageParser$Package;   # False Positive
    Landroid/content/pm/PackageStats;->userHandle:I   # False Positive
    Landroid/content/pm/ParceledListSlice;->CREATOR:Landroid/os/Parcelable$ClassLoaderCreator;   # False Positive
    Landroid/content/pm/ShortcutInfo;->getIcon()Landroid/graphics/drawable/Icon;   # False Positive
    Landroid/content/pm/ShortcutManager;->mService:Landroid/content/pm/IShortcutService;   # False Positive
    Landroid/content/res/CompatibilityInfo;->CREATOR:Landroid/os/Parcelable$Creator;   # False Positive
    Landroid/content/RestrictionsManager;->mService:Landroid/content/IRestrictionsManager;   # False Positive
    Landroid/content/SyncAdapterType;-><init>(Ljava/lang/String;Ljava/lang/String;)V   # False Positive
    Landroid/content/SyncAdapterType;->supportsUploading:Z   # False Positive
    Landroid/content/SyncAdapterType;->userVisible:Z   # False Positive
    Landroid/content/SyncInfo;-><init>(Landroid/os/Parcel;)V   # False Positive
    Landroid/content/SyncRequest;->mAuthority:Ljava/lang/String;   # False Positive
    Landroid/content/SyncRequest;->mExtras:Landroid/os/Bundle;   # False Positive
    Landroid/database/AbstractCursor;->mExtras:Landroid/os/Bundle;   # False Positive
    Landroid/database/DatabaseUtils;->getTypeOfObject(Ljava/lang/Object;)I   # False Positive
    Landroid/database/MatrixCursor;->data:[Ljava/lang/Object;   # False Positive
    Landroid/database/MatrixCursor;->rowCount:I   # False Positive
    Landroid/database/sqlite/SQLiteCustomFunction;->name:Ljava/lang/String;   # False Positive
    Landroid/database/sqlite/SQLiteQueryBuilder;->computeProjection([Ljava/lang/String;)[Ljava/lang/String;   # False Positive
    Landroid/database/sqlite/SQLiteQueryBuilder;->mDistinct:Z   # False Positive
    Landroid/database/sqlite/SQLiteQueryBuilder;->mTables:Ljava/lang/String;   # False Positive
    Landroid/database/sqlite/SQLiteQueryBuilder;->mWhereClause:Ljava/lang/StringBuilder;   # False Positive
    Landroid/graphics/Bitmap;->mNinePatchChunk:[B   # Bitmap#getNinePatchChunk already exists since API level 1
    Landroid/graphics/BitmapRegionDecoder;-><init>(J)V   # False Positive
    Landroid/graphics/Canvas;-><init>(J)V   # False Positive
    Landroid/graphics/Canvas;->mBitmap:Landroid/graphics/Bitmap;
    Landroid/graphics/drawable/AnimatedStateListDrawable;->mState:Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;   # False Positive
    Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;-><init>(Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;Landroid/graphics/drawable/DrawableContainer;Landroid/content/res/Resources;)V   # False Positive
    Landroid/graphics/drawable/GradientDrawable$GradientState;->mAngle:I
    Landroid/graphics/drawable/GradientDrawable$GradientState;->mGradient:I
    Landroid/graphics/drawable/GradientDrawable$GradientState;->mGradientColors:[I
    Landroid/graphics/drawable/GradientDrawable$GradientState;->mHeight:I
    Landroid/graphics/drawable/GradientDrawable$GradientState;->mInnerRadius:I
    Landroid/graphics/drawable/GradientDrawable$GradientState;->mInnerRadiusRatio:F
    Landroid/graphics/drawable/GradientDrawable$GradientState;->mOrientation:Landroid/graphics/drawable/GradientDrawable$Orientation;
    Landroid/graphics/drawable/GradientDrawable$GradientState;->mPadding:Landroid/graphics/Rect;
    Landroid/graphics/drawable/GradientDrawable$GradientState;->mRadius:F
    Landroid/graphics/drawable/GradientDrawable$GradientState;->mRadiusArray:[F
    Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I
    Landroid/graphics/drawable/GradientDrawable$GradientState;->mSolidColors:Landroid/content/res/ColorStateList;
    Landroid/graphics/drawable/GradientDrawable$GradientState;->mStrokeDashGap:F
    Landroid/graphics/drawable/GradientDrawable$GradientState;->mStrokeDashWidth:F
    Landroid/graphics/drawable/GradientDrawable$GradientState;->mStrokeWidth:I
    Landroid/graphics/drawable/GradientDrawable$GradientState;->mThickness:I
    Landroid/graphics/drawable/GradientDrawable$GradientState;->mThicknessRatio:F
    Landroid/graphics/drawable/GradientDrawable$GradientState;->mWidth:I
    Landroid/graphics/drawable/GradientDrawable;->mGradientState:Landroid/graphics/drawable/GradientDrawable$GradientState;
    Landroid/graphics/drawable/GradientDrawable;->mPadding:Landroid/graphics/Rect;
    Landroid/graphics/drawable/Icon;->getDataBytes()[B   # False Positive
    Landroid/graphics/drawable/Icon;->getDataOffset()I   # False Positive
    Landroid/graphics/drawable/Icon;->getResources()Landroid/content/res/Resources;   # False Positive
    Landroid/graphics/drawable/Icon;->mString1:Ljava/lang/String;   # False Positive
    Landroid/graphics/drawable/Icon;->mType:I   # False Positive
    Landroid/graphics/fonts/FontVariationAxis;->mTag:I   # False Positive
    Landroid/graphics/Movie;-><init>(J)V   # False Positive
    Landroid/graphics/Paint;->mTypeface:Landroid/graphics/Typeface;   # False Positive
    Landroid/graphics/Picture;->mNativePicture:J
    Landroid/graphics/Typeface;-><init>(J)V   # False Positive
    Landroid/graphics/Typeface;->setDefault(Landroid/graphics/Typeface;)V
    Landroid/hardware/Camera;->mNativeContext:J   # False Positive
    Landroid/hardware/Camera;->setPreviewSurface(Landroid/view/Surface;)V   # False Positive
    Landroid/hardware/HardwareBuffer;-><init>(J)V   # False Positive
    Landroid/hardware/input/InputManager;->mIm:Landroid/hardware/input/IInputManager;   # False Positive
    Landroid/hardware/usb/UsbManager;-><init>(Landroid/content/Context;Landroid/hardware/usb/IUsbManager;)V   # False Positive
    Landroid/inputmethodservice/InputMethodService;->mTheme:I   # False Positive
    Landroid/inputmethodservice/InputMethodService;->mTmpInsets:Landroid/inputmethodservice/InputMethodService$Insets;   # False Positive
    Landroid/inputmethodservice/Keyboard;->resize(II)V   # False Positive
    Landroid/location/CountryDetector;-><init>(Landroid/location/ICountryDetector;)V   # False Positive
    Landroid/location/GpsStatus;->setTimeToFirstFix(I)V   # False Positive
    Landroid/location/Location;->mProvider:Ljava/lang/String;   # False Positive
    Landroid/location/LocationManager;->sendNiResponse(II)Z   # False Positive
    Landroid/location/LocationRequest;->checkDisplacement(F)V   # False Positive
    Landroid/location/LocationRequest;->checkInterval(J)V   # False Positive
    Landroid/location/LocationRequest;->checkProvider(Ljava/lang/String;)V   # False Positive
    Landroid/location/LocationRequest;->checkQuality(I)V   # False Positive
    Landroid/location/LocationRequest;->mExpireAt:J   # False Positive
    Landroid/location/LocationRequest;->mExplicitFastestInterval:Z   # False Positive
    Landroid/location/LocationRequest;->mFastestInterval:J   # False Positive
    Landroid/location/LocationRequest;->mNumUpdates:I   # False Positive
    Landroid/location/LocationRequest;->mQuality:I   # False Positive
    Landroid/location/LocationRequest;->mSmallestDisplacement:F   # False Positive
    Landroid/media/AudioAttributes;->mContentType:I   # False Positive
    Landroid/media/AudioAttributes;->mFlags:I   # False Positive
    Landroid/media/AudioAttributes;->mSource:I   # False Positive
    Landroid/media/audiofx/AudioEffect;->command(I[B[B)I   # False Positive
    Landroid/media/AudioSystem;->getPrimaryOutputFrameCount()I
    Landroid/media/AudioSystem;->getPrimaryOutputSamplingRate()I
    Landroid/media/AudioTrack;->getLatency()I
    Landroid/media/CamcorderProfile;->native_init()V   # False Positive
    Landroid/media/ExifInterface;->convertRationalLatLonToFloat(Ljava/lang/String;Ljava/lang/String;)F   # False Positive
    Landroid/media/ExifInterface;->mFilename:Ljava/lang/String;   # False Positive
    Landroid/media/ExifInterface;->mHasThumbnail:Z   # False Positive
    Landroid/media/ExifInterface;->sFormatter:Ljava/text/SimpleDateFormat;   # False Positive
    Landroid/media/MediaCodec;->mNativeContext:J   # False Positive
    Landroid/media/MediaCodecInfo$VideoCapabilities;->create(Landroid/media/MediaFormat;Landroid/media/MediaCodecInfo$CodecCapabilities;)Landroid/media/MediaCodecInfo$VideoCapabilities;   # False Positive
    Landroid/media/MediaMetadataRetriever;->native_finalize()V   # False Positive
    Landroid/media/MediaMetadataRetriever;->native_init()V   # False Positive
    Landroid/media/MediaMetadataRetriever;->native_setup()V   # False Positive
    Landroid/media/MediaRecorder;->_prepare()V   # False Positive
    Landroid/media/MediaRecorder;->mEventHandler:Landroid/media/MediaRecorder$EventHandler;   # False Positive
    Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;   # False Positive
    Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;   # False Positive
    Landroid/media/MediaRecorder;->native_finalize()V   # False Positive
    Landroid/media/MediaRecorder;->native_init()V   # False Positive
    Landroid/media/MediaRecorder;->native_reset()V   # False Positive
    Landroid/media/MediaRouter$RouteInfo;->isDefault()Z   # False Positive
    Landroid/media/PlaybackParams;->mSet:I   # False Positive
    Landroid/media/PlaybackParams;->mSpeed:F   # False Positive
    Landroid/media/ThumbnailUtils;->closeSilently(Landroid/os/ParcelFileDescriptor;)V   # False Positive
    Landroid/media/ThumbnailUtils;->computeInitialSampleSize(Landroid/graphics/BitmapFactory$Options;II)I   # False Positive
    Landroid/media/ThumbnailUtils;->computeSampleSize(Landroid/graphics/BitmapFactory$Options;II)I   # False Positive
    Landroid/media/ThumbnailUtils;->createThumbnailFromEXIF(Ljava/lang/String;IILandroid/media/ThumbnailUtils$SizedThumbnailBitmap;)V   # False Positive
    Landroid/media/ThumbnailUtils;->makeInputStream(Landroid/net/Uri;Landroid/content/ContentResolver;)Landroid/os/ParcelFileDescriptor;   # False Positive
    Landroid/media/ThumbnailUtils;->transform(Landroid/graphics/Matrix;Landroid/graphics/Bitmap;III)Landroid/graphics/Bitmap;   # False Positive
    Landroid/net/ConnectivityManager;->getActiveLinkProperties()Landroid/net/LinkProperties;   # Use  getLinkProperties(getActiveNetwork())
    Landroid/net/ConnectivityManager;->unregisterNetworkFactory(Landroid/os/Messenger;)V   # False Positive
    Landroid/net/http/SslError;->mErrors:I   # False Positive
    Landroid/net/http/SslError;->mUrl:Ljava/lang/String;   # False Positive
    Landroid/net/IConnectivityManager;->getNetworkInfo(I)Landroid/net/NetworkInfo;
    Landroid/net/IConnectivityManager;->reportInetCondition(II)V
    Landroid/net/LinkAddress;->address:Ljava/net/InetAddress;   # False Positive
    Landroid/net/LinkAddress;->isIPv6()Z
    Landroid/net/LinkAddress;->prefixLength:I   # False Positive
    Landroid/net/LinkProperties;->hasGlobalIPv6Address()Z
    Landroid/net/LinkProperties;->hasIPv4Address()Z
    Landroid/net/LinkProperties;->hasIPv4DefaultRoute()Z
    Landroid/net/LinkProperties;->hasIPv4DnsServer()Z
    Landroid/net/LinkProperties;->hasIPv6DefaultRoute()Z
    Landroid/net/LinkProperties;->hasIPv6DnsServer()Z
    Landroid/net/LinkProperties;->isIdenticalHttpProxy(Landroid/net/LinkProperties;)Z   # False Positive
    Landroid/net/LinkProperties;->isIPv6Provisioned()Z
    Landroid/net/LinkProperties;->mIfaceName:Ljava/lang/String;   # False Positive
    Landroid/net/NetworkAgent;->sendNetworkInfo(Landroid/net/NetworkInfo;)V   # False Positive
    Landroid/net/NetworkCapabilities;->getNetworkSpecifier()Landroid/net/NetworkSpecifier;   # False Positive
    Landroid/net/NetworkCapabilities;->mSignalStrength:I
    Landroid/net/NetworkFactory;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V   # False Positive
    Landroid/net/NetworkFactory;->setScoreFilter(I)V   # False Positive
    Landroid/net/NetworkPolicyManager;->registerListener(Landroid/net/INetworkPolicyListener;)V   # False Positive
    Landroid/net/NetworkPolicyManager;->unregisterListener(Landroid/net/INetworkPolicyListener;)V   # False Positive
    Landroid/net/NetworkRequest;->legacyType:I   # False Positive
    Landroid/net/NetworkState;->network:Landroid/net/Network;   # False Positive
    Landroid/net/NetworkUtils;->numericToInetAddress(Ljava/lang/String;)Ljava/net/InetAddress;
    Landroid/net/RouteInfo;->isHost()Z   # False Positive
    Landroid/net/RouteInfo;->mIsHost:Z   # False Positive
    Landroid/net/SSLCertificateSocketFactory;->getAlpnSelectedProtocol(Ljava/net/Socket;)[B   # False Positive
    Landroid/net/SSLCertificateSocketFactory;->setChannelIdPrivateKey(Ljava/security/PrivateKey;)V   # False Positive
    Landroid/net/SSLCertificateSocketFactory;->TAG:Ljava/lang/String;   # False Positive
    Landroid/net/StaticIpConfiguration;->dnsServers:Ljava/util/ArrayList;
    Landroid/net/StaticIpConfiguration;->domains:Ljava/lang/String;
    Landroid/net/StaticIpConfiguration;->gateway:Ljava/net/InetAddress;
    Landroid/net/StaticIpConfiguration;->ipAddress:Landroid/net/LinkAddress;
    Landroid/net/WebAddress;->mPort:I   # False Positive
    Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceInfo;->createRequest(Ljava/lang/String;II)Ljava/lang/String;   # False Positive
    Landroid/net/wifi/p2p/nsd/WifiP2pServiceInfo;-><init>(Ljava/util/List;)V   # False Positive
    Landroid/net/wifi/p2p/nsd/WifiP2pServiceInfo;->mQueryList:Ljava/util/List;   # False Positive
    Landroid/net/wifi/p2p/nsd/WifiP2pServiceRequest;-><init>(ILjava/lang/String;)V   # False Positive
    Landroid/net/wifi/p2p/WifiP2pManager;-><init>(Landroid/net/wifi/p2p/IWifiP2pManager;)V   # False Positive
    Landroid/net/wifi/p2p/WifiP2pWfdInfo;-><init>()V   # False Positive
    Landroid/net/wifi/WifiConfiguration;->INVALID_RSSI:I   # False Positive
    Landroid/net/wifi/WifiInfo;->mBSSID:Ljava/lang/String;   # False Positive
    Landroid/nfc/NfcManager;-><init>(Landroid/content/Context;)V   # False Positive
    Landroid/os/BatteryStats$Counter;-><init>()V
    Landroid/os/BatteryStats$HistoryItem;->clear()V
    Landroid/os/BatteryStats$HistoryItem;->next:Landroid/os/BatteryStats$HistoryItem;
    Landroid/os/BatteryStats$HistoryItem;->same(Landroid/os/BatteryStats$HistoryItem;)Z
    Landroid/os/BatteryStats$HistoryItem;->setTo(JBLandroid/os/BatteryStats$HistoryItem;)V
    Landroid/os/BatteryStats$HistoryItem;->setTo(Landroid/os/BatteryStats$HistoryItem;)V
    Landroid/os/BatteryStats$Timer;-><init>()V
    Landroid/os/BatteryStats$Uid$Pkg;-><init>()V
    Landroid/os/BatteryStats$Uid$Proc;-><init>()V
    Landroid/os/BatteryStats$Uid$Sensor;-><init>()V
    Landroid/os/BatteryStats$Uid$Wakelock;-><init>()V
    Landroid/os/BatteryStats;-><init>()V
    Landroid/os/BatteryStats;->getMobileRadioActiveTime(JI)J
    Landroid/os/BatteryStats;->getNetworkActivityBytes(II)J
    Landroid/os/CancellationSignal;->mCancelInProgress:Z
    Landroid/os/CancellationSignal;->mIsCanceled:Z
    Landroid/os/CancellationSignal;->mOnCancelListener:Landroid/os/CancellationSignal$OnCancelListener;
    Landroid/os/CancellationSignal;->mRemote:Landroid/os/ICancellationSignal;
    Landroid/os/CancellationSignal;->waitForCancelFinishedLocked()V
    Landroid/os/health/SystemHealthManager;->from(Landroid/content/Context;)Landroid/os/health/SystemHealthManager;   # False Positive
    Landroid/os/IPowerManager;->nap(J)V
    Landroid/os/Parcel;->mCreators:Ljava/util/HashMap;
    Landroid/os/PowerManager;->mHandler:Landroid/os/Handler;
    Landroid/os/Process;->sendSignalQuiet(II)V
    Landroid/os/Registrant;->getHandler()Landroid/os/Handler;
    Landroid/os/RegistrantList;->get(I)Ljava/lang/Object;
    Landroid/os/RemoteCallback;->mHandler:Landroid/os/Handler;
    Landroid/os/storage/DiskInfo;-><init>(Landroid/os/Parcel;)V   # False Positive
    Landroid/os/storage/DiskInfo;->CREATOR:Landroid/os/Parcelable$Creator;   # False Positive
    Landroid/os/storage/IObbActionListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/storage/IObbActionListener;
    Landroid/os/storage/StorageVolume;->getOwner()Landroid/os/UserHandle;   # False Positive
    Landroid/os/SystemProperties;->native_add_change_callback()V
    Landroid/os/SystemProperties;->native_get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    Landroid/os/SystemProperties;->native_get_boolean(Ljava/lang/String;Z)Z
    Landroid/os/SystemProperties;->native_get_int(Ljava/lang/String;I)I
    Landroid/os/SystemProperties;->native_set(Ljava/lang/String;Ljava/lang/String;)V
    Landroid/os/UserHandle;->formatUid(Ljava/io/PrintWriter;I)V
    Landroid/os/WorkSource;->sGoneWork:Landroid/os/WorkSource;
    Landroid/os/WorkSource;->sNewbWork:Landroid/os/WorkSource;
    Landroid/os/WorkSource;->sTmpWorkSource:Landroid/os/WorkSource;
    Landroid/os/WorkSource;->updateLocked(Landroid/os/WorkSource;ZZ)Z
    Landroid/preference/Preference;->onKey(Landroid/view/View;ILandroid/view/KeyEvent;)Z   # False Positive
    Landroid/preference/PreferenceManager;->mFragment:Landroid/preference/PreferenceFragment;   # False Positive
    Landroid/preference/PreferenceManager;->setFragment(Landroid/preference/PreferenceFragment;)V   # False Positive
    Landroid/provider/Telephony$Sms;->query(Landroid/content/ContentResolver;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;   # False Positive
    Landroid/security/KeyStore;->isEmpty()Z   # False Positive
    Landroid/security/KeyStore;->reset()Z   # False Positive
    Landroid/service/carrier/ICarrierMessagingCallback$Stub;-><init>()V
    Landroid/service/carrier/ICarrierMessagingService;->filterSms(Landroid/service/carrier/MessagePdu;Ljava/lang/String;IILandroid/service/carrier/ICarrierMessagingCallback;)V
    Landroid/service/dreams/DreamService;->canDoze()Z   # False Positive
    Landroid/service/dreams/DreamService;->isDozing()Z   # False Positive
    Landroid/service/dreams/DreamService;->stopDozing()V   # False Positive
    Landroid/service/notification/NotificationListenerService;->getNotificationInterface()Landroid/app/INotificationManager;   # False Positive
    Landroid/service/notification/NotificationListenerService;->mHandler:Landroid/os/Handler;   # False Positive
    Landroid/service/notification/NotificationListenerService;->mNoMan:Landroid/app/INotificationManager;   # False Positive
    Landroid/service/notification/NotificationListenerService;->TAG:Ljava/lang/String;   # False Positive
    Landroid/service/notification/StatusBarNotification;->initialPid:I   # False Positive
    Landroid/service/notification/StatusBarNotification;->notification:Landroid/app/Notification;   # False Positive
    Landroid/service/notification/StatusBarNotification;->postTime:J   # False Positive
    Landroid/service/notification/StatusBarNotification;->tag:Ljava/lang/String;   # False Positive
    Landroid/service/notification/StatusBarNotification;->user:Landroid/os/UserHandle;   # False Positive
    Landroid/service/wallpaper/WallpaperService$Engine;->mPendingXOffset:F   # False Positive
    Landroid/telecom/AudioState;->isMuted:Z
    Landroid/telecom/AudioState;->route:I
    Landroid/telecom/AudioState;->supportedRouteMask:I
    Landroid/telecom/Call$Details;->CAPABILITY_CAN_UPGRADE_TO_VIDEO:I
    Landroid/telecom/ParcelableCall;->CREATOR:Landroid/os/Parcelable$Creator;   # False Positive
    Landroid/telecom/ParcelableCall;->getConnectTimeMillis()J   # False Positive
    Landroid/telecom/ParcelableCall;->getDisconnectCause()Landroid/telecom/DisconnectCause;   # False Positive
    Landroid/telecom/ParcelableCall;->getHandle()Landroid/net/Uri;   # False Positive
    Landroid/telecom/ParcelableCall;->getId()Ljava/lang/String;   # False Positive
    Landroid/telecom/Phone;->setProximitySensorOff(Z)V
    Landroid/telecom/Phone;->setProximitySensorOn()V
    Landroid/telecom/PhoneAccountHandle;-><init>(Landroid/os/Parcel;)V   # False Positive
    Landroid/telecom/PhoneAccountHandle;->mComponentName:Landroid/content/ComponentName;
    Landroid/telecom/PhoneAccountHandle;->mId:Ljava/lang/String;   # False Positive
    Landroid/telecom/TelecomManager;->EXTRA_IS_HANDOVER:Ljava/lang/String;
    Landroid/telecom/TelecomManager;->from(Landroid/content/Context;)Landroid/telecom/TelecomManager;
    Landroid/telecom/TelecomManager;->getCallCapablePhoneAccounts(Z)Ljava/util/List;
    Landroid/telecom/TelecomManager;->getSimCallManager(I)Landroid/telecom/PhoneAccountHandle;
    Landroid/telecom/VideoCallImpl;->destroy()V
    Landroid/telephony/CarrierMessagingServiceManager;-><init>()V
    Landroid/telephony/cdma/CdmaCellLocation;->equalsHandlesNulls(Ljava/lang/Object;Ljava/lang/Object;)Z   # False Positive
    Landroid/telephony/cdma/CdmaCellLocation;->mBaseStationId:I   # False Positive
    Landroid/telephony/cdma/CdmaCellLocation;->mBaseStationLatitude:I   # False Positive
    Landroid/telephony/cdma/CdmaCellLocation;->mBaseStationLongitude:I   # False Positive
    Landroid/telephony/cdma/CdmaCellLocation;->mNetworkId:I   # False Positive
    Landroid/telephony/cdma/CdmaCellLocation;->mSystemId:I   # False Positive
    Landroid/telephony/CellIdentityLte;-><init>(IIIII)V   # False Positive
    Landroid/telephony/CellInfoCdma;-><init>(Landroid/telephony/CellInfoCdma;)V   # False Positive
    Landroid/telephony/CellInfoLte;->setCellIdentity(Landroid/telephony/CellIdentityLte;)V   # False Positive
    Landroid/telephony/CellInfoLte;->setCellSignalStrength(Landroid/telephony/CellSignalStrengthLte;)V   # False Positive
    Landroid/telephony/CellSignalStrengthLte;->mSignalStrength:I
    Landroid/telephony/gsm/GsmCellLocation;->setPsc(I)V   # False Positive
    Landroid/telephony/NeighboringCellInfo;->mCid:I   # False Positive
    Landroid/telephony/NeighboringCellInfo;->mLac:I   # False Positive
    Landroid/telephony/NeighboringCellInfo;->mNetworkType:I   # False Positive
    Landroid/telephony/NeighboringCellInfo;->mPsc:I   # False Positive
    Landroid/telephony/NeighboringCellInfo;->mRssi:I   # False Positive
    Landroid/telephony/PhoneStateListener;-><init>(Landroid/os/Looper;)V
    Landroid/telephony/PhoneStateListener;-><init>(Ljava/lang/Integer;)V
    Landroid/telephony/PhoneStateListener;-><init>(Ljava/lang/Integer;Landroid/os/Looper;)V
    Landroid/telephony/RadioAccessFamily;->getNetworkTypeFromRaf(I)I   # False Positive
    Landroid/telephony/Rlog;->i(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I   # False Positive
    Landroid/telephony/ServiceState;->bearerBitmapHasCdma(I)Z   # False Positive
    Landroid/telephony/ServiceState;->equalsHandlesNulls(Ljava/lang/Object;Ljava/lang/Object;)Z   # False Positive
    Landroid/telephony/ServiceState;->getCssIndicator()I   # False Positive
    Landroid/telephony/ServiceState;->getDataNetworkType()I   # TelephonyManager.getServiceState().getNetworkRegistrationState(NetworkRegistrationState.DOMAIN_PS, AccessNetworkConstants.TransportType.WWAN).getAccessNetworkTechnology()
    Landroid/telephony/ServiceState;->getDataRoaming()Z   # TelephonyManager.getServiceState().getNetworkRegistrationState(NetworkRegistrationState.DOMAIN_PS, AccessNetworkConstants.TransportType.WWAN).isRomaing()
    Landroid/telephony/ServiceState;->getDataRoamingType()I   # SystemAPI ServiceState.getNetworkRegistrationState(NetworkRegistrationState.DOMAIN_PS, AccessNetworkConstants.TransportType.WWAN).getRoamingType()
    Landroid/telephony/ServiceState;->getVoiceNetworkType()I
    Landroid/telephony/ServiceState;->getVoiceOperatorNumeric()Ljava/lang/String;   # System API ServiceState.getOperatorNumeric()
    Landroid/telephony/ServiceState;->getVoiceRegState()I   # Public: ServiceState.getState() or SystemAPI NetworkRegistrationState.getRegState()
    Landroid/telephony/ServiceState;->getVoiceRoaming()Z   # SystemAPI ServiceState.getNetworkRegistrationState(NetworkRegistrationState.DOMAIN_CS, AccessNetworkConstants.TransportType.WWAN).getRoamingType()
    Landroid/telephony/ServiceState;->getVoiceRoamingType()I
    Landroid/telephony/ServiceState;->mCdmaDefaultRoamingIndicator:I   # False Positive
    Landroid/telephony/ServiceState;->mCdmaEriIconIndex:I   # False Positive
    Landroid/telephony/ServiceState;->mCdmaEriIconMode:I   # False Positive
    Landroid/telephony/ServiceState;->mCdmaRoamingIndicator:I   # False Positive
    Landroid/telephony/ServiceState;->mCssIndicator:Z   # False Positive
    Landroid/telephony/ServiceState;->mIsManualNetworkSelection:Z   # TelephonyManager.getServiceState().isManualNetworkSelection()
    Landroid/telephony/ServiceState;->mNetworkId:I   # TelephonyManager.getServiceState().getCdmaNetworkId()
    Landroid/telephony/ServiceState;->mSystemId:I   # TelephonyManager.getServiceState().getCdmaSystemId()
    Landroid/telephony/ServiceState;->RIL_RADIO_TECHNOLOGY_IWLAN:I   # dont use the internal RIL version, move to SystemAPI TelephonyManager.NETWORK_TYPE_IWLAN
    Landroid/telephony/ServiceState;->setCdmaDefaultRoamingIndicator(I)V   # False Positive
    Landroid/telephony/ServiceState;->setCdmaEriIconIndex(I)V   # False Positive
    Landroid/telephony/ServiceState;->setCdmaEriIconMode(I)V   # False Positive
    Landroid/telephony/ServiceState;->setCdmaRoamingIndicator(I)V   # False Positive
    Landroid/telephony/ServiceState;->setCssIndicator(I)V   # False Positive
    Landroid/telephony/ServiceState;->setDataRegState(I)V   # False Positive
    Landroid/telephony/ServiceState;->setEmergencyOnly(Z)V   # False Positive
    Landroid/telephony/SignalStrength;->fillInNotifierBundle(Landroid/os/Bundle;)V
    Landroid/telephony/SignalStrength;->getAsuLevel()I
    Landroid/telephony/SignalStrength;->getCdmaAsuLevel()I
    Landroid/telephony/SignalStrength;->getCdmaLevel()I
    Landroid/telephony/SignalStrength;->getDbm()I
    Landroid/telephony/SignalStrength;->getEvdoAsuLevel()I
    Landroid/telephony/SignalStrength;->getEvdoLevel()I
    Landroid/telephony/SignalStrength;->getGsmAsuLevel()I
    Landroid/telephony/SignalStrength;->getGsmDbm()I
    Landroid/telephony/SignalStrength;->getGsmLevel()I
    Landroid/telephony/SignalStrength;->getLteAsuLevel()I
    Landroid/telephony/SignalStrength;->getLteCqi()I
    Landroid/telephony/SignalStrength;->getLteDbm()I
    Landroid/telephony/SignalStrength;->getLteLevel()I
    Landroid/telephony/SignalStrength;->getLteRsrp()I
    Landroid/telephony/SignalStrength;->getLteRsrq()I
    Landroid/telephony/SignalStrength;->getLteRssnr()I   # CellSignalStrengthLte.getRssi()
    Landroid/telephony/SignalStrength;->getLteSignalStrength()I
    Landroid/telephony/SignalStrength;->getTdScdmaAsuLevel()I
    Landroid/telephony/SignalStrength;->getTdScdmaDbm()I
    Landroid/telephony/SignalStrength;->getTdScdmaLevel()I
    Landroid/telephony/SignalStrength;->setFromNotifierBundle(Landroid/os/Bundle;)V
    Landroid/telephony/SignalStrength;->SIGNAL_STRENGTH_GOOD:I   # CellSignalStrength.SIGNAL_STRENGTH_GOOD
    Landroid/telephony/SignalStrength;->SIGNAL_STRENGTH_GREAT:I   # CellSignalStrength.SIGNAL_STRENGTH_GREAT
    Landroid/telephony/SignalStrength;->SIGNAL_STRENGTH_MODERATE:I   # CellSignalStrength.SIGNAL_STRENGTH_MODERATE
    Landroid/telephony/SignalStrength;->SIGNAL_STRENGTH_NONE_OR_UNKNOWN:I   # CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN
    Landroid/telephony/SignalStrength;->SIGNAL_STRENGTH_POOR:I   # CellSignalStrength.SIGNAL_STRENGTH_POOR
    Landroid/telephony/SmsManager;->mSubId:I   # False Positive
    Landroid/telephony/SubscriptionManager;->getPhoneId(I)I
    Landroid/telephony/SubscriptionManager;->isUsableSubIdValue(I)Z   # SubscriptionManager.isUsableSubscriptionId(int subscriptionId)
    Landroid/telephony/SubscriptionManager;->isValidSlotIndex(I)Z   # False Positive
    Landroid/telephony/SubscriptionManager;->NAME_SOURCE_USER_INPUT:I   # False Positive
    Landroid/telephony/SubscriptionManager;->putPhoneIdAndSubIdExtra(Landroid/content/Intent;I)V
    Landroid/telephony/TelephonyManager;->from(Landroid/content/Context;)Landroid/telephony/TelephonyManager;   # context.getSystemService(Context.TELEPHONY_SERVICE)
    Landroid/telephony/TelephonyManager;->getDataNetworkType(I)I   # TelephonyManager.createForSubscriptionId(int subId).getServiceState().getNetworkRegistrationState(NetworkRegistrationState.DOMAIN_PS, AccessNetworkConstants.TransportType.WWAN).getAccessNetworkTechnology()
    Landroid/telephony/TelephonyManager;->getDefault()Landroid/telephony/TelephonyManager;   # context.getSystemService(Context.TELEPHONY_SERVICE)
    Landroid/telephony/TelephonyManager;->getITelephony()Lcom/android/internal/telephony/ITelephony;
    Landroid/telephony/TelephonyManager;->getMsisdn(I)Ljava/lang/String;
    Landroid/telephony/TelephonyManager;->getNetworkOperator(I)Ljava/lang/String;   # TelephonyManager.createForSubscriptionId(int subId).getNetworkOperator()
    Landroid/telephony/TelephonyManager;->getNetworkOperatorName(I)Ljava/lang/String;   # TelephonyManager.createForSubscriptionId(int subId).getNetworkOperatorName()
    Landroid/telephony/TelephonyManager;->getOtaSpNumberSchemaForPhone(ILjava/lang/String;)Ljava/lang/String;   # False Positive
    Landroid/telephony/TelephonyManager;->getServiceStateForSubscriber(I)Landroid/telephony/ServiceState;   # TelephonyManager.createForSubscriptionId(int subId).getServiceState()
    Landroid/telephony/TelephonyManager;->getSimCountryIso(I)Ljava/lang/String;   # TelephonyManager.createForSubscriptionId(int subId).getSimCountryIso()
    Landroid/telephony/TelephonyManager;->getSimOperator(I)Ljava/lang/String;   # TelephonyManager.createForSubscriptionId(int subId).getSimOperator()
    Landroid/telephony/TelephonyManager;->getSimOperatorName(I)Ljava/lang/String;
    Landroid/telephony/TelephonyManager;->getSimOperatorNumeric()Ljava/lang/String;   # TelephonyManager.createForSubscriptionId(int subId).getSimOperator()
    Landroid/telephony/TelephonyManager;->getSimOperatorNumeric(I)Ljava/lang/String;   # TelephonyManager.createForSubscriptionId(int subId).getSimOperator()
    Landroid/telephony/TelephonyManager;->getSimOperatorNumericForPhone(I)Ljava/lang/String;   # recomment to use subId to query instead of phoneId. see TelephonyManager.createForSubscriptionId(int subId).getSimOperator()
    Landroid/telephony/TelephonyManager;->getSubscriberId(I)Ljava/lang/String;   # TelephonyManager createForSubscriptionId(int subId).getSubscriberId()
    Landroid/telephony/TelephonyManager;->getVoiceNetworkType(I)I   # TelephonyManage.createForSubscriptionId(int subId).getVoiceNetworkType()
    Landroid/telephony/TelephonyManager;->isImsRegistered()Z   # SystemAPI ImsMmTelManager#registerImsRegistrationCallback to listen IMS registration state change
    Landroid/telephony/TelephonyManager;->setBasebandVersionForPhone(ILjava/lang/String;)V   # False Positive
    Landroid/telephony/TelephonyManager;->setPhoneType(II)V   # False Positive
    Landroid/telephony/TelephonyManager;->setSimCountryIsoForPhone(ILjava/lang/String;)V   # False Positive
    Landroid/telephony/TelephonyManager;->setSimOperatorNameForPhone(ILjava/lang/String;)V   # False Positive
    Landroid/telephony/TelephonyManager;->setSimStateForPhone(ILjava/lang/String;)V   # False Positive
    Landroid/telephony/VoLteServiceState;-><init>(I)V   # False Positive
    Landroid/text/DynamicLayout;-><init>(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;Landroid/text/TextDirectionHeuristic;FFZIIILandroid/text/TextUtils$TruncateAt;I)V   # False Positive
    Landroid/text/method/HideReturnsTransformationMethod;->sInstance:Landroid/text/method/HideReturnsTransformationMethod;   # False Positive
    Landroid/text/method/PasswordTransformationMethod;->DOT:C   # False Positive
    Landroid/text/StaticLayout;-><init>(Ljava/lang/CharSequence;IILandroid/text/TextPaint;ILandroid/text/Layout$Alignment;Landroid/text/TextDirectionHeuristic;FFZLandroid/text/TextUtils$TruncateAt;II)V
    Landroid/text/StaticLayout;->getHeight(Z)I   # False Positive
    Landroid/text/style/BulletSpan;->mColor:I   # False Positive
    Landroid/text/style/BulletSpan;->mGapWidth:I   # False Positive
    Landroid/text/style/BulletSpan;->mWantColor:Z   # False Positive
    Landroid/text/TextLine;->mSpanned:Landroid/text/Spanned;   # False Positive
    Landroid/text/TextLine;->sCached:[Landroid/text/TextLine;
    Landroid/transition/ChangeBounds;->BOTTOM_RIGHT_ONLY_PROPERTY:Landroid/util/Property;   # Developers should use View.setLeftTopRightBottom() instead.
    Landroid/transition/ChangeBounds;->POSITION_PROPERTY:Landroid/util/Property;   # Developers should use View.setLeftTopRightBottom() instead.
    Landroid/transition/Scene;->mEnterAction:Ljava/lang/Runnable;
    Landroid/transition/Scene;->mExitAction:Ljava/lang/Runnable;
    Landroid/util/ArrayMap;->allocArrays(I)V
    Landroid/util/ArrayMap;->append(Ljava/lang/Object;Ljava/lang/Object;)V
    Landroid/util/ArrayMap;->CACHE_SIZE:I
    Landroid/util/ArrayMap;->EMPTY:Landroid/util/ArrayMap;
    Landroid/util/ArrayMap;->EMPTY_IMMUTABLE_INTS:[I
    Landroid/util/ArrayMap;->freeArrays([I[Ljava/lang/Object;I)V
    Landroid/util/ArrayMap;->indexOf(Ljava/lang/Object;I)I
    Landroid/util/ArrayMap;->indexOfNull()I
    Landroid/util/ArrayMap;->mArray:[Ljava/lang/Object;
    Landroid/util/ArrayMap;->mBaseCache:[Ljava/lang/Object;
    Landroid/util/ArrayMap;->mBaseCacheSize:I
    Landroid/util/ArrayMap;->mHashes:[I
    Landroid/util/ArrayMap;->mSize:I
    Landroid/util/ArrayMap;->mTwiceBaseCache:[Ljava/lang/Object;
    Landroid/util/ArrayMap;->mTwiceBaseCacheSize:I
    Landroid/util/ArraySet;->allocArrays(I)V
    Landroid/util/ArraySet;->freeArrays([I[Ljava/lang/Object;I)V
    Landroid/util/ArraySet;->indexOf(Ljava/lang/Object;I)I
    Landroid/util/ArraySet;->indexOfNull()I
    Landroid/util/ArraySet;->mArray:[Ljava/lang/Object;
    Landroid/util/ArraySet;->mHashes:[I
    Landroid/util/ArraySet;->mSize:I
    Landroid/util/DebugUtils;->buildShortClassTag(Ljava/lang/Object;Ljava/lang/StringBuilder;)V   # False Positive
    Landroid/util/LongSparseLongArray;->mKeys:[J
    Landroid/util/LongSparseLongArray;->mSize:I
    Landroid/util/LongSparseLongArray;->mValues:[J
    Landroid/util/Slog;->wtfStack(Ljava/lang/String;Ljava/lang/String;)I   # False Positive
    Landroid/util/SparseArray;->mKeys:[I
    Landroid/util/SparseArray;->mSize:I
    Landroid/util/SparseArray;->mValues:[Ljava/lang/Object;
    Landroid/util/SparseBooleanArray;->mKeys:[I
    Landroid/util/SparseBooleanArray;->mSize:I
    Landroid/util/SparseBooleanArray;->mValues:[Z
    Landroid/util/SparseIntArray;->mKeys:[I
    Landroid/util/SparseIntArray;->mSize:I
    Landroid/util/SparseIntArray;->mValues:[I
    Landroid/util/TimeUtils;->formatDuration(JLjava/io/PrintWriter;)V   # False Positive
    Landroid/util/TimeUtils;->formatDuration(JLjava/io/PrintWriter;I)V   # False Positive
    Landroid/view/accessibility/AccessibilityEvent;->mAction:I   # False Positive
    Landroid/view/accessibility/AccessibilityManager;->mIsEnabled:Z
    Landroid/view/accessibility/AccessibilityManager;->mIsHighTextContrastEnabled:Z
    Landroid/view/animation/Animation;->mListener:Landroid/view/animation/Animation$AnimationListener;
    Landroid/view/Choreographer;->mLock:Ljava/lang/Object;   # False Positive
    Landroid/view/Choreographer;->USE_VSYNC:Z
    Landroid/view/ContextThemeWrapper;->mTheme:Landroid/content/res/Resources$Theme;
    Landroid/view/Display;->getDisplayInfo(Landroid/view/DisplayInfo;)Z
    Landroid/view/DisplayInfo;-><init>()V
    Landroid/view/DisplayInfo;->displayCutout:Landroid/view/DisplayCutout;
    Landroid/view/DisplayListCanvas;->drawCircle(Landroid/graphics/CanvasProperty;Landroid/graphics/CanvasProperty;Landroid/graphics/CanvasProperty;Landroid/graphics/CanvasProperty;)V
    Landroid/view/GestureDetector;->LONGPRESS_TIMEOUT:I
    Landroid/view/GhostView;->addGhost(Landroid/view/View;Landroid/view/ViewGroup;)Landroid/view/GhostView;
    Landroid/view/GhostView;->removeGhost(Landroid/view/View;)V
    Landroid/view/IGraphicsStats$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
    Landroid/view/IGraphicsStats$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IGraphicsStats;
    Landroid/view/InputDevice;->mIsExternal:Z
    Landroid/view/inputmethod/InputMethodManager;->mH:Landroid/view/inputmethod/InputMethodManager$H;
    Landroid/view/inputmethod/InputMethodManager;->mNextServedView:Landroid/view/View;   # Hacks to  fix context leaks are backported to androidx.activity.ComponentActivity
    Landroid/view/inputmethod/InputMethodManager;->mServedInputConnectionWrapper:Landroid/view/inputmethod/InputMethodManager$ControlledInputConnectionWrapper;   # False Positive
    Landroid/view/inputmethod/InputMethodManager;->mServedView:Landroid/view/View;   # Hacks to  fix context leaks are backported to androidx.activity.ComponentActivity
    Landroid/view/inputmethod/InputMethodManager;->notifyUserAction()V
    Landroid/view/inputmethod/InputMethodManager;->showSoftInputUnchecked(ILandroid/os/ResultReceiver;)V
    Landroid/view/IWindowManager;->setInTouchMode(Z)V
    Landroid/view/IWindowManager;->showStrictModeViolation(Z)V
    Landroid/view/KeyEvent;->mSource:I   # False Positive
    Landroid/view/KeyEvent;->recycle()V   # False Positive
    Landroid/view/LayoutInflater;->mConstructorArgs:[Ljava/lang/Object;   # LayoutInflater's mConstructorArgs was being accessed for two reasons: reading and writing the context. When onCreateView() was called, the inflation context was not being passed, so if the developer wanted to get it, they had to read it from mConstructorArgs. When the developer wanted to create a view, with createView(), the developer could not adjust the view's constructor context. New APIs for createView() and onCreateView() were added that take the View Context as an argument.
    Landroid/view/LayoutInflater;->mContext:Landroid/content/Context;
    Landroid/view/LayoutInflater;->mFactorySet:Z   # mFactorySet is being modified by app developers to reset the factory
                                                   # on an existing LayoutInflater. Instead, a developer should use the
                                                   # existing LayoutInflater#cloneInContext() to create a new LayoutInflater
                                                   # and set the factory on it instead.
                                                   #
                                                   # This is often desired at the Activity level, so that any part of
                                                   # the application getting a LayoutInflater using the Activity as
                                                   # a Context will get the LayoutInflater with a custom factory. To
                                                   # do this, the Activity has to replace the returned LayoutInflater.
                                                   # Something like this should work:
                                                   #
                                                   #  private LayoutInflater mLayoutInflater;
                                                   #
                                                   #  @Override
                                                   #  public Object getSystemService(String name) {
                                                   #    if (Context.LAYOUT_INFLATER_SERVICE.equals(name)) {
                                                   #      if (mLayoutInflater == null) {
                                                   #        mLayoutInflater =
                                                   #          ((LayoutInflater)super.getSystemService(name)).cloneInContext(this);
                                                   #        mLayoutInflater.setFactory(new CustomLayoutFactory());
                                                   #      }
                                                   #      return mLayoutInflater;
                                                   #    }
                                                   #    return super.getSystemService(name);
                                                   #  }
    Landroid/view/LayoutInflater;->sConstructorMap:Ljava/util/HashMap;
    Landroid/view/MotionEvent;->mNativePtr:J   # Developers should use the public accessor methods of MotionEvent. There isn't any need to access mNativePtr directly.
    Landroid/view/PointerIcon;->load(Landroid/content/Context;)Landroid/view/PointerIcon;   # False Positive
    Landroid/view/PointerIcon;->mType:I   # False Positive
    Landroid/view/RenderNodeAnimator;->setTarget(Landroid/view/View;)V
    Landroid/view/ScaleGestureDetector;->mMinSpan:I   # To retrieve the min scaling span value in pixels, you can now use ViewConfiguration.get([context]).getScaledMinScalingSpan().
    Landroid/view/ScaleGestureDetector;->mSpanSlop:I
    Landroid/view/SurfaceView;->mDrawingStopped:Z   # False Positive
    Landroid/view/SurfaceView;->mIsCreating:Z   # False Positive
    Landroid/view/SurfaceView;->mLastLockTime:J   # False Positive
    Landroid/view/SurfaceView;->mRequestedHeight:I   # False Positive
    Landroid/view/SurfaceView;->mRequestedWidth:I   # False Positive
    Landroid/view/SurfaceView;->mSurfaceFrame:Landroid/graphics/Rect;   # False Positive
    Landroid/view/View;->dispatchAttachedToWindow(Landroid/view/View$AttachInfo;I)V   # Should not be used directly as it violates internal code guarantees. Instead Views need to be actually attached to the window.
    Landroid/view/View;->dispatchDetachedFromWindow()V   # Should not be used directly as it violates internal code guarantees. Instead Views need to be actually attached to the window.
    Landroid/view/View;->getWindowSession()Landroid/view/IWindowSession;   # False Positive
    Landroid/view/View;->internalSetPadding(IIII)V   # Please use setPadding(int, int, int, int), setPaddingRelative(int, int, int, int), or any of the padding XML attributes.
    Landroid/view/View;->mAnimator:Landroid/view/ViewPropertyAnimator;   # False Positive
    Landroid/view/View;->mAttachInfo:Landroid/view/View$AttachInfo;
    Landroid/view/View;->mBottom:I
    Landroid/view/View;->mHasPerformedLongPress:Z   # False Positive
    Landroid/view/View;->mLayoutParams:Landroid/view/ViewGroup$LayoutParams;   # Users should rely on the getter / setter. The setter additionally guarantees internal state correctness.
    Landroid/view/View;->mLeft:I
    Landroid/view/View;->mMinHeight:I
    Landroid/view/View;->mMinWidth:I
    Landroid/view/View;->mParent:Landroid/view/ViewParent;
    Landroid/view/View;->mPrivateFlags:I
    Landroid/view/View;->mPrivateFlags2:I
    Landroid/view/View;->mPrivateFlags3:I
    Landroid/view/View;->mRight:I
    Landroid/view/View;->mScrollX:I   # Please use getScrollX(), getScrollY(), setScrollX(int), setScrollY(int) instead
    Landroid/view/View;->mScrollY:I   # Please use getScrollX(), getScrollY(), setScrollX(int), setScrollY(int) instead
    Landroid/view/View;->mTop:I
    Landroid/view/View;->mViewFlags:I   # Directly use the now public View.setTransitionVisibility() instead of reflecting on the field
    Landroid/view/View;->setAlphaNoInvalidation(F)Z   # N/A
    Landroid/view/View;->setFlags(II)V   # False Positive
    Landroid/view/View;->setFrame(IIII)Z   # Use setLeftTopRightBottom() instead. Overriding of setFrame is not a recommended approach for custom ViewGroups. Developers can always add their logic into onSizeChanged() callback.
    Landroid/view/View;->startActivityForResult(Landroid/content/Intent;I)V   # False Positive
    Landroid/view/ViewConfiguration;->sHasPermanentMenuKey:Z
    Landroid/view/ViewGroup;->FLAG_DISALLOW_INTERCEPT:I   # Set this flag indirectly using the requestDisallowInterceptTouchEvent method instead.
    Landroid/view/ViewGroup;->FLAG_SUPPORT_STATIC_TRANSFORMATIONS:I   # Use the setStaticTransformationsEnabled setter method instead.
    Landroid/view/ViewGroup;->FLAG_USE_CHILD_DRAWING_ORDER:I   # There is already a setter called setChildrenDrawingOrderEnabled and getter called isChildrenDrawingOrderEnabled.
    Landroid/view/ViewGroup;->mChildren:[Landroid/view/View;
    Landroid/view/ViewGroup;->mChildrenCount:I
    Landroid/view/ViewGroup;->mFocused:Landroid/view/View;   # False Positive
    Landroid/view/ViewGroup;->mGroupFlags:I
    Landroid/view/ViewGroup;->mOnHierarchyChangeListener:Landroid/view/ViewGroup$OnHierarchyChangeListener;   # Use the setOnHierarchyChangeListener setter method instead to provide listener implementation.
    Landroid/view/Window;->mWindowManager:Landroid/view/WindowManager;   # False Positive
    Landroid/view/Window;->shouldCloseOnTouch(Landroid/content/Context;Landroid/view/MotionEvent;)Z   # False Positive
    Landroid/view/WindowManagerGlobal;->peekWindowSession()Landroid/view/IWindowSession;   # False Positive
    Landroid/view/WindowManagerGlobal;->trimMemory(I)V
    Landroid/webkit/ConsoleMessage;->mLevel:Landroid/webkit/ConsoleMessage$MessageLevel;   # False Positive
    Landroid/webkit/ConsoleMessage;->mLineNumber:I   # False Positive
    Landroid/webkit/ConsoleMessage;->mMessage:Ljava/lang/String;   # False Positive
    Landroid/webkit/ConsoleMessage;->mSourceId:Ljava/lang/String;   # False Positive
    Landroid/widget/AbsListView$FlingRunnable;->endFling()V   # AbsListView#smoothScrollBy(0,0) can be used instead to stop a fling/scroll early
    Landroid/widget/AbsListView$FlingRunnable;->start(I)V   # Developers can use AbsListView#fling(int) instead
    Landroid/widget/AbsListView$LayoutParams;->viewType:I   # False Positive
    Landroid/widget/AbsListView;->mActivePointerId:I   # False Positive
    Landroid/widget/AbsListView;->mEdgeGlowBottom:Landroid/widget/EdgeEffect;   # Use new AbsListView APIs for set(Top|Bottom)EdgeEffectColor / get(Top|Bottom)EdgeEffectColor
    Landroid/widget/AbsListView;->mEdgeGlowTop:Landroid/widget/EdgeEffect;   # Use new AbsListView APIs for set(Top|Bottom)EdgeEffectColor / get(Top|Bottom)EdgeEffectColor
    Landroid/widget/AbsListView;->mFastScroll:Landroid/widget/FastScroller;   # RecyclerView
    Landroid/widget/AbsListView;->mFlingRunnable:Landroid/widget/AbsListView$FlingRunnable;   # AbsListView#smoothScrollBy(0,0) can be used instead to stop a fling/scroll early
    Landroid/widget/AbsListView;->mMaximumVelocity:I
    Landroid/widget/AbsListView;->mOnScrollListener:Landroid/widget/AbsListView$OnScrollListener;
    Landroid/widget/AbsListView;->mOverflingDistance:I
    Landroid/widget/AbsListView;->mRecycler:Landroid/widget/AbsListView$RecycleBin;   # Use RecyclerView
    Landroid/widget/AbsListView;->mSelector:Landroid/graphics/drawable/Drawable;   # False Positive
    Landroid/widget/AbsListView;->mSelectorPosition:I
    Landroid/widget/AbsListView;->mSelectorRect:Landroid/graphics/Rect;   # Developers should use RecyclerView which provides appropriate APIs to have sticky headers.
    Landroid/widget/AbsListView;->mTouchMode:I   # RecyclerView (allow to set custom scroller)
    Landroid/widget/AbsListView;->reportScrollStateChange(I)V   # RecyclerView
    Landroid/widget/AbsListView;->trackMotionScroll(II)Z
    Landroid/widget/AdapterView;->mDataChanged:Z   # For ListViews -> RecyclerView.  For Spinners -> use a custom DataSetObserver to control this field.
    Landroid/widget/AutoCompleteTextView;->doAfterTextChanged()V
    Landroid/widget/AutoCompleteTextView;->doBeforeTextChanged()V
    Landroid/widget/AutoCompleteTextView;->ensureImeVisible(Z)V
    Landroid/widget/AutoCompleteTextView;->isInputMethodNotNeeded()Z
    Landroid/widget/AutoCompleteTextView;->setDropDownAnimationStyle(I)V   # False Positive
    Landroid/widget/EdgeEffect;->mPaint:Landroid/graphics/Paint;
    Landroid/widget/Editor;->mSelectHandleCenter:Landroid/graphics/drawable/Drawable;
    Landroid/widget/Editor;->mSelectHandleLeft:Landroid/graphics/drawable/Drawable;
    Landroid/widget/Editor;->mSelectHandleRight:Landroid/graphics/drawable/Drawable;
    Landroid/widget/Editor;->mShowCursor:J   # This seems to be used in combination with mCursorDrawableRes to set a custom cursor and 'blink' it - developers should now use TextView#setTextCursorDrawable to set a custom cursor - not sure why they would need to handle the blinking themselves anymore.
    Landroid/widget/Gallery;->getCenterOfGallery()I   # False Positive
    Landroid/widget/Gallery;->getCenterOfView(Landroid/view/View;)I   # False Positive
    Landroid/widget/Gallery;->mGestureDetector:Landroid/view/GestureDetector;   # False Positive
    Landroid/widget/Gallery;->mSelectedChild:Landroid/view/View;   # False Positive
    Landroid/widget/GridView;->fillDown(II)Landroid/view/View;
    Landroid/widget/GridView;->fillUp(II)Landroid/view/View;
    Landroid/widget/GridView;->mColumnWidth:I
    Landroid/widget/GridView;->mNumColumns:I
    Landroid/widget/GridView;->mRequestedNumColumns:I
    Landroid/widget/HorizontalScrollView;->mEdgeGlowLeft:Landroid/widget/EdgeEffect;   # Use new HorizontalScrollView APIs for set(Left|Right)EdgeEffectColor / get(Left|Right)EdgeEffectColor
    Landroid/widget/HorizontalScrollView;->mEdgeGlowRight:Landroid/widget/EdgeEffect;   # Use new HorizontalScrollView APIs for set(Left|Right)EdgeEffectColor / get(Left|Right)EdgeEffectColor
    Landroid/widget/ImageView;->mDrawMatrix:Landroid/graphics/Matrix;
    Landroid/widget/ImageView;->mMaxHeight:I
    Landroid/widget/ImageView;->mMaxWidth:I
    Landroid/widget/LinearLayout;->mGravity:I
    Landroid/widget/ListView;->correctTooHigh(I)V   # False Positive
    Landroid/widget/ListView;->correctTooLow(I)V   # False Positive
    Landroid/widget/ListView;->fillDown(II)Landroid/view/View;
    Landroid/widget/ListView;->fillSpecific(II)Landroid/view/View;
    Landroid/widget/ListView;->fillUp(II)Landroid/view/View;
    Landroid/widget/ListView;->mDividerHeight:I   # False Positive
    Landroid/widget/ListView;->measureHeightOfChildren(IIIII)I   # False Positive
    Landroid/widget/MediaController;->mCurrentTime:Landroid/widget/TextView;   # False Positive
    Landroid/widget/MediaController;->mEndTime:Landroid/widget/TextView;   # False Positive
    Landroid/widget/MediaController;->mNextButton:Landroid/widget/ImageButton;   # False Positive
    Landroid/widget/MediaController;->mPrevButton:Landroid/widget/ImageButton;   # False Positive
    Landroid/widget/NumberPicker;->mSelectionDivider:Landroid/graphics/drawable/Drawable;
    Landroid/widget/NumberPicker;->mSelectionDividerHeight:I
    Landroid/widget/NumberPicker;->mSelectorWheelPaint:Landroid/graphics/Paint;
    Landroid/widget/PopupWindow;->invokePopup(Landroid/view/WindowManager$LayoutParams;)V
    Landroid/widget/PopupWindow;->mAboveAnchorBackgroundDrawable:Landroid/graphics/drawable/Drawable;   # False Positive
    Landroid/widget/PopupWindow;->mBelowAnchorBackgroundDrawable:Landroid/graphics/drawable/Drawable;   # False Positive
    Landroid/widget/PopupWindow;->mOnScrollChangedListener:Landroid/view/ViewTreeObserver$OnScrollChangedListener;
    Landroid/widget/PopupWindow;->mOverlapAnchor:Z
    Landroid/widget/ProgressBar;->mCurrentDrawable:Landroid/graphics/drawable/Drawable;
    Landroid/widget/ProgressBar;->mDuration:I   # In order to access the duration of the indeterminate animation, please provide a Drawable to setIndeterminateDrawable(Drawable) (or via the indeterminateDrawable xml attribute) that implements Animatable.  Then you have full control over the animation.
    Landroid/widget/ProgressBar;->mIndeterminate:Z
    Landroid/widget/ProgressBar;->mMaxHeight:I
    Landroid/widget/ProgressBar;->mMinHeight:I
    Landroid/widget/ProgressBar;->mMinWidth:I
    Landroid/widget/RelativeLayout;->mGravity:I
    Landroid/widget/RemoteViews$Action;->mergeBehavior()I
    Landroid/widget/RemoteViews$Action;->viewId:I
    Landroid/widget/RemoteViews$BitmapCache;->mBitmaps:Ljava/util/ArrayList;
    Landroid/widget/RemoteViews$BitmapReflectionAction;->bitmap:Landroid/graphics/Bitmap;
    Landroid/widget/RemoteViews$BitmapReflectionAction;->methodName:Ljava/lang/String;
    Landroid/widget/RemoteViews$ReflectionAction;->methodName:Ljava/lang/String;
    Landroid/widget/RemoteViews$ReflectionAction;->value:Ljava/lang/Object;
    Landroid/widget/RemoteViews$SetPendingIntentTemplate;->pendingIntentTemplate:Landroid/app/PendingIntent;
    Landroid/widget/RemoteViews$ViewGroupActionAdd;->mNestedViews:Landroid/widget/RemoteViews;
    Landroid/widget/RemoteViews;->addView(ILandroid/widget/RemoteViews;I)V
    Landroid/widget/RemoteViews;->estimateMemoryUsage()I
    Landroid/widget/RemoteViews;->mActions:Ljava/util/ArrayList;
    Landroid/widget/RemoteViews;->mApplication:Landroid/content/pm/ApplicationInfo;
    Landroid/widget/RemoteViews;->mBitmapCache:Landroid/widget/RemoteViews$BitmapCache;
    Landroid/widget/RemoteViews;->mergeRemoteViews(Landroid/widget/RemoteViews;)V
    Landroid/widget/RemoteViews;->mLayoutId:I
    Landroid/widget/RemoteViews;->mPortrait:Landroid/widget/RemoteViews;
    Landroid/widget/RemoteViews;->setRemoteAdapter(ILjava/util/ArrayList;I)V
    Landroid/widget/ScrollBarDrawable;->mVerticalThumb:Landroid/graphics/drawable/Drawable;
    Landroid/widget/ScrollBarDrawable;->setHorizontalThumbDrawable(Landroid/graphics/drawable/Drawable;)V
    Landroid/widget/ScrollBarDrawable;->setVerticalThumbDrawable(Landroid/graphics/drawable/Drawable;)V
    Landroid/widget/ScrollView;->mChildToScrollTo:Landroid/view/View;
    Landroid/widget/ScrollView;->mEdgeGlowBottom:Landroid/widget/EdgeEffect;   # Use new ScrollView APIs for set(Top|Bottom)EdgeEffectColor / get(Top|Bottom)EdgeEffectColor
    Landroid/widget/ScrollView;->mEdgeGlowTop:Landroid/widget/EdgeEffect;   # Use new ScrollView APIs for set(Top|Bottom)EdgeEffectColor / get(Top|Bottom)EdgeEffectColor
    Landroid/widget/ScrollView;->mMinimumVelocity:I
    Landroid/widget/ScrollView;->mOverflingDistance:I
    Landroid/widget/ScrollView;->mOverscrollDistance:I
    Landroid/widget/SearchView;->onCloseClicked()V   # False Positive
    Landroid/widget/SearchView;->setQuery(Ljava/lang/CharSequence;)V   # False Positive
    Landroid/widget/SimpleAdapter;->mData:Ljava/util/List;   # False Positive
    Landroid/widget/SimpleCursorAdapter;->mFrom:[I   # False Positive
    Landroid/widget/TextView;->getHorizontallyScrolling()Z
    Landroid/widget/TextView;->mCurHintTextColor:I   # False Positive
    Landroid/widget/TextView;->mCursorDrawableRes:I
    Landroid/widget/TextView;->mCurTextColor:I
    Landroid/widget/TextView;->mHorizontallyScrolling:Z
    Landroid/widget/TextView;->mTextSelectHandleLeftRes:I
    Landroid/widget/TextView;->mTextSelectHandleRes:I
    Landroid/widget/TextView;->mTextSelectHandleRightRes:I
    Landroid/widget/TextView;->startMarquee()V   # False Positive
    Landroid/widget/TextView;->startStopMarquee(Z)V   # False Positive
    Landroid/widget/Toast$TN;->mGravity:I
    Landroid/widget/Toast$TN;->mNextView:Landroid/view/View;
    Landroid/widget/Toast$TN;->mParams:Landroid/view/WindowManager$LayoutParams;
    Landroid/widget/Toast$TN;->mView:Landroid/view/View;
    Landroid/widget/Toast$TN;->mY:I
    Landroid/widget/Toast$TN;->show(Landroid/os/IBinder;)V   # False Positive
    Landroid/widget/Toast;->getService()Landroid/app/INotificationManager;
    Landroid/widget/Toast;->mTN:Landroid/widget/Toast$TN;
    Landroid/widget/Toast;->sService:Landroid/app/INotificationManager;
    Landroid/widget/Toolbar;->mNavButtonView:Landroid/widget/ImageButton;   # False Positive
    Landroid/widget/VideoView;->mErrorListener:Landroid/media/MediaPlayer$OnErrorListener;   # False Positive
    Landroid/widget/VideoView;->mSurfaceHolder:Landroid/view/SurfaceHolder;   # False Positive
    Landroid/widget/VideoView;->STATE_IDLE:I   # False Positive
    Lcom/android/internal/net/VpnProfile;->server:Ljava/lang/String;   # False Positive
    Lcom/android/internal/os/AtomicFile;->getBaseFile()Ljava/io/File;   # False Positive
    Lcom/android/internal/R$styleable;->AndroidManifestActivityAlias:[I
    Lcom/android/internal/R$styleable;->AndroidManifestGrantUriPermission:[I
    Lcom/android/internal/R$styleable;->AndroidManifestInstrumentation:[I
    Lcom/android/internal/R$styleable;->AndroidManifestOriginalPackage:[I
    Lcom/android/internal/R$styleable;->AndroidManifestPathPermission:[I
    Lcom/android/internal/R$styleable;->AndroidManifestPermission:[I
    Lcom/android/internal/R$styleable;->AndroidManifestPermissionGroup:[I
    Lcom/android/internal/R$styleable;->AndroidManifestPermissionTree:[I
    Lcom/android/internal/R$styleable;->AndroidManifestProtectedBroadcast:[I
    Lcom/android/internal/R$styleable;->AndroidManifestSupportsScreens:[I
    Lcom/android/internal/R$styleable;->AndroidManifestUsesConfiguration:[I
    Lcom/android/internal/R$styleable;->AndroidManifestUsesFeature:[I
    Lcom/android/internal/R$styleable;->CycleInterpolator:[I
    Lcom/android/internal/R$styleable;->LinearLayout:[I
    Lcom/android/internal/R$styleable;->MenuView:[I
    Lcom/android/internal/R$styleable;->Searchable:[I
    Lcom/android/internal/R$styleable;->SearchableActionKey:[I
    Lcom/android/internal/telephony/GsmAlphabet;->gsm8BitUnpackedToString([BIILjava/lang/String;)Ljava/lang/String;   # False Positive
    Lcom/android/internal/telephony/IPhoneSubInfo$Stub;-><init>()V
    Lcom/android/internal/telephony/ITelephonyRegistry;->notifyCallForwardingChanged(Z)V
    Lcom/android/internal/telephony/ITelephonyRegistry;->notifyCellLocation(Landroid/os/Bundle;)V
    Lcom/android/internal/telephony/ITelephonyRegistry;->notifyDataActivity(I)V
    Lcom/android/internal/telephony/ITelephonyRegistry;->notifyOtaspChanged(I)V
    Lcom/android/internal/telephony/OperatorInfo;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V   # False Positive
    Lcom/android/internal/telephony/SmsMessageBase;->getProtocolIdentifier()I   # False Positive
    Lcom/android/internal/telephony/SmsMessageBase;->getServiceCenterAddress()Ljava/lang/String;   # False Positive
    Lcom/android/internal/telephony/SmsMessageBase;->getStatus()I   # False Positive
    Lcom/android/internal/telephony/SmsMessageBase;->isReplace()Z   # False Positive
    Lcom/android/internal/telephony/SmsMessageBase;->isReplyPathPresent()Z   # False Positive
    Lcom/android/internal/util/AsyncChannel;->cmdToString(I)Ljava/lang/String;   # False Positive
    Lcom/android/internal/util/AsyncChannel;->replyToMessage(Landroid/os/Message;I)V   # False Positive
    Lcom/android/internal/util/JournaledFile;->chooseForRead()Ljava/io/File;   # False Positive
    Lcom/android/internal/util/JournaledFile;->chooseForWrite()Ljava/io/File;   # False Positive
    Lcom/android/internal/util/JournaledFile;->commit()V   # False Positive
    Lcom/android/internal/util/JournaledFile;->rollback()V   # False Positive
    Lcom/android/internal/view/BaseIWindow;-><init>()V
    Lcom/android/internal/view/IInputConnectionWrapper;->mInputConnection:Landroid/view/inputmethod/InputConnection;   # False Positive
    Lcom/android/internal/view/menu/MenuPopupHelper;->setForceShowIcon(Z)V
    Lcom/android/internal/view/menu/MenuPopupHelper;->setForceShowIcon(Z)V   # Use PopupMenu#setForceShowIcon instead of reflection in MenuPopupHelper
    Ljava/lang/Boolean;->value:Z
    Ljava/lang/Byte;->value:B
    Ljava/lang/Character;->value:C
    Ljava/lang/Double;->value:D
    Ljava/lang/Float;->value:F
    Ljava/lang/Integer;->value:I
    Ljava/lang/Long;->value:J
    Ljava/lang/Short;->value:S
    Ljava/net/InetAddress;->isNumeric(Ljava/lang/String;)Z   # android.net.InetAddresses.isNumericAddress(String) - there is a behavioural difference between the original method and its replacement.
    Ljava/net/InetAddress;->parseNumericAddress(Ljava/lang/String;)Ljava/net/InetAddress;   # android.net.InetAddresses.parseNumericAddress(String) - there is a behavioural difference between the original method and its replacement.
    Ljavax/net/ssl/SSLServerSocketFactory;->defaultServerSocketFactory:Ljavax/net/ssl/SSLServerSocketFactory;   # Use getDefault() method instead
    Ljavax/net/ssl/SSLSocketFactory;->defaultSocketFactory:Ljavax/net/ssl/SSLSocketFactory;   # Use getDefault() method instead
    Lorg/apache/http/conn/ssl/SSLSocketFactory;-><init>()V   # False Positive
    Lorg/apache/http/conn/ssl/SSLSocketFactory;->hostnameVerifier:Lorg/apache/http/conn/ssl/X509HostnameVerifier;   # False Positive
    

グレーリスト登録の非 SDK インターフェースのうち、Android Q でホワイトリストに登録されたもの

以下のコードは、Android 9(API レベル 28)でグレーリストに登録されていた非 SDK インターフェースのうち Android Q で Android SDK(ホワイトリスト)に登録された全インターフェースの一覧です。インターフェースは 1 行に 1 つずつ記載しています。

Landroid/app/admin/DevicePolicyManager;->setDefaultSmsApplication(Landroid/content/ComponentName;Ljava/lang/String;)V
    Landroid/app/AppOpsManager;->MODE_FOREGROUND:I
    Landroid/app/AppOpsManager;->startWatchingMode(Ljava/lang/String;Ljava/lang/String;ILandroid/app/AppOpsManager$OnOpChangedListener;)V
    Landroid/app/AppOpsManager;->unsafeCheckOpRaw(Ljava/lang/String;ILjava/lang/String;)I
    Landroid/app/AppOpsManager;->WATCH_FOREGROUND_CHANGES:I
    Landroid/content/Context;->getOpPackageName()Ljava/lang/String;
    Landroid/content/ContextWrapper;->getOpPackageName()Ljava/lang/String;
    Landroid/content/res/Resources;->getFloat(I)F
    Landroid/graphics/drawable/AnimatedVectorDrawable;->getOpticalInsets()Landroid/graphics/Insets;
    Landroid/graphics/drawable/BitmapDrawable;->getOpticalInsets()Landroid/graphics/Insets;
    Landroid/graphics/drawable/DrawableContainer;->getOpticalInsets()Landroid/graphics/Insets;
    Landroid/graphics/drawable/Drawable;->getOpticalInsets()Landroid/graphics/Insets;
    Landroid/graphics/drawable/Drawable;->isProjected()Z
    Landroid/graphics/drawable/DrawableWrapper;->getOpticalInsets()Landroid/graphics/Insets;
    Landroid/graphics/drawable/GradientDrawable;->getOpticalInsets()Landroid/graphics/Insets;
    Landroid/graphics/drawable/InsetDrawable;->getOpticalInsets()Landroid/graphics/Insets;
    Landroid/graphics/drawable/NinePatchDrawable;->getOpticalInsets()Landroid/graphics/Insets;
    Landroid/graphics/drawable/StateListDrawable;->getStateCount()I
    Landroid/graphics/drawable/StateListDrawable;->getStateDrawable(I)Landroid/graphics/drawable/Drawable;
    Landroid/graphics/drawable/StateListDrawable;->getStateSet(I)[I
    Landroid/graphics/drawable/VectorDrawable;->getOpticalInsets()Landroid/graphics/Insets;
    Landroid/graphics/ImageFormat;->Y8:I
    Landroid/graphics/Insets;->bottom:I
    Landroid/graphics/Insets;->left:I
    Landroid/graphics/Insets;->NONE:Landroid/graphics/Insets;
    Landroid/graphics/Insets;->of(IIII)Landroid/graphics/Insets;
    Landroid/graphics/Insets;->of(Landroid/graphics/Rect;)Landroid/graphics/Insets;
    Landroid/graphics/Insets;->right:I
    Landroid/graphics/Insets;->top:I
    Landroid/graphics/Paint;->getTextRunAdvances([CIIIIZ[FI)F
    Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ACQUIRED_GOOD:I
    Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ACQUIRED_IMAGER_DIRTY:I
    Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ACQUIRED_INSUFFICIENT:I
    Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ACQUIRED_PARTIAL:I
    Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ACQUIRED_TOO_FAST:I
    Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ACQUIRED_TOO_SLOW:I
    Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ERROR_CANCELED:I
    Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ERROR_HW_NOT_PRESENT:I
    Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ERROR_HW_UNAVAILABLE:I
    Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ERROR_LOCKOUT:I
    Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ERROR_LOCKOUT_PERMANENT:I
    Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ERROR_NO_BIOMETRICS:I
    Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ERROR_NO_SPACE:I
    Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ERROR_TIMEOUT:I
    Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ERROR_UNABLE_TO_PROCESS:I
    Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ERROR_USER_CANCELED:I
    Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ERROR_VENDOR:I
    Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ACQUIRED_GOOD:I
    Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ACQUIRED_IMAGER_DIRTY:I
    Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ACQUIRED_INSUFFICIENT:I
    Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ACQUIRED_PARTIAL:I
    Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ACQUIRED_TOO_FAST:I
    Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ACQUIRED_TOO_SLOW:I
    Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ERROR_CANCELED:I
    Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ERROR_HW_NOT_PRESENT:I
    Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ERROR_HW_UNAVAILABLE:I
    Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ERROR_LOCKOUT:I
    Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ERROR_LOCKOUT_PERMANENT:I
    Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ERROR_NO_FINGERPRINTS:I
    Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ERROR_NO_SPACE:I
    Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ERROR_TIMEOUT:I
    Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ERROR_UNABLE_TO_PROCESS:I
    Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ERROR_USER_CANCELED:I
    Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ERROR_VENDOR:I
    Landroid/hardware/camera2/CameraCharacteristics$Key;-><init>(Ljava/lang/String;Ljava/lang/Class;)V
    Landroid/hardware/camera2/CaptureRequest$Key;-><init>(Ljava/lang/String;Ljava/lang/Class;)V
    Landroid/hardware/camera2/CaptureResult$Key;-><init>(Ljava/lang/String;Ljava/lang/Class;)V
    Landroid/icu/text/Transliterator;->createFromRules(Ljava/lang/String;Ljava/lang/String;I)Landroid/icu/text/Transliterator;
    Landroid/icu/text/Transliterator;->getInstance(Ljava/lang/String;I)Landroid/icu/text/Transliterator;
    Landroid/icu/text/Transliterator;->getInstance(Ljava/lang/String;)Landroid/icu/text/Transliterator;
    Landroid/icu/text/Transliterator;->transliterate(Landroid/icu/text/Replaceable;Landroid/icu/text/Transliterator$Position;Ljava/lang/String;)V
    Landroid/icu/text/Transliterator;->transliterate(Ljava/lang/String;)Ljava/lang/String;
    Landroid/icu/text/UForwardCharacterIterator;->DONE:I
    Landroid/media/MediaPlayer2$TrackInfo;->getLanguage()Ljava/lang/String;
    Landroid/media/MediaPlayer2$TrackInfo;->getTrackType()I
    Landroid/media/ThumbnailUtils;->createImageThumbnail(Ljava/lang/String;I)Landroid/graphics/Bitmap;
    Landroid/media/tv/TvContract$PreviewProgramColumns;->ASPECT_RATIO_1_1:I
    Landroid/media/tv/TvContract$PreviewProgramColumns;->ASPECT_RATIO_16_9:I
    Landroid/media/tv/TvContract$PreviewProgramColumns;->ASPECT_RATIO_2_3:I
    Landroid/media/tv/TvContract$PreviewProgramColumns;->ASPECT_RATIO_3_2:I
    Landroid/media/tv/TvContract$PreviewProgramColumns;->ASPECT_RATIO_4_3:I
    Landroid/media/tv/TvContract$PreviewProgramColumns;->AVAILABILITY_AVAILABLE:I
    Landroid/media/tv/TvContract$PreviewProgramColumns;->AVAILABILITY_FREE_WITH_SUBSCRIPTION:I
    Landroid/media/tv/TvContract$PreviewProgramColumns;->AVAILABILITY_PAID_CONTENT:I
    Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_AUTHOR:Ljava/lang/String;
    Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_AVAILABILITY:Ljava/lang/String;
    Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_BROWSABLE:Ljava/lang/String;
    Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_CONTENT_ID:Ljava/lang/String;
    Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_DURATION_MILLIS:Ljava/lang/String;
    Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_INTENT_URI:Ljava/lang/String;
    Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_INTERACTION_COUNT:Ljava/lang/String;
    Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_INTERACTION_TYPE:Ljava/lang/String;
    Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_INTERNAL_PROVIDER_ID:Ljava/lang/String;
    Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_ITEM_COUNT:Ljava/lang/String;
    Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_LAST_PLAYBACK_POSITION_MILLIS:Ljava/lang/String;
    Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_LIVE:Ljava/lang/String;
    Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_LOGO_URI:Ljava/lang/String;
    Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_OFFER_PRICE:Ljava/lang/String;
    Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_POSTER_ART_ASPECT_RATIO:Ljava/lang/String;
    Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_PREVIEW_VIDEO_URI:Ljava/lang/String;
    Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_RELEASE_DATE:Ljava/lang/String;
    Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_STARTING_PRICE:Ljava/lang/String;
    Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_THUMBNAIL_ASPECT_RATIO:Ljava/lang/String;
    Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_TRANSIENT:Ljava/lang/String;
    Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_TYPE:Ljava/lang/String;
    Landroid/media/tv/TvContract$PreviewProgramColumns;->INTERACTION_TYPE_FANS:I
    Landroid/media/tv/TvContract$PreviewProgramColumns;->INTERACTION_TYPE_FOLLOWERS:I
    Landroid/media/tv/TvContract$PreviewProgramColumns;->INTERACTION_TYPE_LIKES:I
    Landroid/media/tv/TvContract$PreviewProgramColumns;->INTERACTION_TYPE_LISTENS:I
    Landroid/media/tv/TvContract$PreviewProgramColumns;->INTERACTION_TYPE_THUMBS:I
    Landroid/media/tv/TvContract$PreviewProgramColumns;->INTERACTION_TYPE_VIEWERS:I
    Landroid/media/tv/TvContract$PreviewProgramColumns;->INTERACTION_TYPE_VIEWS:I
    Landroid/media/tv/TvContract$PreviewProgramColumns;->TYPE_ALBUM:I
    Landroid/media/tv/TvContract$PreviewProgramColumns;->TYPE_ARTIST:I
    Landroid/media/tv/TvContract$PreviewProgramColumns;->TYPE_CHANNEL:I
    Landroid/media/tv/TvContract$PreviewProgramColumns;->TYPE_CLIP:I
    Landroid/media/tv/TvContract$PreviewProgramColumns;->TYPE_EVENT:I
    Landroid/media/tv/TvContract$PreviewProgramColumns;->TYPE_MOVIE:I
    Landroid/media/tv/TvContract$PreviewProgramColumns;->TYPE_PLAYLIST:I
    Landroid/media/tv/TvContract$PreviewProgramColumns;->TYPE_STATION:I
    Landroid/media/tv/TvContract$PreviewProgramColumns;->TYPE_TRACK:I
    Landroid/media/tv/TvContract$PreviewProgramColumns;->TYPE_TV_EPISODE:I
    Landroid/media/tv/TvContract$PreviewProgramColumns;->TYPE_TV_SEASON:I
    Landroid/media/tv/TvContract$PreviewProgramColumns;->TYPE_TV_SERIES:I
    Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_AUDIO_LANGUAGE:Ljava/lang/String;
    Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_CANONICAL_GENRE:Ljava/lang/String;
    Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_CONTENT_RATING:Ljava/lang/String;
    Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_EPISODE_DISPLAY_NUMBER:Ljava/lang/String;
    Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_EPISODE_TITLE:Ljava/lang/String;
    Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_INTERNAL_PROVIDER_DATA:Ljava/lang/String;
    Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_INTERNAL_PROVIDER_FLAG1:Ljava/lang/String;
    Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_INTERNAL_PROVIDER_FLAG2:Ljava/lang/String;
    Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_INTERNAL_PROVIDER_FLAG3:Ljava/lang/String;
    Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_INTERNAL_PROVIDER_FLAG4:Ljava/lang/String;
    Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_LONG_DESCRIPTION:Ljava/lang/String;
    Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_POSTER_ART_URI:Ljava/lang/String;
    Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_REVIEW_RATING:Ljava/lang/String;
    Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_REVIEW_RATING_STYLE:Ljava/lang/String;
    Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_SEARCHABLE:Ljava/lang/String;
    Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_SEASON_DISPLAY_NUMBER:Ljava/lang/String;
    Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_SEASON_TITLE:Ljava/lang/String;
    Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_SHORT_DESCRIPTION:Ljava/lang/String;
    Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_THUMBNAIL_URI:Ljava/lang/String;
    Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_TITLE:Ljava/lang/String;
    Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_VERSION_NUMBER:Ljava/lang/String;
    Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_VIDEO_HEIGHT:Ljava/lang/String;
    Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_VIDEO_WIDTH:Ljava/lang/String;
    Landroid/media/tv/TvContract$ProgramColumns;->REVIEW_RATING_STYLE_PERCENTAGE:I
    Landroid/media/tv/TvContract$ProgramColumns;->REVIEW_RATING_STYLE_STARS:I
    Landroid/media/tv/TvContract$ProgramColumns;->REVIEW_RATING_STYLE_THUMBS_UP_DOWN:I
    Landroid/net/LinkProperties;->addRoute(Landroid/net/RouteInfo;)Z
    Landroid/net/LinkProperties;->clear()V
    Landroid/net/LinkProperties;->getMtu()I
    Landroid/net/LinkProperties;->setDnsServers(Ljava/util/Collection;)V
    Landroid/net/LinkProperties;->setDomains(Ljava/lang/String;)V
    Landroid/net/LinkProperties;->setHttpProxy(Landroid/net/ProxyInfo;)V
    Landroid/net/LinkProperties;->setInterfaceName(Ljava/lang/String;)V
    Landroid/net/LinkProperties;->setLinkAddresses(Ljava/util/Collection;)V
    Landroid/net/LinkProperties;->setMtu(I)V
    Landroid/net/NetworkCapabilities;->getSignalStrength()I
    Landroid/net/RouteInfo;->hasGateway()Z
    Landroid/os/Handler;->hasCallbacks(Ljava/lang/Runnable;)Z
    Landroid/os/Parcel;->readParcelableList(Ljava/util/List;Ljava/lang/ClassLoader;)Ljava/util/List;
    Landroid/os/Parcel;->writeParcelableList(Ljava/util/List;I)V
    Landroid/os/Process;->BLUETOOTH_UID:I
    Landroid/os/Process;->ROOT_UID:I
    Landroid/os/Process;->SHELL_UID:I
    Landroid/provider/ContactsContract$ContactCounts;->EXTRA_ADDRESS_BOOK_INDEX_COUNTS:Ljava/lang/String;
    Landroid/provider/ContactsContract$ContactCounts;->EXTRA_ADDRESS_BOOK_INDEX:Ljava/lang/String;
    Landroid/provider/ContactsContract$ContactCounts;->EXTRA_ADDRESS_BOOK_INDEX_TITLES:Ljava/lang/String;
    Landroid/service/notification/StatusBarNotification;->getOpPkg()Ljava/lang/String;
    Landroid/service/notification/StatusBarNotification;->getUid()I
    Landroid/system/Os;->bind(Ljava/io/FileDescriptor;Ljava/net/SocketAddress;)V
    Landroid/system/Os;->connect(Ljava/io/FileDescriptor;Ljava/net/SocketAddress;)V
    Landroid/system/OsConstants;->AF_NETLINK:I
    Landroid/system/OsConstants;->AF_PACKET:I
    Landroid/system/OsConstants;->ARPHRD_ETHER:I
    Landroid/system/OsConstants;->ETH_P_ALL:I
    Landroid/system/OsConstants;->ETH_P_ARP:I
    Landroid/system/OsConstants;->ETH_P_IP:I
    Landroid/system/OsConstants;->ETH_P_IPV6:I
    Landroid/system/OsConstants;->ICMP6_ECHO_REPLY:I
    Landroid/system/OsConstants;->ICMP6_ECHO_REQUEST:I
    Landroid/system/OsConstants;->ICMP_ECHO:I
    Landroid/system/OsConstants;->ICMP_ECHOREPLY:I
    Landroid/system/OsConstants;->NETLINK_ROUTE:I
    Landroid/system/OsConstants;->RTMGRP_NEIGH:I
    Landroid/system/Os;->sendto(Ljava/io/FileDescriptor;[BIIILjava/net/SocketAddress;)I
    Landroid/system/Os;->setsockoptTimeval(Ljava/io/FileDescriptor;IILandroid/system/StructTimeval;)V
    Landroid/system/StructTimeval;->fromMillis(J)Landroid/system/StructTimeval;
    Landroid/telecom/TelecomManager;->getSystemDialerPackage()Ljava/lang/String;
    Landroid/telecom/TelecomManager;->getUserSelectedOutgoingPhoneAccount()Landroid/telecom/PhoneAccountHandle;
    Landroid/telecom/VideoProfile$CameraCapabilities;-><init>(IIZF)V
    Landroid/telephony/SubscriptionManager;->DEFAULT_SUBSCRIPTION_ID:I
    Landroid/telephony/SubscriptionManager;->getSlotIndex(I)I
    Landroid/telephony/SubscriptionManager;->isValidSubscriptionId(I)Z
    Landroid/text/style/SuggestionSpan;->getUnderlineColor()I
    Landroid/text/TextPaint;->underlineColor:I
    Landroid/text/TextPaint;->underlineThickness:F
    Landroid/util/ArrayMap;->indexOfValue(Ljava/lang/Object;)I
    Landroid/util/ArraySet;-><init>(Ljava/util/Collection;)V
    Landroid/view/InputDevice;->isExternal()Z
    Landroid/view/SurfaceControl$Transaction;->apply()V
    Landroid/view/SurfaceControl$Transaction;-><init>()V
    Landroid/view/SurfaceControl$Transaction;->setAlpha(Landroid/view/SurfaceControl;F)Landroid/view/SurfaceControl$Transaction;
    Landroid/view/SurfaceControl$Transaction;->setLayer(Landroid/view/SurfaceControl;I)Landroid/view/SurfaceControl$Transaction;
    Landroid/view/View;->getAccessibilityDelegate()Landroid/view/View$AccessibilityDelegate;
    Landroid/view/View;->getLocationInSurface([I)V
    Landroid/view/View;->getTransitionAlpha()F
    Landroid/view/ViewGroup;->suppressLayout(Z)V
    Landroid/view/View;->setAnimationMatrix(Landroid/graphics/Matrix;)V
    Landroid/view/View;->setLeftTopRightBottom(IIII)V
    Landroid/view/View;->setTransitionAlpha(F)V
    Landroid/view/View;->transformMatrixToGlobal(Landroid/graphics/Matrix;)V
    Landroid/view/View;->transformMatrixToLocal(Landroid/graphics/Matrix;)V
    Landroid/view/WindowInsets;->inset(IIII)Landroid/view/WindowInsets;
    Landroid/widget/ImageView;->animateTransform(Landroid/graphics/Matrix;)V
    Landroid/widget/PopupWindow;->setClipToScreenEnabled(Z)V
    Landroid/widget/PopupWindow;->setEpicenterBounds(Landroid/graphics/Rect;)V
    Landroid/widget/PopupWindow;->setLayoutInScreenEnabled(Z)V
    Landroid/widget/PopupWindow;->setTouchModal(Z)V
    Landroid/widget/TextView;->getTextDirectionHeuristic()Landroid/text/TextDirectionHeuristic;
    Landroid/widget/TextView;->isSingleLine()Z
    Lcom/android/org/conscrypt/AbstractConscryptSocket;->getApplicationProtocol()Ljava/lang/String;
    Lcom/android/org/conscrypt/AbstractConscryptSocket;->getHandshakeApplicationProtocol()Ljava/lang/String;
    Ljava/util/concurrent/ConcurrentHashMap$BaseIterator;->hasMoreElements()Z
    Ljava/util/HashMap$HashIterator;->hasNext()Z
    Ljava/util/HashMap$HashIterator;->remove()V
    Ljava/util/LinkedHashMap$LinkedHashIterator;->hasNext()Z
    Ljava/util/zip/ZipConstants;->CENATT:I
    Ljava/util/zip/ZipConstants;->CENATX:I
    Ljava/util/zip/ZipConstants;->CENCOM:I
    Ljava/util/zip/ZipConstants;->CENCRC:I
    Ljava/util/zip/ZipConstants;->CENDSK:I
    Ljava/util/zip/ZipConstants;->CENEXT:I
    Ljava/util/zip/ZipConstants;->CENFLG:I
    Ljava/util/zip/ZipConstants;->CENHDR:I
    Ljava/util/zip/ZipConstants;->CENHOW:I
    Ljava/util/zip/ZipConstants;->CENLEN:I
    Ljava/util/zip/ZipConstants;->CENNAM:I
    Ljava/util/zip/ZipConstants;->CENOFF:I
    Ljava/util/zip/ZipConstants;->CENSIG:J
    Ljava/util/zip/ZipConstants;->CENSIZ:I
    Ljava/util/zip/ZipConstants;->CENTIM:I
    Ljava/util/zip/ZipConstants;->CENVEM:I
    Ljava/util/zip/ZipConstants;->CENVER:I
    Ljava/util/zip/ZipConstants;->ENDCOM:I
    Ljava/util/zip/ZipConstants;->ENDHDR:I
    Ljava/util/zip/ZipConstants;->ENDOFF:I
    Ljava/util/zip/ZipConstants;->ENDSIG:J
    Ljava/util/zip/ZipConstants;->ENDSIZ:I
    Ljava/util/zip/ZipConstants;->ENDSUB:I
    Ljava/util/zip/ZipConstants;->ENDTOT:I
    Ljava/util/zip/ZipConstants;->EXTCRC:I
    Ljava/util/zip/ZipConstants;->EXTHDR:I
    Ljava/util/zip/ZipConstants;->EXTLEN:I
    Ljava/util/zip/ZipConstants;->EXTSIG:J
    Ljava/util/zip/ZipConstants;->EXTSIZ:I
    Ljava/util/zip/ZipConstants;->LOCCRC:I
    Ljava/util/zip/ZipConstants;->LOCEXT:I
    Ljava/util/zip/ZipConstants;->LOCFLG:I
    Ljava/util/zip/ZipConstants;->LOCHDR:I
    Ljava/util/zip/ZipConstants;->LOCHOW:I
    Ljava/util/zip/ZipConstants;->LOCLEN:I
    Ljava/util/zip/ZipConstants;->LOCNAM:I
    Ljava/util/zip/ZipConstants;->LOCSIG:J
    Ljava/util/zip/ZipConstants;->LOCSIZ:I
    Ljava/util/zip/ZipConstants;->LOCTIM:I
    Ljava/util/zip/ZipConstants;->LOCVER:I