【问题标题】:Android install apk programmaticallyAndroid以编程方式安装apk
【发布时间】:2011-06-13 17:25:51
【问题描述】:

是否可以在后台以编程方式安装 apk,还是用户必须接受安装。

我的情况是我希望我的员工都安装相同的应用程序集。

他们当然可以自己安装应用程序,但我希望他们都至少安装一些应用程序。

我说的不是安装市场上的应用程序。

【问题讨论】:

    标签: android installation apk android-install-apk


    【解决方案1】:

    solution in this link

    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory() + "/download/" + "app.apk")),"application/vnd.android.package-archive");
    startActivity(intent);
    

    【讨论】:

    • 你能给我一个简单的想法我如何更新我的应用程序而不把它放在安卓市场上?...我想在我的网站上有更新时自动更新..所以应用程序下载并更新或重新安装自己..
    【解决方案2】:

    让我直截了当地说,你想在大量手机上远程安装一个应用程序并让它自行安装吗?我不认为这是可能的。如果是的话,想想病毒的可能性!

    认为您可以通过电子邮件将 APK 发送到手机并让用户使用 Apps-Installer 之类的工具进行安装,但我听说过这种方法存在问题。不过,对于您的情况,我建议您尝试一下。

    除了将它们投放市场之外,我能看到的唯一另一种选择是手动收集您想要使用的所有手机,然后通过 ADB 手动将其放置在每部手机上,但这将是一个巨大的 em> 疼痛。

    【讨论】:

    • 好吧,但不完全是,手机上会安装一个应用程序;说一个名为 ApplicationInstaller 的应用程序。此应用程序将查看数据库(远程)以查看是否有要安装的新应用程序。如果有要安装的新应用程序,ApplicationInstaller 将以编程方式安装该应用程序。就是这个想法。
    • @Felix:我认为这是可能的,只是没有为每个应用明确授予用户权限。
    • 是的,我希望如此。它会定义。构建令人兴奋的系统(我已经完成了大部分部分,除了安装应用程序)
    • @Felix:查找 Aptoide。这是一个开源应用程序安装程序。也许他们的代码可以给你你需要的东西。
    • @John 请不要提及道德。这个地方是为了技术。从技术上讲,从技术上讲——当我自己提出新问题时,我已经厌倦了这句话。对不起,如果我误解了。
    【解决方案3】:
    adb install <apk name>
    

    使用上述语句,我们可以将 apk 安装到设备中。有关更多信息 install apk

    【讨论】:

    • 什么?这不只是为了调试器吗?
    • 我认为 Felix 正在尝试让 APK 自动安装。
    【解决方案4】:

    这是一个巨大的安全问题,我认为 Android 不允许这样做!

    至少,我不会允许任何实用程序或服务在不通知我的情况下安装任何应用程序。

    最好的方法是使用命令adb install &lt;apk name&gt; 进行控制台安装。您可以在远程服务器上安装 APK,所有员工都必须安装它们并将控制台输出发送给您。

    【讨论】:

    • 或者你可以雇人为你的员工制作安装程序。它会自动安装预定义的应用程序。但是,用户会获得将要安装哪些应用程序的信息。
    • Android 允许使用 Intent 安装和卸载 APK:*.com/questions/6813322/…
    【解决方案5】:

    更多的要求会很有用。用户是否需要拥有这些应用程序?您希望应用程序可以通过市场进行更新吗?这是我的想法,而不是那些信息......

    不通过市场的问题是他们不会收到更新通知,也不会在市场的“我的应用”列表中看到这些应用。我会重新考虑...这可能不是用户想要的,除非您正在安装例如市场上没有的企业应用程序。

    例如,您可以创建一个“推荐应用”应用。它可以显示您的应用程序列表,并指示已安装的应用程序,并链接到市场安装页面。这当然不会强迫他们安装应用程序,但这实际上是一件更友好的事情。

    也没有什么能阻止您创建自己的市场应用程序。这些工具都在 SDK 中。就我个人而言,作为用户,我不喜欢这样,并且更喜欢在我上面提到的现有市场之上进行更轻量级的集成。

    【讨论】:

    • 好吧,这些应用程序不应该出现在市场上,因为它们是我公司特有的业务。这些应用程序可能是;一种 CRM 应用程序和一个时间管理应用程序。因此,通过市场的选择不是一种选择。更新通知等将是一个不同的挑战。现在我需要能够远程安装应用程序。