我知道 apk 以包的名称存储在 /data/app 中(最后是“-1”)。
在非 root 手机上无法列出(ls)/data/app 中包含的文件,但是由于我知道文件名,因此即使没有 root,我也可以将 apk 从 /data/app 复制到 /mnt/sdcard/whereeveriwant/允许。
public static void copyFile(String inputPath, String inputFile, String outputPath) {
InputStream in = null;
OutputStream out = null;
try {
//create output directory if it doesn't exist
File dir = new File (outputPath);
if (!dir.exists()) { dir.mkdirs(); }
in = new FileInputStream(inputPath + inputFile);
out = new FileOutputStream(outputPath + inputFile);
byte[] buffer = new byte[1024];
int read;
while ((read = in.read(buffer)) != -1) {
out.write(buffer, 0, read);
}
in.close();
in = null;
out.flush();
out.close();
out = null;
} catch (FileNotFoundException fnfe1) {
Log.e("copy", fnfe1.getMessage());
} catch (Exception e) {
Log.e("copy", e.getMessage());
}
}
copyFile(
"/data/app/", "com.myawesomeapp.android-1.apk",
Environment.getExternalStorageDirectory() + File.separator + folder + File.separator
);
但是对于某些应用程序(据我所知不是免费应用程序),这种方法不起作用。apk 有不同的名称吗?还是前向锁定?
这是一个研究问题,没有实际用途。