自动更新Android应用程序

自动更新Android应用程序,android,mobile,auto-update,Android,Mobile,Auto Update,我需要有一个机制,应用程序自动更新自己没有任何用户交互。该应用程序是一个现成的应用程序(非市场)。 更新应在后台进行,无需单击。 我们如何实现这一点?这是不可能的,除非是在根设备上或通过您自己的自定义ROM。在没有用户参与的情况下,应用程序无法安装或更新任何应用程序(他们自己的应用程序或其他人的应用程序)。这是可能的,并且不需要根。您只需要有一个已签名的apk,并在后台执行它 Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDa

我需要有一个机制,应用程序自动更新自己没有任何用户交互。该应用程序是一个现成的应用程序(非市场)。 更新应在后台进行,无需单击。
我们如何实现这一点?

这是不可能的,除非是在根设备上或通过您自己的自定义ROM。在没有用户参与的情况下,应用程序无法安装或更新任何应用程序(他们自己的应用程序或其他人的应用程序)。

这是可能的,并且不需要根。您只需要有一个已签名的apk,并在后台执行它

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(externalStorageDir, dir+ "APP.apk")),"application/vnd.android.package-archive");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);

安装时会提示用户,因为我们应该通知应用程序的权限。

解决了此问题。最终的解决方案是,不植根的手机无法实现这一点。在根手机上,我们可以运行adb脚本。在未安装根目录的手机上,我们可以在后台下载apk并启动安装程序活动,该活动将要求用户单击一次以批准安装apk。

如果“更新”正在修改src或res,则您不能。这种更新基本上卸载以前的版本并安装当前版本。安装当前版本仍会要求用户接受它。我不需要用户交互。可能吗?不可能。用户必须提交他了解应用程序权限并同意安装它。在root手机上也可以做到这一点。你想如何将apk传送到用户手机上?TestFairy是这样做的。。。但绝不是在幕后。还记得@Harsh询问过一个非市场应用程序吗?在TestFairy中,用户需要安装该应用程序。如何在一个有根的手机上安装?是否有相同的代码?能够在根设备上通过su使用adb命令自动更新应用程序。能够在根设备上通过su使用adb命令自动更新应用程序。