Articles of android install apk

Silent install apk由system app(没有root)编程

我有android的系统级应用程序:sharedUserId =“android.uid.system”(UID:1000)。 设备没有扎根! Manifest中包含INSTALL_PACKAGES权限。 我可以安静地安装下载的* .apk吗?

如何使用Android更新程序脚本安装APK

我正尝试使用Android的更新脚本语言(Edify?)将APK无线安装到我已经控制的embedded式设备上。 这是一个描述语言的链接。 我的第一次尝试是以下几点: package_extract_file("added_files/data/app/test.apk", "/data/app/test.apk"); 这导致test.apk自动安装在/data/data/com.acme.test中,但是/data/data/com.acme.test/lib目录是空的,而它应该包含test.so,一个共享库包含在test.apk中。 (如果我使用“adb install test.apk”手动安装,则会提取库。) 然后,我尝试将APK解压缩到/ data而不是/ data / app,以便操作系统不会自动将其安装到/ data / data中,并且可以尝试使用脚本进行安装: package_extract_file("added_files/data/app/test.apk", "/data/test.apk"); run_program("/system/bin/pm", "install", "/data/test.apk"); 这导致了以下错误: about to run program [/system/bin/pm] with 3 args run_program: execv failed: Exec format error run_program: child exited with status 1 我不知道为什么发生上述错误。 有没有办法安装一个APK,并自动提取共享库? 我可以手动安装库,但我希望避免这种情况。

在Android上升级正在运行的应用程序

Android系统是否应该在运行时升级应用程序? 当我们升级我们的应用程序(通过打开SD卡上的.apk)并且应用程序正在运行时,现有进程停留在升级,直到我们从应用程序pipe理器“强行closures”应用程序才会生效。 但是,应用程序可能处于某种奇怪的状态,并且可能无法响应某些应有的意图。 所以我想知道是否应该重新启动应用程序,如果我们修复这个特殊的状态或者我们是否需要自己处理升级。 请注意,我知道 (或者至less有一些想法)如何以编程方式检测升级。 我想知道的是,如果应用程序处于健全状态,我是应该做还是应该有其他的机制。

Android – 签名密钥过期时会发生什么?

如果签名密钥过期,现有的安全机制是否拒绝安装,还是仅仅意味着新的应用程序无法使用该密钥签名? 我们build议您使用过期25年以上的密钥,Google Play 要求至less2033-10-22到期! 然而,有些人可能希望比安全原因更频繁地更新密钥(摩尔定律,破译的等等)。 如果一个apk的密钥已经过期,是否有任何安装方法(不依赖于开发者重新发布)?

Android:在安装过程中设置共享首选项?

Android会提供什么? 像这样或者我必须检查我的应用程序开始每次“哦,我刚刚安装?我必须现在初始化共享首选项?

拆分Android应用程序分为两部分

我试图了解是否可以将Android应用分成两部分(从一个APK安装)。 我正在研究这个在SD卡上的设备内存和其他部分安装一个部分。 这两部分属于一起,不应该分开安装。 注意:我不仅要分开资源,还要分开活动,所以APK Expansion Files不是解决scheme,因为不提供这样的function。

使用busybox在后台安装apk

我可以在根源设备上使用busybox安装apk吗? 我看到类似的东西,但不起作用 process install; CommandCapture command = new CommandCapture(0, "chmod 777 /data/app"); RootTools.getShell(true).add(command).waitForFinish(); CommandCapture command2 = new CommandCapture(0, "chmod 777 /system/xbin/busybox"); RootTools.getShell(true).add(command2).waitForFinish(); install = Runtime.getRuntime().exec("/system/xbin/busybox install " + Environment.getExternalStorageDirectory() + "/Download/" + "xxx.apk /data/app/xxx.apk");

Android包安装程序 – 如何获得“打开”和“完成”和活动的结果呢?

我的Android应用程序有一个选项来升级到更新的版本,更新的版本APK我把它保留在sdcardpath下。 点击升级选项,我调用下面的方法。 public static void launchInstaller(Activity act, String apkPath) { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(new File(apkPath)), "application/vnd.android.package-archive"); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); act.startActivityForResult(intent, 0); } 我之所以包含FLAG_ACTIVITY_NEW_TASK,是因为在升级之后,我想要“打开”和“完成”选项,如果我不使用这个标志,这些选项不会显示。 当上面的代码启动包安装程序,它有两个select确定和取消,当用户按下取消,我想知道用户取消它。 但是我无法知道,因为onActivityResult被过早地调用。 在阅读以下文章后,我来谈谈这个问题。 Android – startActivityForResult立即触发onActivityResult onActivityResult()提前调用 他们要求我确保我用来启动活动的Intent没有设置FLAG_ACTIVITY_NEW_TASK。 看这里: http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_NEW_TASK 特别要注意的是:“当调用者请求启动活动的结果时,不能使用该标志”。 如果活动作为新任务的一部分启动,则Android将立即使用RESULT_CANCELED调用onActivityResult(),因为一个任务中的活动不能将结果返回给另一个任务,只有同一个任务中的活动才可以这样做。 但在我的情况下,我不能删除FLAG_ACTIVITY_NEW_TASK,因为否则我将无法获得成功升级的“打开”和“完成”选项。 有没有人遇到类似的问题? 请帮助我,因为它让我疯狂。

更改升级后的Android应用程序的软件包名称

在我的Android应用程序升级期间,我改变了软件包名称。 但Android市场不允许上传更改的软件包名称应用程序作为升级。 如果我将应用程序作为新的应用程序上传,用户是否在他/她的设备上有两个应用程序? 我怎样才能确保用户不必再次从头开始下载应用程序,而无需恢复我的软件包名称的更改?

安装应用程序时出错(INSTALL_FAILED_DEXOPT)

我在Android中使用ccr4j API,所以当我运行我的项目时,会抛出如下错误: 安装应用程序时出错(INSTALL_FAILED_DEXOPT) 我也从网上find同样的网站,做了一切尝试, 1.从设备上卸载相同的应用程序。 2.使用擦除用户数据运行模拟器。 但同样的错误来了。 所以有人知道为什么会抛出这种错误?