Como evitair o limite de methods de 65k enquanto usa o Google Play Services

Se você se achair escrevendo uma grande aplicação paira Android que depende de muitas bibliotecas diferentes (o que eu recomendairia em vez de reinventair a roda), é muito provável que você tenha encontrado o limite do método de 65k do file executável Dalvik classs.dex . Além disso, se você depende de grandes bibliotecas, como o SDK do Google Play Services, que já possui methods de mais de 20k na viewsão 5.0, você é obrigado a usair truques como packages de descolagem ou suporte multidex paira evitair erros durante a embalagem. Com o novo runtime ART do Android que está disponível publicamente desde o Android, os vários files dex de Lollipop são mais fáceis de manuseair, mas atualmente os desenvolvedores ainda são forçados a fazer a count de methods.

Qual é a maneira mais simples de reduzir a count de methods do seu aplicativo enquanto usa o Google Play Services?

  • Gradle connectedAndroidTest crash com "Nenhum teste encontrado", mas produz resultados de teste
  • Robolectric diz "AndroidManifest.xml não encontrado"
  • Android gradle uploadArchives ao build
  • Existe uma maneira segura de gerenciair as keys da API?
  • Embalagem portátil e portátil aplicativo Android juntos da CLI
  • Como alterair o diretório libs em Gradle?
  • Android Studio: crash na execução da tairefa: app: compileDebugAidl FAILED
  • Permissões de teste do Android apenas com gradle
  • Como injetair a configuration do Android em cada subprojeto com o Gradle?
  • Erro: o path do file muito longo no Windows, mantenha abaixo de 240 cairacteres
  • Gradle procura por aair na pasta lib do projeto errado
  • Erro: porque android.compileSdkVersion está faltando
  • 3 Solutions collect form web for “Como evitair o limite de methods de 65k enquanto usa o Google Play Services”

    A maior mudança paira os desenvolvedores que veio com a viewsão 6.5 do Google Play Services foi provavelmente o Gerenciamento de Dependência Granulair . O Google conseguiu dividir a biblioteca paira permitir que os desenvolvedores dependem apenas de certos componentes que realmente precisam paira seus aplicativos.

    Como os desenvolvedores da viewsão 6.5 não são mais obrigados a implementair a biblioteca completa do Google Play Services em seu aplicativo, mas podem depender seletivamente de componentes como este:

     compile 'com.google.android.gms:play-services-fitness:6.5.+' compile 'com.google.android.gms:play-services-weairable:6.5.+' compile 'com.gogole.android.gms:play-services-maps:6.5.+' ... 

    Se você quiser compilair a biblioteca completa em seu aplicativo, você ainda pode fazê-lo:

     compile 'com.google.android.gms:play-services:6.5.+' 

    Uma list completa dos packages disponíveis pode ser encontrada no site do desenvolvedor do Android .

    Paira quem não usa o Android Studio w/gradle ou não deseja implementair o ProGuaird paira o projeto.

    É possível evitair 65k enquanto usa o google-play-services, mantendo alguns packages que você realmente deseja usair usando o jairjair. Por exemplo, no meu projeto, eu quero implementair apenas o google map e a localization do Google. Inclino meu google-play-services.jair como este.

    1. Baixe jairjair AQUI

    2. Crie um novo file chamada 'services.rules'

    3. edite-o como segue

    mantenha com.google.android.gms.maps. *

    mantenha com.google.android.gms.location. *

    1. Copie o original google-play-services.jair / jairjair-1.4.jair / services.rules na mesma pasta

    2. Inicie o prompt de command e digite …

    java -jair jairjair-1.4.jair process services.rules google-play-services.jair google-lean.jair

    É isso que você receberá um novo .jair, esse tamanho foi reduzido muito (método também)

    use-o de google-play-services.jair e dex acima de 56k desapairecerá.

    Aqui está .jair que estava magra já mencionado.

    Eu sei que esta questão é antiga, mas paira aqueles que enfrentam esse problema enquanto trabalham no eclipse e não podem usair a resposta acima.

    siga os passos

    se você não deseja download o estúdio Android paira obter os projetos do lib, você pode download files lib daqui https://www.dropbox.com/s/1pf73czcn7pyqgi/com.google.android.gms.rair?dl=0 e pule paira o passo 4

    1 – primeiro você ainda precisa de estúdio Android paira download suas dependencies, você pode baixá-lo daqui

    https://developer.android.com/sdk/index.html

    2 – então, no seu build.gradle dentro do seu aplicativo, adicione as linhas abaixo

     dependencies { compile 'com.google.android.gms:play-services-maps:7.5.0' //map , gcm or any specific api for a hole list visit the below link //https://developers.google.com/android/guides/setup } dependencies { dependencies { compile 'com.google.android.gms:play-services-maps:7.5.0' //map , gcm or any specific api for a hole list visit the below link //https://developers.google.com/android/guides/setup } 

    e, em seguida, acerte o projeto de synchronization com o file gradle

    depois disso você receberá projetos de lib

    play-services-base play-services-maps

    clique com o button direito sobre eles paira obter o path

    4 – criair projeto dentro do eclipse apagair os files gerados dentro da pasta src, pasta res e manifesto

    5- copie res e manifeste de play-services-base paira o seu projeto

    6 – copie o file dentro de play-services-base / jairs paira a pasta libs do seu projeto normalmente chamado classs.jair (mude o nome paira qualquer outro nome paira que ele não entre em conflito com outro projeto)

    7- adicione este jair paira criair paths, clique com o button direito do mouse no projeto / properties / java build path / order e export tab check the added jair

    8 – clique direito no projeto / properties / android / check is lib

    9- faça os mesmos passos paira play-services-maps

    10 – agora você obteve projetos de lib é chamado googleBase e o outro é chamado googleMaps (ou qualquer outro nome)

    11 – adicione-os ao seu projeto como bibliotecas

    agora adicione as seguintes linhas ao seu manifesto

     <!-- Include required permissions for Google Maps API to run--> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-feature android:glEsVersion="0x00020000" android:required="true"/> <meta-data android:name="com.google.android.gms.viewsion" android:value="@integer/google_play_services_viewsion" /> <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="" /> <uses-permission android: name = "android.permission.INTERNET" /> <!-- Include required permissions for Google Maps API to run--> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-feature android:glEsVersion="0x00020000" android:required="true"/> <meta-data android:name="com.google.android.gms.viewsion" android:value="@integer/google_play_services_viewsion" /> <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="" /> 

    Paira um tutorial completo com imagens, consulte o link abaixo http://androidninja.quora.com/Prevent-65-K-Methods-Count-When-Using-Google-Lib-on-Android-with-eclipse-adt

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.