2016-10-13 5 views
0

많은 개발자들이 악명 높은 android 65000 메소드 제한에 문제가 있습니다. 나는 이미 내 응용 프로그램을 멀티 - 덱싱하고 있지만, 나는 그것을 어떻게 든 더 가볍게 만들고 싶다.안드로이드 gms 큰 방법 카운트. 어떻게 피하는가?

다음은 내 앱의 그래프입니다 (dexcount 플러그인을 사용하여 촬영 한 것 : https://github.com/KeepSafe/dexcount-gradle-plugin). 당신이 볼 수 있듯이

enter image description here

는 방법의 대부분은 com.google.android.gms 패키지에서 제공됩니다. 어떻게 - -에 대한 종속성을 유발한다 나는 이러한 종속성은 몇되지 않습니다 알고 있지만, 내가 이해하지 못하는 것은 특별히하는 일입니다, 이제

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 
    } 
} 

:이 build.gradle 파일에서 종속성 목록입니다 com.google.android.gms.internal.games와 같은 패키지, 내 앱은 게임이 아닙니다. com.google.android.gms.internal.cast 또는 com.google.android.gms.internal.fitness. 그리고 무엇보다 - 내가 어떻게 그 의존성을 제거 할 수 있을까요?

당신에게 대단히 감사합니다 마르코

+1

예기치 않은 종속성의 출처를 확인하려면 [Gradle dependency report] (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

관련 문제