安装Android APK没有提示

我们正在编写一个在大屏幕上显示广告的Android应用程序。 我们有一个后台广告客户可以select的广告,所以他们几乎立即更新。 由于会有很多Android机器运行(插入HDMI屏幕),我们应该能够远程更新我们的软件。

情况是这样的:

主应用程序不断运行(除非closures),用户永远不会看到任何Android相关的东西。 我们需要一个更新应用程序来侦听更新并删除主apk,安装一个新的apk。 在更新时,我们将显示“更新,请稍候”的活动,直到新的主apk安装并显示。

我们需要的:

我们需要关于如何实现更新机制而不提示用户在ROOTED DEVICE上的帮助。

我们有什么:

更新应用程序被挂接到启动接收事件中,服务启动(该服务将监听更新,这将由同事很快实施)。 该服务可以启动一个活动,将在更新时提示更新信息。

在更新器活动中

try { Process proc = Runtime.getRuntime().exec(new String[]{"su", "pm install -r /mnt/sdcard/MYFOLDER/testAPK.apk"}); stringBuilder.append(String.valueOf(proc.waitFor())); stringBuilder.append("\n"); } catch (Exception e) { if (e instanceof IOException) { Log.d(TAG, "IOException"); } else if (e instanceof InterruptedException) { Log.d(TAG, "InterruptedException"); } else { e.printStackTrace(); } } 

StringBuilder打印11,但如果我给随机出现的命令做相同的事情..

在清单

 <!-- Permission to start UpdaterService on boot --> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <!-- Install/delete permissions, only granted to system apps --> <uses-permission android:name="android.permission.INSTALL_PACKAGES" /> <uses-permission android:name="android.permission.DELETE_PACKAGES" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

安装软件包和删除软件包是没用的,如果我没有安装我的应用程序作为系统应用程序,我是否正确?

长话短说,没有安装我的testingAPK,我不知道如何解决这个问题。 任何帮助,将不胜感激!

Solutions Collecting From Web of "安装Android APK没有提示"

您可以简单地使用adb install命令来静默安装/更新APK。 示例代码如下

 public static void InstallAPK(String filename){ File file = new File(filename); if(file.exists()){ try { String command; command = "adb install -r " + filename; Process proc = Runtime.getRuntime().exec(new String[] { "su", "-c", command }); proc.waitFor(); } catch (Exception e) { e.printStackTrace(); } } } 

要么

请检查http://paulononaka.wordpress.com/2011/07/02/how-to-install-a-application-in-background-on-android/