10-22 15:29:40.897: E/AndroidRuntime(2561): FATAL EXCEPTION: main
10-22 15:29:40.897: E/AndroidRuntime(2561): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.gvg.simid/com.gvg.simid.Login}: java.lang.ClassNotFoundException: Didn't find class "com.gvg.simid.Login" on path: DexPathList[[zip file "/data/app/com.gvg.simid-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.gvg.simid-1, /vendor/lib, /system/lib]]
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2137)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread.access$600(ActivityThread.java:141)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.os.Handler.dispatchMessage(Handler.java:99)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.os.Looper.loop(Looper.java:137)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread.main(ActivityThread.java:5103)
10-22 15:29:40.897: E/AndroidRuntime(2561): at java.lang.reflect.Method.invokeNative(Native Method)
10-22 15:29:40.897: E/AndroidRuntime(2561): at java.lang.reflect.Method.invoke(Method.java:525)
10-22 15:29:40.897: E/AndroidRuntime(2561): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
10-22 15:29:40.897: E/AndroidRuntime(2561): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
10-22 15:29:40.897: E/AndroidRuntime(2561): at dalvik.system.NativeStart.main(Native Method)
10-22 15:29:40.897: E/AndroidRuntime(2561): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.gvg.simid.Login" on path: DexPathList[[zip file "/data/app/com.gvg.simid-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.gvg.simid-1, /vendor/lib, /system/lib]]
10-22 15:29:40.897: E/AndroidRuntime(2561): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53)
10-22 15:29:40.897: E/AndroidRuntime(2561): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
10-22 15:29:40.897: E/AndroidRuntime(2561): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2128)
10-22 15:29:40.897: E/AndroidRuntime(2561): ... 11 more
Não tenho certeza do que está causando isso, pois está listado corretamente no manifesto:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.gvg.simid"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.READ_OWNER_DATA" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_OWNER_DATA" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-feature android:name="android.hardware.usb.host" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.gvg.simid.Login"
android:label="@string/app_name"
android:screenOrientation="landscape">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Eu também adicionei "Bibliotecas privadas do Android" para construir o caminho e movi-o para o topo de "Ordem e exportação", mas ainda me deu o mesmo erro.
EDITAR: reconstruí o projeto completamente e não consegui reproduzir o erro. Não tenho certeza do que estava causando isso.
Respostas:
Eu tive o mesmo problema para meu projeto. Aconteceu devido ao conflito na versão da biblioteca de suporte do Android entre meu projeto e o projeto de biblioteca que adicionei ao meu projeto. Coloque a mesma versão da biblioteca de suporte do Android em seu projeto e projetos de biblioteca incluídos e compilação limpa ... Tudo funcionará ...
fonte
Este método a seguir funcionou para mim
project
e selecioneproperties
Java Build Path
->Order and Export
"Android Dependencies"
clean your project
e corrafonte
project
? O que isso significa?Para aqueles de vocês que estão tendo esse problema em Android Studio, eu tive o mesmo problema depois de uma fusão e, por algum motivo ainda persistiu após
clean
einvalidate cash/restart
operações que estava me deixando louca.Acontece que ele pode ser consertado executando o gradle build uma vez na linha de comando. Basta executar o seguinte no diretório do projeto:
Eu espero que isso economize a perda de tempo e frustração que eu tive que passar.
fonte
Eu tive o mesmo problema, isso funcionou para mim
1) Caminho completo da atividade no mainfest no lugar do caminho relativo.
2) Exclua a pasta 'build' e limpe o projeto.
fonte
Se você estiver usando o Eclipse, experimente Projeto -> Limpar
fonte
Se você adicionou um novo
Library Project
como um módulo ao seu projeto Android e está usandoKotlin
na sua biblioteca , não se esqueça de adicionarno início do arquivo Gradle do seu módulo. O Android Studio não adiciona esta linha quando você cria um novo módulo e isso pode desperdiçar suas horas como eu.
Edit: Depois de um tempo, acabei de lutar com esse problema novamente e desta vez esqueci de adicionar meu módulo como uma dependência do projeto. :)
fonte
Isso acontece se mudarmos o caminho de construção do APP, isso pode ser em qualquer caso de adição ou remoção ou alteração de bibliotecas ou arquivo .jar. A melhor solução é reiniciar o Eclipse.
fonte
Se você receber esse erro ao usar o novo recurso Instant Run no Android Studio 2.0 e superior, isso é algum tipo de bug da parte deles.
Para corrigir isso, você terá que parar seu aplicativo manualmente no dispositivo / emulador se ele não for interrompido a partir do Android Studio select Build→Rebuild Project.
Em seguida, clique no botão Executar ou SHIFT + F10
fonte
Para qualquer um que tenha o multidex habilitado, escreva isto
dentro de build.gradle
escreva uma aula
EnableMultiDex
como abaixoe
AndroidManifest.xml
escreva este className dentro da tag do aplicativofonte
MultiDexApplication
classe em vez deApplication
.MultiDexApplication
e a exceção desapareceu no Android 4.4.Se você estiver usando o Multidex no Android 4.4 e anterior, seu problema pode ser que sua classe de atividade está localizada no segundo arquivo dex e, portanto, não foi encontrada pelo sistema Android.
Para manter sua aula de atividade no arquivo dex principal, consulte esta página:
https://developer.android.com/studio/build/multidex.html#keep
Para descobrir quais classes estão localizadas em um arquivo dex, use o Android Studio .
Basta arrastar e soltar seu apk no Android Studio. Você deve ser capaz de ver seus arquivos dex no explorador apk.
Em seguida, selecione o arquivo dex para ver quais classes estão dentro.
outra alternativa é dexdump:
Você pode verificar o conteúdo de seus arquivos dex contidos em seu apk usando o comando dexdump que pode ser encontrado em
Para usuários do Windows, veja esta ferramenta que fiz para facilitar o processo
fonte
No meu caso, foi o processo de minificação do Proguard que removeu algumas classes importantes do meu apk de produção.
A solução foi editar o arquivo proguard-rules.pro e adicionar o seguinte:
fonte
1) Crie a pasta libs na raiz do projeto
2) Copie e cole o arquivo jar nele
3) Configure o caminho de construção (Adicionar jar)
4) Limpe e execute
cheers :-)
fonte
Acredite em mim ou não ... Tentei quase todas as respostas que encontrei aqui no stackoverflow. Nada ajudaria, até que eu simplesmente reiniciei a máquina. Meu Android Studio funciona no Ubuntu 16.04 LTS.
fonte
Eu enfrentei esse erro uma vez quando defini uma classe que estendia uma visão, mas fazia referência a essa visão customizada no arquivo de layout com o nome errado. Em vez de
<com.example.customview/>
, incluí<com.customview/>
no arquivo de layout XML.fonte
Eu enfrentei o mesmo problema e resolvi fazendo o seguinte:
No menu de construção, selecione
1- Projeto limpo.
2- Construir APK.
fonte
Eu encontrei o mesmo problema e notei que o código de amostra foi colocado no diretório "java" em vez do diretório "src". Depois de mover o código para src, o problema foi resolvido.
Além disso, certifique-se de que o diretório do aplicativo esteja dividido em várias pastas. por exemplo,
/main/com/site/appname/
não/main/com.site.appname/
Espero que funcione ~
fonte
Enfrento o mesmo problema e, depois de muito trabalho e pesquisa, descobri a solução: limpei o projeto e construí o apk. -Build-> Clean Project -Build-> Build APK (s) Espero que seja útil .....
fonte
Tive esse problema recentemente e estou usando o Android Studio 0.8.4
O problema foi que decidi renomear um arquivo de layout de menu XML que se chamava main.xml.
Clique com o botão direito nele e escolha Refatorar -> Renomear . Antes de renomeá-lo, desmarque "Pesquisar em comentários e strings" e pressione Refatorar .
Como meu arquivo foi originalmente denominado 'principal' , ele renomeou os caminhos críticos no app.iml e build.gradle, principalmente java.srcDirs no build.gradle, uma vez que o caminho é definido como
'src/main/java'
.Espero que isso ajude qualquer pessoa que possa estar enfrentando esse problema.
fonte
Tive este problema após a atualização da versão 18. Após a atualização, tive o seguinte: O destino da compilação do projeto era 5.01, targetSDKVersion = 21
Mas: Build Tools ainda eram do Android 4.3.1 (18) O que eu percebi foi que aqueles aplicativos que estavam derivando suas atividades do ActionBarActivity travaram com o erro acima aqueles que ainda não rodavam.
Portanto, a correção simples foi usar o Android SDK Build Tools 21.1.2 mais recente em vez de apenas aqueles do Android SDK Build Tools 18, que parece de alguma forma o padrão.
Portanto, o culpado parece ser a biblioteca Appcompat, que uso para compatibilidade com versões anteriores da Actionbar.
E a propósito : usando a biblioteca appcompat, eu tive que definir / corrigir:
$SDKInstallDIR$\Android\android-sdk\extras\android\support\v7\appcompat\project.properties target=android-21
(que foi recomendado em alguma outra postagem útil e que tem um valor de 19 por padrão))fonte
Eu tive o mesmo problema no Windows. Eu havia renomeado o caminho do projeto para algo contendo um espaço.
Certifique-se de que o caminho para o seu projeto não contenha um espaço.
fonte
Solução mencionada aqui -> A solução Multidex Issue funcionou para mim. Abaixo está o que precisa ser adicionado ao contexto do aplicativo:
fonte
Eu tive esse problema, levantado por várias causas, mas vejo isso no seu stacktrace "
**Unable to instantiate activity ComponentInfo{...}: java.lang.ClassNotFoundException: Didn't find class "..." on path: DexPathList[[**
", encontrei uma diferença no meu.classpath
antes de parar de funcionar.Eu ADICIONEI a linha:
Esta é a versão final:
Agora funciona! =)
fonte
Eu tive exatamente o mesmo problema. Como @weiweia sugeriu, mova o código do diretório java para src funcionou para mim. Também removi as dependências do Android de Projeto -> Propriedades -> Caminho de construção Java -> Pedido e exportação e certifiquei-me de incluir apenas projetos de biblioteca na tela do Android.
fonte
Eu tive esse problema por um bom tempo e, como todo mundo, as respostas acima não se aplicavam ao meu projeto.
No meu projeto, eu tinha vinculado um projeto ao meu projeto e ele estava jogando ClassDefNotFoundError toda vez que algum código para o outro projeto era executado.
Então essa foi a minha solução. Fui às propriedades do projeto do meu projeto e ao Java Build Path. Pressionei a aba "Fonte" e "link fonte" da pasta src do outro projeto para o meu próprio projeto e nomeou uma nova pasta "core-src".
Espera que esta solução ajude alguém
fonte
Eu tive o mesmo problema. Estou usando o Xamarin.Android.
O problema no meu caso foi que alterei versionCode e versionName.
Eu não tive nenhum problema quando os coloquei assim:
O problema apareceu quando eu mudei para este (versionCode 2 e versionName 0.0.1):
Corrigi o problema alterando para versionCode 2 e versionName 1.0.0.1, assim:
Não sei por que isso foi um problema, talvez o Android não goste de um versionName inferior com um versionCode superior?
Encontrei o seguinte em http://developer.android.com/guide/topics/manifest/manifest-element.html#vname
fonte
Apenas no caso de alguém enfrentar o mesmo problema que eu e nenhuma sugestão de resposta aqui ajuda.
Para mim, a causa era que o refator de estúdio do Android tinha bugs. Mudei uma classe interna para fora de uma classe, que era uma View e, portanto, também tinha um xml, onde o caminho direto foi definido. Este caminho não será refatorado pelo studio! E nenhum erro será lançado.
Espero que isso ajude alguém. Felicidades.
fonte
No nosso caso queríamos compilar a versão do Vagrant e tivemos o mesmo erro. Nós fixa-lo
clean project
erebuild project
no menu Buildfonte
Acabei de reiniciar o dispositivo e executei o aplicativo. Funcionou sem problemas. Espero que isso ajude alguém :)
fonte
Encontrei este erro no Android Studio quando tentei fazer o debug em um dispositivo com API 23 , então verifiquei o Android Studio e percebi que não tinha instalado esta versão API 23 . Após a instalação, resolvi o problema.
fonte
Eu tive esse problema várias vezes e muitas vezes não fazia algo obviamente errado com as dependências.
É sempre uma boa ideia verificar se essa classe 'não encontrada' está presente no apk final. Se for, como aconteceu nos meus casos, o problema geralmente é:
Não é que determinada classe não foi encontrada, mas não pode ser carregada porque sua superclasse está faltando.
Verifique se a classe que você estende está disponível e tente corrigir seu script de construção ou dependências de acordo.
fonte