Android:以编程方式更新apk文件

Android:以编程方式更新apk文件,android,Android,我想以编程方式将设备中已安装的apk文件从url更新为新版本。除了使用application/vnd.android.package-archive再次安装文件外,还有其他方法可以做到这一点吗(因为我更喜欢在没有用户操作的情况下以静默方式完成此操作)除非您具有系统权限。如果可能的话,任何应用程序都可以在你的设备上安装任何东西(包括恶意软件) 除非您具有系统权限,否则不会。如果可能的话,任何应用程序都可以在你的设备上安装任何东西(包括恶意软件) 将当前版本和url保存在远程数据库中。当应用程序在设

我想以编程方式将设备中已安装的apk文件从url更新为新版本。除了使用application/vnd.android.package-archive再次安装文件外,还有其他方法可以做到这一点吗(因为我更喜欢在没有用户操作的情况下以静默方式完成此操作)

除非您具有系统权限。如果可能的话,任何应用程序都可以在你的设备上安装任何东西(包括恶意软件)

除非您具有系统权限,否则不会。如果可能的话,任何应用程序都可以在你的设备上安装任何东西(包括恶意软件)

将当前版本和url保存在远程数据库中。当应用程序在设备中启动时,检查存储在数据库中的应用程序版本和安装的应用程序版本是否相同。如果不同,则从url下载文件。如果不是,则运行当前版本

但是您必须在代码中手动执行这些操作


为此,您还需要在设备中连接internet。

将当前版本和url保存在远程数据库中。当应用程序在设备中启动时,请检查存储在数据库中的应用程序版本和安装的应用程序版本是否相同。如果不同,则从url下载文件。如果不是,则运行当前版本

但是您必须在代码中手动执行这些操作


为此,您还需要在设备中连接internet。

我也这样做了。我在FTP服务器中有我的新apk和新apk的版本号。我正在比较版本号,下载APK并安装它。但在此之前,我正在使用FTP服务器中的校验和检查下载的apk的校验和,以确保正确下载apk


未经用户同意自动安装,我认为这是不可能的。如果你找到了解决办法,请告诉我

我也这么做了。我在FTP服务器中有我的新apk和新apk的版本号。我正在比较版本号,下载APK并安装它。但在此之前,我正在使用FTP服务器中的校验和检查下载的apk的校验和,以确保正确下载apk


未经用户同意自动安装,我认为这是不可能的。如果你找到了解决办法,请告诉我

谢谢。。所以你的意思是每次我想更新软件包时,我都应该显示安卓安装对话框(包含所有需要的权限等)?当我这样做时,它会不断发出警告,需要“替换现有的apk fil,所有用户数据都将被保存”。是否有任何方法可以阻止弹出此警告?如果您的应用程序不在市场上,这是从设备升级的唯一方法。我认为您不能停止或更改确认对话框/消息。@bitsnbytes这些警告的出现是有原因的,不仅仅是为了给用户一个选择。但是,如果应用程序是通过Google Play分发的,用户可以选择允许自动更新不需要新权限的应用程序的新版本。IMHO说,如果Google Play不是一个选项,那么最好让你的用户期望这个对话框是更新周期中的一个正常部分,而不是试图用你自己的方式编写代码。后者可能会在你的应用程序中打开可利用的漏洞。谢谢。。所以你的意思是每次我想更新软件包时,我都应该显示安卓安装对话框(包含所有需要的权限等)?当我这样做时,它会不断发出警告,需要“替换现有的apk fil,所有用户数据都将被保存”。是否有任何方法可以阻止弹出此警告?如果您的应用程序不在市场上,这是从设备升级的唯一方法。我认为您不能停止或更改确认对话框/消息。@bitsnbytes这些警告的出现是有原因的,不仅仅是为了给用户一个选择。但是,如果应用程序是通过Google Play分发的,用户可以选择允许自动更新不需要新权限的应用程序的新版本。IMHO说,如果Google Play不是一个选项,那么最好让你的用户期望这个对话框是更新周期中的一个正常部分,而不是试图用你自己的方式编写代码。后者可能会在你的应用程序中打开可利用的漏洞。