【问题标题】:Dynamic Apk In AndroidAndroid中的动态Apk
【发布时间】:2012-09-13 22:16:21
【问题描述】:

无论如何要创建动态apk。假设我们有一个主站点,它有很多子域。每个子域都应该有自己的自定义apk,包含他们自己的自定义徽标、新闻等。

除了为每个站点创建单独的 apk 之外,还有什么方法可以创建 apk 吗?

【问题讨论】:

  • Answers in this discussion 可能会给你一些线索。
  • apk 的哪些元素需要是动态的?正如@MadeInChina 建议的那样,maven 或 ant 可以做你想做的事,但可能有更好的方法。
  • 您说“除了创建单个 apk 之外的任何方式来创建 apk” - 您可能是说您想要创建多个不同的图标,但只有一个 apk?
  • @Ben Neil,我认为使用 maven 或 ant,我们可以在运行时创建它。但是还有其他方法吗?

标签: android apk


【解决方案1】:

您可以使用例如 maven 或 ant 通过 java 代码动态编译您的代码。 为此,您需要使您的 Android 项目成为 maven 项目。要使用 maven 编译 Android,我使用 maven-android-plugin。 你可以只运行mvn packagefrom java code 之类的东西,然后等到maven 用你需要的自定义徽标编译你的代码。你将在目标目录中有一个 apk。

【讨论】:

    【解决方案2】:

    为什么要创建自定义 APK?为什么不下载需要定制的内容呢?

    无论如何,您可以使用 sharedUserIdgetResourcesForApplication() (link) 共享来自不同 APK 的资源。您仍然需要将每个 APK 设为 APK。

    来自 Roman Nurik 的一些信息:

    Share files between applications

    如果您的应用使用相同的证书进行签名并且具有相同的 android:sharedUserId 在 manifest 中声明,它们可以共享数据 他们可以读/写彼此的数据目录。他们能 如果您愿意,甚至可以分享一个流程(请参阅android:process)。

    更多类似问题的链接:

    【讨论】:

    【解决方案3】:

    除了为每个站点创建单独的 apk 之外,别无他法。 Apk 文件由 jarsigner 签名,写在documentation:

    签名数据不能更改;如果是,则签名将不再验证为真实。

    还有additionally

    所有申请都必须签名。如果没有签名,系统将不会在模拟器或设备上安装应用程序。

    您可以做的是创建脚本或使用 ant 或 maven 构建具有不同内容的 apk 集。

    【讨论】:

      【解决方案4】:

      用ant或maven构建,然后可以配置logo图标等参数

      【讨论】:

      • 我认为使用ant或maven,我们可以在运行时动态创建它。但是还有其他方法吗?
      • 动态创建可能是最好的方法。但是你可以解码apk,然后你可以用你想要的替换资源。
      猜你喜欢
      • 1970-01-01
      • 2011-06-15
      • 2015-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多