インストールされたアプリのサイズ 質問する

インストールされたアプリのサイズ 質問する

インストールされたアプリのサイズを取得する方法を見つけようとしています。
すでに失敗しているもの:
- new File('/data/app/some.apk')- 間違ったサイズを報告します
- PackageManager.getPackageSizeInfo(String packageName, IPackageStatsObserver observer)-結果は@hide不明なものに依存しているIPackageStatsObserverため、リフレクション経由で呼び出すことはできません。

ベストアンサー1

残念ながら、現在いいえ正式方法そうする。しかし、あなたはできる電話をかけるPackageManager隠されていますgetPackageSizeメソッドをインポートする場合PackageStatsそしてIPackageStatsObserverAIDLをプロジェクトに組み込み、スタブを生成します。その後、リフレクションを使用して呼び出すことができます。getPackageSize:

PackageManager pm = getPackageManager();

Method getPackageSizeInfo = pm.getClass().getMethod(
    "getPackageSizeInfo", String.class, IPackageStatsObserver.class);

getPackageSizeInfo.invoke(pm, "com.android.mms",
    new IPackageStatsObserver.Stub() {

        @Override
        public void onGetStatsCompleted(PackageStats pStats, boolean succeeded)
            throws RemoteException {

            Log.i(TAG, "codeSize: " + pStats.codeSize);
        }
    });

それは明らかにビッグハックそして使用しないでください公共アプリケーション用。

おすすめ記事