【问题标题】:Copying android .apk to another .apk file through java code and over-ride its assets files?通过java代码将android .apk复制到另一个.apk文件并覆盖其资产文件?
【发布时间】:2013-03-09 02:25:36
【问题描述】:

是否可以通过复制现有的 .apk 文件并修改其 assets 文件夹来创建 .apk 文件?我在 assets 文件夹中的文件中有一些信息,其中包含用户要连接的服务器 ip 和端口。用户来自不同的地区,必须通过不同的服务器进行连接。谁能告诉我如何实现这个?

【问题讨论】:

  • 拥有多个资产文件,并根据用户所在的地区,使用适当的服务器 IP 和端口。不要继续为每个其他区域修改 apk。
  • 或者您不能将一些具有已知名称的属性文件存储到已知的外部位置并从中读取吗?
  • 其实是图书馆用户的图书馆应用。用户必须连接到特定的库服务器。我如何知道他必须在应用程序级别连接哪个库服务器?也就是说,我如何知道要为服务器 ip 和端口读取哪个属性文件?
  • 这是完整的场景:我有一个带有数据库的公共服务器,其中包含一个唯一的主键以及可以使用 android 应用程序的用户信息(用户名、密码等)。我只想在用户第一次启动应用程序时获取该主键,以便我可以从数据库中获取用户名密码和其他信息。
  • 应用程序第一次运行时,您应该让应用程序连接到“调度程序服务器”并进行身份验证。 “调度服务器”然后可以查看公共数据库,检查身份验证并返回指向用户区域的正确服务器的 URL。该应用可以将该 URL 存储在共享首选项中,并始终连接到特定的区域服务器。

标签: android apk assets android-assets


【解决方案1】:

我添加了一条评论,其中包含我针对此问题推荐的解决方案。但是,这里是您问题的答案:

当然,您可以解压 APK,换出资产,然后从中创建一个新的 APK。但是,您需要使用正确的密钥再次签署 APK。

如果您自己构建应用,您可以构建多个 APK,每个 APK 包含不同的资产文件。但是,您必须手动分发这些 APK(即:它们不能上传到 Google Play),因为它们每个都具有相同的包名称,并且您不能在应用商店中拥有多个具有相同包名称的应用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多