我注意到这一点大约是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级别似乎并不重要。
感谢您的帮助,见解!
答案 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!