/ / Google maps API v2 робить розмір АПК більшим, ніж стара версія - андроїд, google-maps-api-2

Google Maps API v2 робить розмір APK більшим за стару версію - android, google-maps-api-2

є додаток використання Google API API v2 Після побудови підписаного випуску APK довжина файлу занадто велика я будую "HelloWord"Проект для вимірювання довжини та додавання google_play_services_lib до проекту Довжина файлу до 2,2 Мб більше, ніж "HelloWord"APK

Також було оновлено репозиторій і послуги google play від менеджера SKD.

Я використовую Android Studio IDE (Gradle) і імпортую всі google-play-services. можна імпортувати його частина ?

Відповіді:

2 для відповіді № 1

Припускаючи, що ви використовуєте AS і Gradle як сценарій побудови / управління залежностями

Щоб імпортувати цілі служби Google Play, ви використовуєте такі залежності:

compile "com.google.android.gms:play-services:7.8.0"

Що включає в себе всі ресурси і класи послуг, це величезний список:

+--- com.google.android.gms:play-services:7.8.0
|    +--- com.google.android.gms:play-services-ads:7.8.0
|    |    +--- com.google.android.gms:play-services-base:7.8.0
|    |    |    --- com.android.support:support-v4:22.2.0 -> 22.2.1
|    |    |         --- com.android.support:support-annotations:22.2.1
|    |    +--- com.google.android.gms:play-services-analytics:7.8.0
|    |    |    --- com.google.android.gms:play-services-base:7.8.0 (*)
|    |    --- com.google.android.gms:play-services-appindexing:7.8.0
|    |         --- com.google.android.gms:play-services-base:7.8.0 (*)
|    +--- com.google.android.gms:play-services-analytics:7.8.0 (*)
|    +--- com.google.android.gms:play-services-appindexing:7.8.0 (*)
|    +--- com.google.android.gms:play-services-appinvite:7.8.0
|    |    --- com.google.android.gms:play-services-base:7.8.0 (*)
|    +--- com.google.android.gms:play-services-appstate:7.8.0
|    |    --- com.google.android.gms:play-services-base:7.8.0 (*)
|    +--- com.google.android.gms:play-services-base:7.8.0 (*)
|    +--- com.google.android.gms:play-services-cast:7.8.0
|    |    +--- com.google.android.gms:play-services-base:7.8.0 (*)
|    |    --- com.android.support:mediarouter-v7:22.2.0
|    |         --- com.android.support:appcompat-v7:22.2.0
|    |              --- com.android.support:support-v4:22.2.0 -> 22.2.1 (*)
|    +--- com.google.android.gms:play-services-drive:7.8.0
|    |    --- com.google.android.gms:play-services-base:7.8.0 (*)
|    +--- com.google.android.gms:play-services-fitness:7.8.0
|    |    +--- com.google.android.gms:play-services-base:7.8.0 (*)
|    |    --- com.google.android.gms:play-services-location:7.8.0
|    |         +--- com.google.android.gms:play-services-base:7.8.0 (*)
|    |         --- com.google.android.gms:play-services-maps:7.8.0
|    |              --- com.google.android.gms:play-services-base:7.8.0 (*)
|    +--- com.google.android.gms:play-services-games:7.8.0
|    |    +--- com.google.android.gms:play-services-base:7.8.0 (*)
|    |    --- com.google.android.gms:play-services-drive:7.8.0 (*)
|    +--- com.google.android.gms:play-services-gcm:7.8.0
|    |    --- com.google.android.gms:play-services-base:7.8.0 (*)
|    +--- com.google.android.gms:play-services-identity:7.8.0
|    |    --- com.google.android.gms:play-services-base:7.8.0 (*)
|    +--- com.google.android.gms:play-services-location:7.8.0 (*)
|    +--- com.google.android.gms:play-services-maps:7.8.0 (*)
|    +--- com.google.android.gms:play-services-nearby:7.8.0
|    |    --- com.google.android.gms:play-services-base:7.8.0 (*)
|    +--- com.google.android.gms:play-services-panorama:7.8.0
|    |    --- com.google.android.gms:play-services-base:7.8.0 (*)
|    +--- com.google.android.gms:play-services-plus:7.8.0
|    |    --- com.google.android.gms:play-services-base:7.8.0 (*)
|    +--- com.google.android.gms:play-services-safetynet:7.8.0
|    |    --- com.google.android.gms:play-services-base:7.8.0 (*)
|    +--- com.google.android.gms:play-services-vision:7.8.0
|    |    --- com.google.android.gms:play-services-base:7.8.0 (*)
|    +--- com.google.android.gms:play-services-wallet:7.8.0
|    |    +--- com.google.android.gms:play-services-base:7.8.0 (*)
|    |    +--- com.google.android.gms:play-services-identity:7.8.0 (*)
|    |    --- com.google.android.gms:play-services-maps:7.8.0 (*)
|    --- com.google.android.gms:play-services-wearable:7.8.0
|         --- com.google.android.gms:play-services-base:7.8.0 (*)

Щоб зменшити розмір, у вас є три варіанти:

  • Додайте лише ту частину, яка вам потрібна, наприклад. com.google.android.gms:play-services-maps:7.8.0
  • Виключити частини, які ви не хочете

подобається це:

compile("com.google.android.gms:play-services:7.8.0") {
exclude module: "play-services-fitness"
exclude module: "play-services-games"
exclude module: "play-services-wallet"
exclude module: "play-services-safetynet"
exclude module: "play-services-appinvite"
exclude module: "play-services-wearable"
exclude module: "play-services-cast"
}
  • Або використовуйте Proguard (minifyEnabled), який повинен урізати з результуючих ресурсів і класів APK, які не використовуються або передаються