2017-03-12 15 views

答えて

0

私が使用しているコードは次のとおりです(this postからのアイデア)。フォーマットはversionName (versionCode)の文字列を返します。

private static String getPackageVersion(XC_LoadPackage.LoadPackageParam lpparam) { 
    try { 
     Class<?> parserCls = XposedHelpers.findClass("android.content.pm.PackageParser", lpparam.classLoader); 
     Object parser = parserCls.newInstance(); 
     File apkPath = new File(lpparam.appInfo.sourceDir); 
     Object pkg = XposedHelpers.callMethod(parser, "parsePackage", apkPath, 0); 
     String versionName = (String)XposedHelpers.getObjectField(pkg, "mVersionName"); 
     int versionCode = XposedHelpers.getIntField(pkg, "mVersionCode"); 
     return String.format("%s (%d)", versionName, versionCode); 
    } catch (Throwable e) { 
     return "(unknown)"; 
    } 
} 
関連する問題