public static File getPackageInstallerStageDir() { return ensureCreated(new File(DATA_DIRECTORY, ".session_dir")); }
public static File getVirtualStorageBaseDir() { File externalFilesRoot = Environment.getExternalStorageDirectory(); if (externalFilesRoot != null) { File vBaseDir = new File(externalFilesRoot, "VirtualXposed"); File vSdcard = new File(vBaseDir, "vsdcard"); return ensureCreated(vSdcard); } return null; }
public static File getVirtualStorageDir(String packageName, int userId) { File virtualStorageBaseDir = getVirtualStorageBaseDir(); // Apps may share sdcard files, we can not separate them by package. if (virtualStorageBaseDir == null) { return null; } File userBase = new File(virtualStorageBaseDir, String.valueOf(userId)); return ensureCreated(userBase); }
public static File getDataAppDirectory() { return ensureCreated(new File(getDataDirectory(), "app")); }
public static File getSystemSecureDirectory() { return ensureCreated(new File(getDataAppDirectory(), "system")); }
public static File getDataAppPackageDirectory(String packageName) { return ensureCreated(new File(getDataAppDirectory(), packageName)); }
public static File getAppLibDirectory(String packageName) { return ensureCreated(new File(getDataAppPackageDirectory(packageName), "lib")); }
public static File getDataUserPackageDirectory(int userId, String packageName) { return ensureCreated(new File(getUserSystemDirectory(userId), packageName)); }
public static File getVirtualPrivateStorageDir(int userId, String packageName) { File file = new File(getVirtualPrivateStorageDir(userId), packageName); return ensureCreated(file); }
public static File getVirtualPrivateStorageDir(int userId) { String base = String.format(Locale.ENGLISH, "%s/Android/data/%s/%s/%d", Environment.getExternalStorageDirectory(), VirtualCore.get().getHostPkg(), "virtual", userId); File file = new File(base); return ensureCreated(file); }
public static File getOdexFile(String packageName) { if (isAndroidO()) { // in Android O, the oatfile is relate with classloader, we must ensure the correct location to avoid repeated load dex. String instructionSet = VMRuntime.getCurrentInstructionSet.call(); File oatDir = ensureCreated(new File(getDataAppPackageDirectory(packageName), "oat" + File.separator + instructionSet)); return new File(oatDir, EncodeUtils.decode("YmFzZS5vZGV4")); // base.odex } else { // return new File(DALVIK_CACHE_DIRECTORY, "data@app@" + packageName + "-1@base.apk@classes.dex"); return new File(DALVIK_CACHE_DIRECTORY, EncodeUtils.decode("ZGF0YUBhcHBA") + packageName + EncodeUtils.decode("LTFAYmFzZS5hcGtAY2xhc3Nlcy5kZXg=")); } }
public static File getPackageInstallerStageDir() { return ensureCreated(new File(DATA_DIRECTORY, ".session_dir")); }
public static File getVirtualStorageBaseDir() { File externalFilesRoot = Environment.getExternalStorageDirectory(); if (externalFilesRoot != null) { File vBaseDir = new File(externalFilesRoot, "VirtualXposed"); File vSdcard = new File(vBaseDir, "vsdcard"); return ensureCreated(vSdcard); } return null; }
public static File getVirtualPrivateStorageDir(int userId, String packageName) { File file = new File(getVirtualPrivateStorageDir(userId), packageName); return ensureCreated(file); }
public static File getVirtualStorageDir(String packageName, int userId) { File virtualStorageBaseDir = getVirtualStorageBaseDir(); // Apps may share sdcard files, we can not separate them by package. if (virtualStorageBaseDir == null) { return null; } File userBase = new File(virtualStorageBaseDir, String.valueOf(userId)); return ensureCreated(userBase); }
public static File getAppLibDirectory(String packageName) { return ensureCreated(new File(getDataAppPackageDirectory(packageName), "lib")); }
public static File getDataAppPackageDirectory(String packageName) { return ensureCreated(new File(getDataAppDirectory(), packageName)); }
public static File getSystemSecureDirectory() { return ensureCreated(new File(getDataAppDirectory(), "system")); }
public static File getVirtualPrivateStorageDir(int userId) { String base = String.format(Locale.ENGLISH, "%s/Android/data/%s/%s/%d", Environment.getExternalStorageDirectory(), VirtualCore.get().getHostPkg(), "virtual", userId); File file = new File(base); return ensureCreated(file); }
public static File getOdexFile(String packageName) { if (isAndroidO()) { // in Android O, the oatfile is relate with classloader, we must ensure the correct location to avoid repeated load dex. String instructionSet = VMRuntime.getCurrentInstructionSet.call(); File oatDir = ensureCreated(new File(getDataAppPackageDirectory(packageName), "oat" + File.separator + instructionSet)); return new File(oatDir, EncodeUtils.decode("YmFzZS5vZGV4")); // base.odex } else { // return new File(DALVIK_CACHE_DIRECTORY, "data@app@" + packageName + "-1@base.apk@classes.dex"); return new File(DALVIK_CACHE_DIRECTORY, EncodeUtils.decode("ZGF0YUBhcHBA") + packageName + EncodeUtils.decode("LTFAYmFzZS5hcGtAY2xhc3Nlcy5kZXg=")); } }