Android, method.invoke crashes in SDK 26, Oreo?

前端 未结 2 1580
暗喜
暗喜 2020-12-06 23:37

This is my first post on StackOverflow.

I have used the reflection in my boosting app like below. It works well in sdk<26 but in sdk 26 I get the jav

2条回答
  •  没有蜡笔的小新
    2020-12-07 00:01

    Relplace

    ApplicationInfo ai = context.getPackageManager().getApplicationInfo(packageName, 0);
    StorageStats storageStats = storageStatsManager.queryStatsForUid(ai.storageUuid, getApplicationInfo().uid);
    long cacheSize =storageStats.getCacheBytes();
    long dataSize =storageStats.getDataBytes();
    long apkSize =storageStats.getAppBytes();
    Toast.makeText(context, cacheSize + ",," + dataSize + ",," + apkSize, Toast.LENGTH_LONG).show();
    //long size += info.cacheSize;
    

    with

    ApplicationInfo ai = AppController.getContext().getPackageManager().getApplicationInfo(packageName, 0);
    StorageStats storageStats = storageStatsManager.queryStatsForUid(ai.storageUuid, AppController.getContext().getApplicationInfo().uid);
    long cacheSize = storageStats.getCacheBytes();
    long dataSize = storageStats.getDataBytes();
    long apkSize = storageStats.getAppBytes();
    
    PackageStats packageStats = new PackageStats(packageName);
    packageStats.cacheSize = cacheSize;
    packageStats.dataSize = dataSize;
    packageStats.codeSize = apkSize;
    observer.onGetStatsCompleted(packageStats, true);
    

提交回复
热议问题