手机已经安装的软件但apk被手动删除了、请问有办法能找回apk来吗?
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
可以取得目前安裝應用的APK
public static String backupApplication(Context context,String packageName, String dest) { if (packageName == null || packageName.length() == 0 || dest == null || dest.length() == 0) { return "illegal parameters"; } PackageManager pm = context.getPackageManager(); PackageInfo pi = null; try { pi = pm.getPackageInfo(context.getPackageName(), 0); } catch (NameNotFoundException e1) { e1.printStackTrace(); } // check file /data/app/appId-1.apk exists Log.i("",""+pi.applicationInfo.sourceDir); String apkPath = "/data/app/" + packageName + "-1.apk"; File apkFile = new File(apkPath); if (!apkFile.exists()) { apkFile=new File(pi.applicationInfo.sourceDir); if(!apkFile.exists()){ return apkPath + " doesn't exist!"; } } FileInputStream in; try { in = new FileInputStream(apkFile); } catch (FileNotFoundException e) { e.printStackTrace(); return e.getMessage(); } // create dest folder if necessary int i = dest.lastIndexOf('/'); if (i != -1) { File dirs = new File(dest.substring(0, i)); dirs.mkdirs(); } // do file copy operation byte[] c = new byte[1024]; int slen; FileOutputStream out = null; try { out = new FileOutputStream(dest); while ((slen = in.read(c, 0, c.length)) != -1) out.write(c, 0, slen); } catch (IOException e) { e.printStackTrace(); return e.getMessage(); } finally { if (out != null) try { out.close(); } catch (IOException e) { e.printStackTrace(); } try { in.close(); } catch (IOException e) { e.printStackTrace(); } } return "success"; }
如果確定手機上的apk已經刪除了那麼只能靠工具來還原組裝一個apk出來(apk本身是一個程式和資源的壓縮包,安裝的過程就是一個解壓和註冊的過程)。 你可以試試apk share這個軟體,運行軟體後選擇app然後點backup就會還原apk檔案並放在你的sdcard裡。
可以取得目前安裝應用的APK
如果確定手機上的apk已經刪除了那麼只能靠工具來還原組裝一個apk出來(apk本身是一個程式和資源的壓縮包,安裝的過程就是一個解壓和註冊的過程)。
你可以試試apk share這個軟體,運行軟體後選擇app然後點backup就會還原apk檔案並放在你的sdcard裡。