Eclipse Export Signed Package将drawables目录添加两次,使apk大小加倍!

时间:2011-05-27 02:56:32

标签: android eclipse export drawable filesize

我注意到这一点大约是2.1。我相信问题出在Eclipse Export to 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文件,然后手动签名并压缩它。

如果您想查看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级别似乎并不重要。

感谢您的帮助,见解!

1 个答案:

答案 0 :(得分:4)

我终于解决了这个问题!

出于某种原因,我的.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!