2015-05-29 74 views
1

我發現每張表的手錶都有一個永遠不會在6Mo下發行的apk文件。 即使它不包含任何drawable。 即使默認的錶盤項目大約是6Mo,一經公佈&簽名。Android Studio:發佈apk的錶盤大小不會超過6Mo

我認爲它是Android Studio中的一個問題,因爲在商店一些錶盤均遠遠超過6Mo下(例如:圓錶盤主題是關於1.9Mo !!)

我發現,在中間移動包的清單中,合併器添加以下行:

<activity 
     android:name="android.support.v7.widget.TestActivity" 
     android:label="RecyclerViewTestActivity" /> 

即使使用「tools:node =」remove「」,它仍會被添加。通過這個活動添加了一大堆我沒有使用的資源(png,values)。

Exemple of directories added Content of one ressource directory

的build.gradle移動包:

apply plugin: 'com.android.application' 

android { 
compileSdkVersion 22 
buildToolsVersion "22.0.1" 

defaultConfig { 
    applicationId "fr.test" 
    minSdkVersion 18 
    targetSdkVersion 22 
    versionCode 1 
    versionName "1.0" 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 
} 
dependencies { 
compile fileTree(dir: 'libs', include: ['*.jar']) 
wearApp project(':wear') 
compile 'com.android.support:appcompat-v7:22.1.1' 
compile 'com.google.android.gms:play-services:7.0.0' 
compile "com.google.android.support:wearable:1.1.+" 
} 

是否有人經歷了同樣的問題,是有一個解決方案,以避免這種情況或減少APK的大小(我錯過了一個選擇。 ..)?

+0

請顯示您的build.gradle contant – Divers

+0

我添加了移動build.gradle。 –

+0

「莫」應該是什麼樣的單位? –

回答

0

有2種方式去:

  1. 使用GP services唯一需要的部分,減小了尺寸:

    • Google+的com.google.android.gms:發揮服務加:7.5.0
    • 谷歌帳戶登錄 com.google.android.gms:發揮服務身份:7.5.0
    • 谷歌的行動,基地客戶 庫郭寶宏com.google.android.gms:播放服務基地:7.5.0
    • 谷歌應用程序索引
      com.google.android.gms:發揮服務-appindexing:7.5.0
    • 谷歌應用程序邀請
      com.google.android.gms:播放服務,appinvite:7.5.0
    • 谷歌Analytics(分析) com.google.android.gms:發揮服務 - 分析:7.5.0
    • 谷歌演員com.google。 android.gms:play-services-cast:7.5.0
    • Google Cloud Messaging com.google.android.gms:play-services-gcm:7.5.0
    • 谷歌驅動com.google.android.gms:播放服務驅動:7.5.0
    • 谷歌飛度com.google.android.gms:發揮服務的健身:7.5.0
    • 谷歌位置,活動識別和地點
      com.google.android.gms:play-services-location:7.5.0
    • Google地圖com.google.android.gms:play-services-maps:7.5。0
    • 谷歌移動廣告com.google.android.gms:發揮服務的廣告:7.5.0
    • 谷歌最近com.google.android.gms:發揮服務 - 附近:7.5.0
    • 谷歌全景瀏覽器
      com.google.android.gms:播放服務全景:7.5.0
    • 谷歌玩遊戲 服務com.google.android.gms:發揮服務遊戲:7.5.0
    • 安全網com.google.android.gms:play-services-safetynet:7.5.0
    • Google電子錢包com.google.android.gms:play-services-wallet: 7.5.0
    • Android Wear com.google.android.gms:發揮服務耐磨:7.5.0
  2. 使用proguard - 這將削減所有未使用的代碼

    buildTypes { 
        release { 
         minifyEnabled true 
         proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
        } 
    
+0

我設法從一個簡單的項目,從4.7Mbytes下降到2.9Mbytes只有一個磨損包,移動包爲空。 我認爲它仍然很重,當我在商店看到大約1.9M字節的其他面孔時,使用了磨損和手機套餐。 –

+0

minifyEnabled true shrinkResources true true 有了這2個選項,我可以獲得一個1.8MB大小的apk。我必須測試它,看看是否一切正常。 –

0

它包括谷歌播放服務的可訂閱庫,它本身很大。您可以通過使用ProGuard來縮小尺寸。

+0

我添加了一些截圖來說明我在中間目錄中找到的資源。 –

+0

@ThomasThomas嘗試在您的build.graddle中設置minifyEnabled true。這將使proguard –