ソース コードのない Android 9.0 アプリでは、関連する権限の付与が増加します

1。概要

9.0系ROMの製品開発において、ソースコードを持たないアプリについては、フローティングウィンドウのパーミッションなど、パーミッションの追加が必要なアプリもあるが、アプリはこのパーミッションに該当しないため、デフォルトであり、アプリを解析して PMS にインストールする必要があります
。フローティング ウィンドウのアクセス許可を付与します。

2. 関連するアクセス許可を付与するコア クラスを追加するソース コード アプリがない

     frameworks/base/core/java/android/content/pm/PackageParser.java
     frameworks/base/core/java/android/content/pm/PackageManager.java

3. ソース コードを使用せずにアプリに関連する権限を付与するコア機能の分析と実装
3.1 PackageManager.java がアプリの解析時に関連するメソッドを呼び出す

pms の管理、解析、およびインストール アプリでは、PackageManage の getPackageArchiveInfo() によって実現されます。

       public PackageInfo getPackageArchiveInfo(@NonNull String archiveFilePath,
                @PackageInfoFlags int flags) {
            final PackageParser parser = new PackageParser();
            parser.setCallback(new PackageParser.CallbackImpl(this));
            final File apkFile = new File(archiveFilePath);
            try {
                if ((flags & (MATCH_DIRECT_BOOT_UNAWARE | MATCH_DIRECT_BOOT_AWA

おすすめ

転載: blog.csdn.net/baidu_41666295/article/details/130466405