2016-10-13 65 views
0

我這樣做 - 儘可能多的開發者,對臭名昭着的android 65000方法的限制有問題。我已經對我的應用程序進行了多重處理,但是我真的很想讓它更輕。android 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。而且 - 最重要的是 - 我怎麼能擺脫這些依賴關係?

非常感謝您 馬爾科

+1

運行[Gradle依賴關係報告](https://docs.gradle.org/current/userguide/tutorial_gradle_command_line.html#sec:listing_dependencies)以確定您的意外依賴來自哪裏。 – CommonsWare

回答

2

要明白的地方一定的依賴性來的,運行你的應用程序的模塊上的dependencies搖籃任務。假設你的應用程序的模塊稱爲app,那麼該命令將是這樣的:

./gradlew -q :app:dependencies 

輸出應包含所有傳遞依賴,它應該很容易看出哪些庫拖動要擺脫的東西。

+0

謝謝egor,這幫了很多! –

+0

@MarcoZanetti,當然,不客氣! – Egor