动态Apk在Android中

反正有没有创建动态apk.ie假设我们有一个主站点,它有许多子域。每个子域应该有自己的自定义apk包含自己的自定义徽标,新闻等。

除了为每个站点创建单独的apk之外,它是否可以创建apk?

您可以使用java代码动态编译代码,例如使用maven或ant。 要做到这一点,你需要让你的Android项目成为maven项目。 要使用maven编译Android,我使用maven-android-plugin 。 比你可以运行mvn package或java代码之类的东西 ,等到maven使用你需要的自定义徽标编译代码。 你会在目标目录中有一个apk。

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

无论如何,您可以使用sharedUserIdgetResourcesForApplication() ( 链接 )共享来自不同APK的资源。 你仍然需要制作一个APK。

来自Roman Nurik的一些信息:

在应用程序间共享文件

如果您的应用程序使用相同的证书进行签名并且在清单中声明了相同的android:sharedUserId ,则它们可以共享数据,因为它们可以读取/写入彼此的数据目录。 如果你愿意,他们甚至可以分享一个过程(参见android:process )。

更多类似问题的链接:

  • 在apk之间共享原始资源
  • 你能跨APK分享资源吗? (参见关于getResourcesForApplication的第二个答案)

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

签名数据无法更改; 如果是,签名将不再validation为真实。

另外 :

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

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

使用ant或maven构建它,然后您可以配置诸如徽标图标之类的参数