【问题标题】:Android build differences eclipse versus antAndroid 构建差异 eclipse 与 ant
【发布时间】:2014-02-14 10:59:30
【问题描述】:

这个话题可能已经讨论过很长了,但到目前为止我还没有找到我的问题的答案,即:

eclipse插件和ant产生的apk之间是否存在结构、代码或其他方面的差异?

我有 2 个环境在相同的 JDK 版本和相同的 Android SDK 版本上运行 - 基本上是最新的。

相同的代码在两种环境下都能成功编译,一种是使用eclipse的dev环境,另一种是使用ant的prod环境。 两种环境都使用调试密钥对 apk 进行签名。

然而,奇怪的是,ant生成的apk的性能远低于eclipse生成的apk的性能。

如果能帮助我找出 ant 生成的 apk 构建中可能缺少的内容,我将不胜感激。 非常感谢任何帮助。

编辑于 14.02.2014 - 回应 Stehpan。添加了代码 sn -p 嗨斯蒂芬 该应用程序使用 AES 加密大约 20 个 15-40 个字符的字符串值,并将其存储在共享首选项中。 ant 生成的应用程序大约需要 20 秒才能完成,而 eclipse 生成的应用程序完成得非常快。

这是进行加密的方法:

    public static final String encrypt(String value, char[] passPhrase){
    if(value != null){
        try{
            SecretKeySpec skeySpec = new SecretKeySpec(SecureCrypto.generateSecretKey(passPhrase).getEncoded(), ENC_ALGORITHM);
            Cipher cipher = Cipher.getInstance(ENC_ALGORITHM);
            cipher.init(Cipher.ENCRYPT_MODE, skeySpec);
            value = Base64.encodeToString(cipher.doFinal(value.getBytes("utf-8")), Base64.NO_WRAP);
        }catch(Throwable th){
            Environment.logError(Environment.APPLICATION_LOG_TAG, th);
        }
    }

    return value;
}

【问题讨论】:

  • 重新阅读您的问题,我想我可能误解了它。您的意思是 apk 的性能较慢,还是您的意思是打包/编译/构建过程的性能较慢?究竟表现什么?这会在您第二次启动每个 apk 时发生吗?还是第一次?
  • 嗨斯蒂芬,应用程序的性能较慢。 ant 构建的应用程序的初始启动大约需要 20 秒,而 eclipse 生成的应用程序启动起来却轻而易举......
  • 再一次,这是否会在您第二次启动每个 apk 时发生?因为有一些事情只在应用程序第一次在设备上运行时完成,而不是第二次。
  • 应用程序在每次启动时设置一些加密参数 - 使用 AES 加密 50-ish 字符串值(每个 15-40 个字符)并存储在共享首选项中。在 ant 生成的应用程序中,该 sn-p 代码需要 20 多秒。
  • 嗨斯蒂芬,我已经编辑了我的原始问题并添加了一个代码 sn-p。谢谢

标签: android eclipse ant


【解决方案1】:

Eclipse 和使用命令行之间应该没有区别。本质上,Eclipse 使用相同的命令行工具。 Eclipse 用户权限可能最终获得比命令行更高的优先级。我想就是这样。

如果有任何差异,应该是在您的生产 apk 和调试 apk 之间。在生产环境中,您的一些调试代码可能会被剥离、缩小甚至混淆。

【讨论】:

  • 嗨斯蒂芬,应用程序的性能较慢。 ant 构建的应用程序的初始启动大约需要 20 秒,而 eclipse 生成的应用程序启动起来却轻而易举......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-04-30
  • 1970-01-01
  • 1970-01-01
  • 2014-07-23
  • 2015-06-10
  • 1970-01-01
  • 2015-03-20
相关资源
最近更新 更多