2011-05-27 45 views
4

我注意到這一點,因爲約2.1。我相信這個問題出現在Eclipse Export to APK插件中,或者是我的設置中的某處(儘管我不知道它在哪裏)。Eclipse Export Signed Package添加了drawables目錄兩次,使apk大小加倍!

基本上,突然我的APK大小一倍!一些調查顯示,Eclipse現在包含可繪製目錄(以及原始,佈局和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導出,從根目錄中刪除被拉伸,佈局,原料,和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級別。

感謝您的幫助,見識!

回答

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的!