草庐IT

android - Eclipse Export Signed Package 两次添加 drawables 目录,使 apk 大小增加一倍!

coder 2023-12-20 原文

我从 2.1 开始就注意到了这一点。我认为问题出在 Eclipse 导出到 APK 插件或我的设置中的其他地方(尽管我不知道它可能在哪里)。

基本上,我的 APK 大小突然翻了一番!一些调查表明,Eclipse 现在两次包含 drawable 目录(以及 raw、layout 和 xml 目录)。它一次包含在 res 子目录下,一次包含在应用程序的根目录下。

因此,与其采用如下目录结构:

- com
- META-INF
- res
  - drawable
  - layout
  - raw
  - xml
...

我有:

- com
- drawable
- layout
- META-INF
- raw
- res
  - drawable
  - layout
  - raw
  - xml
- values
- values-fr
- xml

有没有人遇到过这种情况?有谁知道为什么会这样?它将我的应用程序大小从 3mb 增加到超过 6mb,这是一个大问题。

我目前的解决方法是使用 eclipse 导出一个未签名的包,从根目录中删除 drawable、layout、raw 和 xml 文件,然后手动对其进行签名和 zipalign。

如果您想查看 apk,请查看 this apk (with the problem)this apk (that I have fixed manually) .两者都有效,一个只有两倍大。

我正在使用 Eclipse SDK,版本:3.5.2,构建 ID:M20100211-1343,Android 开发工具包版本:10.0.1.v201103111512-110841,虽然我在最后几个 ADT 中遇到了问题,因为 2.1出来。我编译的 APK 级别似乎并不重要。

感谢您的帮助,有见识!

最佳答案

我终于解决了这个问题!

由于某种原因,我的 .classpath 文件中有一个错误,我自己从未编辑过这个文件,但在机器、eclipse 版本和 SDK 版本之间的所有迁移中,它一定是漏掉了。

内容如下:

    <?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="src" path="res"/>
    <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
    <classpathentry kind="src" path="gen"/>
    <classpathentry kind="output" path="bin/classes"/>
</classpath>

将其更改为:

    <?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="src" path="gen"/>
    <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
    <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
    <classpathentry kind="output" path="bin/classes"/>
</classpath>

修复了问题。 Yippee!

关于android - Eclipse Export Signed Package 两次添加 drawables 目录,使 apk 大小增加一倍!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6147385/

有关android - Eclipse Export Signed Package 两次添加 drawables 目录,使 apk 大小增加一倍!的更多相关文章

随机推荐