2016-10-13 3 views
0

У меня - как и многие разработчики, есть проблемы с пресловутым андроидом 65000. Я уже много разучиваю свое приложение, но мне бы хотелось как-то сделать его легче.андроид gms большой способ счет. Как этого избежать?

Это график методов моего приложения (снятый с плагином dexcount: https://github.com/KeepSafe/dexcount-gradle-plugin).

enter image description here

Как вы можете видеть, большинство методов приходят из пакета com.google.android.gms. Это список зависимостей от build.gradle файла:

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar', '*.aar']) 
    compile project(':libs:cip-library:cip-library') 
    compile project(':libs:android-times-square') 
    compile files('../libs/mobile.connect-android-1.7.6.jar') 
    compile files('../libs/dtapl-2.1.1.jar') 
    compile 'com.android.support:appcompat-v7:24.2.1' 
    compile 'com.android.support:cardview-v7:24.2.1' 
    compile 'com.android.support:multidex:1.0.1' 
    compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.3' 
    compile 'com.nhaarman.listviewanimations:lib-core:[email protected]' 
    compile 'com.nhaarman.listviewanimations:lib-manipulation:[email protected]' 
    compile 'com.nhaarman.listviewanimations:lib-core-slh:[email protected]' 
    compile 'com.nineoldandroids:library:2.4.0' 
    compile 'com.google.code.gson:gson:2.4' 
    compile 'de.greenrobot:greendao:2.0.0' 
    compile 'com.pnikosis:materialish-progress:1.5' 
    compile 'org.adw.library:discrete-seekbar:1.0.0' 
    compile 'com.android.support:design:24.2.1' 
    compile 'net.fredericosilva:showTipsView:1.0.4' 
    compile 'com.google.maps.android:android-maps-utils:0.4.4' 
    compile 'com.robohorse.gpversionchecker:gpversionchecker:1.0.8' 
    compile 'net.danlew:android.joda:2.9.4.1' 
    compile 'com.android.support:support-annotations:24.2.1' 
    compile('com.crashlytics.sdk.android:crashlytics:[email protected]') { 
     transitive = true; 
    } 
    compile('com.mikepenz:aboutlibraries:[email protected]') { 
     transitive = true 
    } 
} 

Теперь я знаю, что эти зависимости не мало, но то, что я не понимаю, в частности, которые один - и как - это вызывая зависимость от пакеты, такие как com.google.android.gms.internal.games, в то время как мое приложение не является игрой, com.google.android.gms.internal.cast или com.google.android.gms.internal.fitness. И - прежде всего - как я мог избавиться от этих зависимостей?

Большое спасибо Marco

+1

Запустите [Отчет о зависимости от Gradle] (https://docs.gradle.org/current/userguide/tutorial_gradle_command_line.html#sec:listing_dependencies), чтобы определить, откуда происходят ваши неожиданные зависимости. – CommonsWare

ответ

2

Чтобы понять, где некоторые зависимости берутся, запустить dependencies Gradle задачу на модуль вашего приложения. Предположим, что модуль вашего приложения называется app, то команда будет выглядеть следующим образом:

./gradlew -q :app:dependencies 

Вывод должен содержать все переходные зависимости, и это должно быть легко увидеть, какие библиотеки перетаскивая вещи, которые вы хотите, чтобы избавиться от ,

+0

Спасибо, эго, это очень помогло! –

+0

@MarcoZanetti, конечно же, пожалуйста! – Egor

 Смежные вопросы

  • Нет связанных вопросов^_^