android - 在 android 安装上执行自定义代码

标签 android installation

我有一个维护一些 secret 数据(加密)的 Android 应用程序,我正在尝试处理在我的应用程序更新过程中维护此加密数据的情况。我希望我的应用程序的不同版本具有不同的加密 key ,并且我不希望应用程序的新版本包含每个先前版本的 key 。

我的想法是在应用程序安装时运行一些代码,这将允许重新加密此数据,但我的 android 首先似乎没有提供任何方法来在应用程序安装中执行应用程序代码。其次,无论如何我看不到新安装的应用程序版本会执行以前版本中的代码。

这对我来说似乎并不是一件不合理的事情,有人可以确认 android 不允许这样做并解释原因吗?就解决方案而言,我必须对所有应用程序使用相同的 key ,或者让我的应用程序的新版本通过其他方式重建这些数据......

[还有另一个问题有点相关(链接如下),但情况不同,答案不提供任何引用]

Is there a way to make my Android app run some custom code upon installation?

http://groups.google.com/group/android-framework/browse_thread/thread/0f1617d28e8ff05e

最佳答案

I want different versions of my application to have different encryption keys and I dont want new versions of the application to contain keys for every preceeding version.

为什么?那不会提高您的安全性。您的加密 key 可以在相当短的时间内找到。唯一安全的加密 key 是存在于用户头脑中的 key ,因为它至少需要橡胶软管或水桶才能获得,而这不容易实现自动化。

My idea was to run some code on application install which would allow for re-encryption of this data, but I android firstly doesnt seem to provide any means to execute application code in application install.

正确。我认为您可以通过广播 Intent 收到有关应用程序更新的通知,但绝对不会安装或删除。这是为了防止偷渡式 spy 软件等。

secondly, I dont see anyway for the newly installed version of the application to execute code in the previous version.

当然不是。对于初学者来说,两个版本可能都没有空间。其次,由于它们大部分是同一个包中的相同 Java 类,因此没有什么好的方法可以在同一个虚拟机中同时拥有这两个版本。

This doesnt seem so unreasonable a thing to do for me

欢迎您提出您的意见。

关于android - 在 android 安装上执行自定义代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4461038/

相关文章:

jquery - 移动开发和屏幕尺寸

c# - 如何在没有管理员权限的情况下安装我的 C# 应用程序?

lua - 在 Windows 10 上使用 Torch 运行 Lua(具有有限的管理员权限)

android - 多个外部存储

android - FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS 使内容位于导航栏下方

java - 通过 ID 检索数组的名称

android - Facebook rss feed 不适用于公众

ios - 解决配置文件问题后,iPhone 设备中的应用程序安装失败并丢失设备管理

ubuntu - 运行时无法加载私钥 "knife client list"