Quero adicionar serviços de localização fundida, mas isso mostra algum erro. Ajude-me.
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
buildToolsVersion "27.0.1"
defaultConfig {
applicationId "com.example.adil.bloodbankapplication"
minSdkVersion 15
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:26.1.0'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.google.firebase:firebase-auth:11.8.0'
compile 'com.google.firebase:firebase-database:11.8.0'
compile 'com.android.support:support-v4:26.1.0'
compile 'junit:junit:4.12'
compile 'com.android.support:design:26.1.0'
compile 'com.github.joielechong:countrycodepicker:2.1.5'
compile 'com.jaredrummler:material-spinner:1.2.4'
compile 'hanks.xyz:htextview-library:0.1.5'
compile 'com.firebaseui:firebase-ui-database:1.2.0'
compile 'com.google.android.gms:play-services:11.8.0'
}
apply plugin: 'com.google.gms.google-services'
android
android-multidex
Muhammad Adil Sattar
fonte
fonte
MyApplication extends android.support.multidex.MultiDexApplication
?Corrigi o meu problema com a solução abaixo:
No arquivo de construção Gradle, adicione dependência:
E, em seguida, na seção "defaultConfig", adicione:
fonte
modificar seu aplicativo ou módulo
build.gradle
De acordo com a documentação oficial
https://developer.android.com/studio/build/multidex
fonte
O que são arquivos dex: os arquivos do aplicativo Android (APK) contêm arquivos executáveis de bytecode na forma de arquivos Dalvik Executable (DEX), que contêm o código compilado usado para executar o aplicativo.
Motivo dessa exceção: a especificação DEX limita o número total de métodos que podem ser referenciados em um único arquivo DEX a 65.536 (limite de referência de 64 K) - incluindo métodos de estrutura do Android, métodos de biblioteca e métodos em seu próprio código.
Etapa 01. Adicione a seguinte dependência da seguinte maneira
Para usuários não Androidx,
Para usuários do Androidx,
Etapa 02:
Depois de adicionar esses projetos de sincronização e antes de executar o projeto, certifique-se de criar um projeto antes da execução. caso contrário, você receberá uma exceção.
fonte
Você pode seguir isso .
Versões da plataforma anteriores ao Android 5.0 (nível 21 da API) usam o tempo de execução Dalvik para executar o código do aplicativo. Por padrão, o Dalvik limita os aplicativos a um único arquivo de bytecode classes.dex por APK. Para contornar essa limitação, você pode adicionar a biblioteca de suporte multidex ao seu projeto:
Se sua minSdkVersion estiver configurada como 21 ou superior, tudo o que você precisa fazer é configurar multiDexEnabled como true no seu arquivo build.gradle no nível do módulo, conforme mostrado aqui:
fonte
Quando você está usando dependências, seus métodos aumentam! O Google tem uma solução para isso. que chamou Multidex!
NOTA: verifique se o SDK mínimo está acima de 14.
no seu build.gradle:
PARA USO AndroidX:
Para mais informações, acesse o link original:
https://developer.android.com/studio/build/multidex
fonte
Olá problema aqui removê-lo
porque?
Nota: Não use o destino combinado de serviços de reprodução. Ele traz dezenas de bibliotecas, inchando seu aplicativo. Em vez disso, especifique apenas as APIs específicas dos serviços do Google Play que seu aplicativo usa.
E use o que você precisa. https://developers.google.com/android/guides/setup
Como para o serviço de localização
Para mensagens na nuvem
fonte
Se você estiver criando DEBUG APK , basta adicionar:
dentro
buildTypes
e se você estiver criando o RELEASE APK , adicione o
multiDexEnabled true
bloco de liberação como-fonte
Para projetos de vibração, você também pode resolver esse problema
abra seu \ android \ app \ build.gradle
você deve ter o seguinte:
Se sua minSdkVersion estiver definida como 21 ou superior, tudo o que você precisa fazer é definir multiDexEnabled como true no defaultConfig. Como isso
se seu minSdkVersion estiver definido como 20 ou inferior, adicione multiDexEnabled true ao defaultConfig
E defina a implementação
No final, você deve ter:
Para mais informações, leia o seguinte: https://developer.android.com/studio/build/multidex
fonte
Faça o seguinte:
E adicione dependência abaixo no seu
build.gradle
arquivo no nível do aplicativofonte
Tente adicionar isso no aplicativo defaultConfig {}. Isso me ajuda a resolver o problema
fonte
No arquivo de construção Gradle, adicione dependência:
ou
ou
E, em seguida, na seção "defaultConfig", adicione:
Em targetSdkVersion
Agora, se você encontrar esse erro
Erro: falha ao resolver: arquivo multidex-instrumentação aberta
Você precisa alterar seu gradle para 3.0.1
E coloque o seguinte código no arquivo gradle-wrapper.properties
distributionUrl = https: //services.gradle.org/distributions/gradle-4.1-all.zip
Finalmente
adicionar classe Applition no projeto E apresentá-lo ao AndroidManifest, que se estende do MultiDexApplication
}
Execute o projeto primeiro para criar um erro e limpe o projeto
Por fim, relance o projeto e aproveite-o
fonte
Se você estiver usando minifyEnabled com Proguard, provavelmente não precisará ativar o multi-dex. Concordo com o MG Developer que você deve tentar evitar o multi-dex, se possível. Minha solução foi ativar o multi-dex apenas para compilações de depuração. minifyEnabled resolve o problema para compilações de versão
fonte
Eu não tenho idéia do porquê, talvez seja porque eu desenvolvo no Kotlin, mas para corrigir esse erro, finalmente eu tenho que criar uma classe que se estende
MultiDexApplication
assim:e no meu
Manifest.xml
eu tenho que definirpara não confundir ninguém, eu também faço:
para androidx, isso também funciona para mim:
...
<application android:name="android.support.multidex.MultiDexApplication">
Nao funciona para mim
fonte
Você tem muitos métodos para contar. O arquivo dex do Android tem um limite de 65536 métodos que você pode ter.
Para iniciantes, se você não precisar de toda a API de serviços do Google Play e apenas o local, substitua
com
Você pode consultar esta página para obter formas de evitá-la ou, se necessário, para permitir mais: https://developer.android.com/studio/build/multidex.html
fonte
Tudo o que eu precisava fazer era definir a versão mínima do SDK como 21 em Arquivo> Estrutura do projeto> Aplicativo> Sabores
fonte
adicione seu arquivo android / app / build.gradle
fonte
Eu encontrei esse erro duas vezes e a solução é: Verifique o arquivo gradle do aplicativo para ver o SDk de destino, se for 20 ou superior, basta adicionar uma linha ao seu
defaultconfig { multiDexEnabled true }
Caso contrário, se o seu targetSDK for menor que 20, adicione a linha ao seu defaultConfig e também adicione uma dependência
Verifique este link para mais.
https://developer.android.com/studio/build/multidex#mdex-gradle
fonte
Usar o suporte multidex deve ser o último recurso. Por padrão, o gradle build coletará uma tonelada de dependências transitivas para o seu APK. Conforme recomendado no Google Developers Docs , tente primeiro remover dependências desnecessárias do seu projeto.
Usando a linha de comando, navegue para Raiz de projetos do Android. Você pode obter a árvore de dependência de compilação da seguinte maneira.
Você pode obter uma lista completa de árvores de dependência
Em seguida, remova as dependências desnecessárias ou transitivas do aplicativo build.gradle. Como exemplo, se seu aplicativo usar dependência chamada 'com.google.api-client', você poderá excluir as bibliotecas / módulos de que não precisa.
Em seguida, no Android Studio, selecione Criar> Analisar APK ... Selecione o arquivo APK de lançamento / depuração para ver o conteúdo. Isso fornecerá os métodos e referências contados da seguinte maneira.
fonte
Na compilação: app
fonte
fonte
O erro é causado pelo número de dependências de classe que você possui no arquivo Gradle do seu aplicativo. Se as classes excederem 72.400, convém usar o multidex como uma solução para lidar melhor com a indexação de arquivos. Saiba mais aqui: https://developer.android.com/studio/build/multidex
fonte