Android ClassNotFoundException: nie znaleziono klasy na ścieżce

97
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

Nie jestem pewien, co go powoduje, ponieważ jest to poprawnie wymienione w manifeście:

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

Dodałem również „Prywatne biblioteki Androida”, aby utworzyć ścieżkę i przeniosłem je na początek „Zamów i eksportuj”, ale nadal wyświetlał ten sam błąd.

EDYCJA: Całkowicie przebudowałem projekt i nie udało mi się odtworzyć błędu. Nie wiem, co było tego przyczyną.

Phito
źródło
2
czy używasz proguard?
Juangcg
Proguard nie jest włączony.
Phito,
Sprawdź ten post: stackoverflow.com/questions/10866431/…
Juangcg
spróbuj „.Login” w android: name zamiast tego Android doda resztę prefiksu sam, jeśli nie może go wykryć. To może być po prostu dziwny problem z analizą Eclipse
Darryl Bayliss
@Juangcg Przeczytałem ten post przed zrobieniem tego, ale niestety wszystko, co tam próbowałem, nie działało.
Phito

Odpowiedzi:

76

Miałem ten sam problem w moim projekcie. Stało się to z powodu konfliktu w wersji biblioteki obsługi Androida między moim projektem a projektem biblioteki, który dodałem w moim projekcie. Umieść tę samą wersję biblioteki obsługi systemu Android w dołączonych projektach i projektach biblioteki i wyczyść kompilację ... Wszystko będzie działać ...

Balaji Dhanasekar
źródło
3
Dzięki!!! Byłem pewien, że już to zrobiłem, ale sprawdziłem i wersje są inne! Wielkie dzięki!
Rodrigo Venancio
2
komentuję to, aby zapamiętać następnym razem, aby „zaktualizować”
Enrique San Martín,
1
Jakieś pomysły, dlaczego problem się zdarza, jeśli nie korzystam z bibliotek wsparcia?
Budda
33

Ta metoda zadziałała dla mnie

  • Kliknij prawym przyciskiem myszy projecti wybierzproperties
  • Otworzy się panel „Właściwości dla”. Z menu po lewej stronie przejdź do Java Build Path->Order and Export
  • Z poniższej listy odznacz pole obok "Android Dependencies"
  • Wreszcie clean your projecti uciekaj
Chris
źródło
8
To zadziałało dla mnie. Jakie jest znaczenie „Zależności Androida” i dlaczego pomogło w tym konkretnym przypadku?
Oleg Gryb
U mnie zadziałało idealnie! Wielkie dzięki!
prajitdas
7
Czy te instrukcje dotyczą zaćmienia? Nie mogę wykonać tych instrukcji dla Android Studio. Jaki jest mój project? Co to znaczy?
Adam Johns
1
Tak, te instrukcje dotyczą zaćmienia
Chris,
2
Ten link zawiera instrukcje dotyczące stackoverflow.com/questions/18533054/…
Joseph Selvaraj
13

Dla tych z Was, którzy mają ten problem na Android Studio, miałem ten sam problem po scaleniu iz jakiegoś powodu jeszcze utrzymywały się po cleani invalidate cash/restartoperacje który doprowadza mnie do szału.

Okazuje się, że można to naprawić, uruchamiając raz gradle build z wiersza poleceń. Po prostu uruchom następujące w katalogu projektu:

./gradlew assemble clean
./gradlew assemble

Mam nadzieję, że zaoszczędzi to komuś straty czasu i frustracji, przez które musiałem przejść.

Iman Akbari
źródło
Pracował też dla mnie
davedavedave
12

Miałem ten sam problem, to działało dla mnie

1) Pełna ścieżka aktywności w mainfestie zamiast ścieżki względnej.

2) Usuń folder „build” i wyczyść projekt.

Ram Mehar Deswal
źródło
Usunięcie folderu kompilacji zadziałało dla mnie. Straciłem kilka godzin w tej sprawie, dziękuję
Guy S
Dla mnie też zadziałało. Dzięki.
Dushyant Suthar
To jest prawdziwa okazja. XD
noob-Sci-Bot,
9

Jeśli używasz Eclipse, wypróbuj Projekt -> Wyczyść

Danilo Silva
źródło
Działa dla studia Android - projekt Clean / Rebuild i uruchom
frcake
8

Jeśli dodałeś nowy Library Projectjako moduł do swojego projektu Android i używasz Kotlinw swojej bibliotece , nie zapomnij dodać

apply plugin: 'kotlin-android'

na początek pliku Gradle modułu. Android Studio nie dodaje tej linii podczas tworzenia nowego modułu i może to zmarnować twoje godziny tak jak ja.

Edycja: Po pewnym czasie ponownie zmagałem się z tym problemem i tym razem zapomniałem dodać mój moduł jako zależność od projektu. :)

savepopulation
źródło
Rozwiązałem to dla mnie i po prostu chciałem opublikować odpowiedź. Kto przeskoczy do drugiej strony SO w poszukiwaniu rozwiązania?
Kuno
Ten problem występuje, gdy używamy projektu biblioteki java ... to rozwiązanie rozwiązało mój problem
Devrath
7

Dzieje się tak, jeśli zmienimy ścieżkę budowania aplikacji, może to być w każdym przypadku dodawanie lub usuwanie lub zmiana bibliotek lub pliku .jar. Najlepszym rozwiązaniem jest ponowne uruchomienie Eclipse.

pioneerBhawna
źródło
6

Jeśli otrzymujesz ten błąd podczas korzystania z nowej funkcji Instant Run w Android Studio 2.0 i nowszych wersjach, oznacza to jakiś błąd po ich stronie.
Aby to naprawić, musisz ręcznie zatrzymać aplikację na urządzeniu / emulatorze, jeśli nie jest zatrzymana, wybierz z Android Studio BuildRebuild Project.
Następnie kliknij przycisk Uruchom lub SHIFT + F10

vovaost
źródło
6

Napisz to dla każdego, kto ma włączoną funkcję multidex

wewnątrz build.gradle

apply plugin: 'com.android.application'

android {
 defaultConfig {
      multiDexEnabled true
  }
 dexOptions {
        javaMaxHeapSize "4g"
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:+'
    compile 'com.google.android.gms:play-services:+'
    compile 'com.android.support:multidex:1.0.1'
}

napisz zajęcia EnableMultiDexjak poniżej

import android.content.Context;
import android.support.multidex.MultiDexApplication;

public class EnableMultiDex extends MultiDexApplication {
    private static EnableMultiDex enableMultiDex;
    public static Context context;

    public EnableMultiDex(){
        enableMultiDex=this;
    }

    public static EnableMultiDex getEnableMultiDexApp() {
        return enableMultiDex;
    }

    @Override
    public void onCreate() {
        super.onCreate();
        context = getApplicationContext();

    }
}

i AndroidManifest.xmlnapisz tę nazwę klasy w tagu aplikacji

 <application
    android:name="YourPakageName.EnableMultiDex"
    android:hardwareAccelerated="true"
    android:icon="@drawable/wowio_launch_logo"
    android:label="@string/app_name"
    android:largeHeap="true"
    tools:node="replace">
Manohar Reddy
źródło
ohhhhh mahn ... idealna odpowiedź ... widziałem tę odpowiedź, ale nikt nie zagłosował, więc to zlekceważyłem i poszedłem na odpowiedzi, ale nie zadziałało ... w końcu właśnie przetestowałem ten i otrzymałem, dzięki mahn. :) :) :) :)
Sachin Varma
cieszę się, że pomogło :)
Manohar Reddy
2
Głównym celem jest rozszerzenie aplikacji z MultiDexApplicationklasy zamiast z Application.
VSB
Dzięki. Miałem już aplikację w Manifeście. Rozszerzyłem go MultiDexApplication, a wyjątek zniknął w systemie Android 4.4.
CoolMind
6

Jeśli używasz Multidex na Androidzie 4.4 lub starszym , problem może polegać na tym, że klasa aktywności znajduje się w drugim pliku dex, a zatem nie została znaleziona przez system Android.

Aby zachować swoją klasę aktywności w głównym pliku dex, zobacz tę stronę:

https://developer.android.com/studio/build/multidex.html#keep


Aby znaleźć klasy znajdujące się w pliku dex, użyj Android Studio .

Po prostu przeciągnij i upuść swój apk do Android Studio. Powinieneś być w stanie zobaczyć swoje pliki dex w eksploratorze apk.

Następnie wybierz plik dex, aby zobaczyć, jakie klasy są w środku.


inną alternatywą jest dexdump:

Możesz sprawdzić zawartość swoich plików dex zawartych w apk za pomocą polecenia dexdump, które można znaleźć w

android-sdk / build-tools / 27.0.3 / dexdump

Użytkownicy systemu Windows zobaczą to narzędzie, które stworzyłem, aby ułatwić proces

BenBenMushi
źródło
1
Łącząc własne narzędzie, zadeklaruj, że je posiadasz .
LW001
5

W moim przypadku to proces minifikacji proguard spowodował usunięcie niektórych ważnych klas z mojego apk produkcyjnego.

Rozwiązaniem była edycja pliku proguard-rules.pro i dodanie:

-keep class com.someimportant3rdpartypackage.** { *; }
Bądź wolny
źródło
3

1) Utwórz folder libs w katalogu głównym projektu
2) Skopiuj i wklej do niego plik jar
3) Skonfiguruj ścieżkę kompilacji (Dodaj jar)
4) Wyczyść i uruchom

okrzyki :-)

Mohanraj Balasubramaniam
źródło
3

Wierz mi lub nie ... Wypróbowałem prawie każdą odpowiedź, którą znalazłem tutaj na stackoverflow. Nic nie pomogło, dopóki nie uruchomiłem ponownie maszyny. Moje Android Studio działa na Ubuntu 16.04 LTS.

Piotr Miller
źródło
To samo tutaj, wypróbowałem wszystko i uruchom ponownie po komentarzu. Widziałam w moim wyjściu odniesienie do nazwy klasy refactored, że „nie można odnaleźć” mimo wymazać cały folder build .. dopiero zaczyna android
Alwin Kesler
2

Raz napotkałem ten błąd, kiedy zdefiniowałem klasę, która rozszerzyła widok, ale odniosłem się do tego niestandardowego widoku w pliku układu z niewłaściwą nazwą. Zamiast tego <com.example.customview/>umieściłem <com.customview/>w pliku układu XML.

Cena £
źródło
2

Napotkałem ten sam problem i rozwiązałem go, wykonując następujące czynności:

Z menu budowania wybierz

1- czysty projekt.

2- Zbuduj APK.

Aaeb
źródło
Zawsze spędzam godziny szukając rozwiązania na SO i okazuje się, że Clean -> Build to wszystko, co musiałem zrobić.
Shishir Shetty
2

Spotkałem ten sam problem i zauważyłem, że przykładowy kod został umieszczony w katalogu „java” zamiast w katalogu „src”. Po przeniesieniu kodu do src problem został rozwiązany.

Upewnij się również, że katalog aplikacji jest podzielony na wiele folderów. np. /main/com/site/appname/nie/main/com.site.appname/

Mam nadzieję, że to działa ~

weiweia
źródło
Udało ci się rozwiązać problem, który miałem na głowie! Za mało snu, nawet nie zdawałem sobie sprawy, że zajęcia są w folderze Java :)
bran.io
2

Mam ten sam problem i po wielu pracach i poszukiwaniach znalazłem rozwiązanie: właśnie wyczyściłem projekt, a następnie zbudowałem apk. -Build-> Clean Project -Build-> Build APK (s) Mam nadzieję, że jest przydatny .....

Mohamad Abdallah
źródło
1

Niedawno miałem ten problem i używam Android Studio 0.8.4

Problem polegał na tym, że zdecydowałem się zmienić nazwę pliku układu menu XML, który nazywał się main.xml.

Kliknij go prawym przyciskiem myszy i wybierz Refactor -> Rename . Przed zmianą nazwy należy odznaczyć opcję „Szukaj w komentarzach i ciągach znaków” i nacisnąć Refactor .

Ponieważ mój plik pierwotnie nosił nazwę „main” , zmieniono nazwy ścieżek krytycznych w app.iml i build.gradle, głównie java.srcDirs w build.gradle, ponieważ ścieżka jest zdefiniowana jako 'src/main/java'.

Mam nadzieję, że pomoże to każdemu, kto może mieć ten problem.

GoranZarkovic
źródło
1

Miałem ten problem po uaktualnieniu z wersji 18. Po aktualizacji miałem następujące informacje: Project Build Target to 5.01, targetSDKVersion = 21

Ale: Narzędzia do budowania nadal pochodziły z Androida 4.3.1 (18) Zauważyłem, że te aplikacje, które wywodziły się z ActionBarActivity, zawiesiły się z powyższym błędem i te, które nadal nie działały.

Tak więc prostą poprawką było użycie najnowszego Android SDK Build Tools 21.1.2 zamiast tylko tych z Android SDK Build Tools 18, który wydaje się być domyślny.

Więc winowajcą wydaje się biblioteka Appcompat, której używam do wstecznej kompatybilności Actionbar.

A przy okazji : używając biblioteki appcompat musiałem ustawić / naprawić: $SDKInstallDIR$\Android\android-sdk\extras\android\support\v7\appcompat\project.properties target=android-21(co było zalecane w innym przydatnym poście i ma domyślnie wartość 19))

Piotra Rudnika
źródło
1

Miałem ten sam problem w systemie Windows. Zmieniłem nazwę ścieżki do projektu na coś zawierającego spację.

Upewnij się, że ścieżka do projektu nie zawiera spacji.

Vincent Hubert
źródło
O jakiej ścieżce mówisz?
Quality Catalyst
1

Rozwiązanie wymienione tutaj -> Rozwiązanie Multidex Issue działało dla mnie. Poniżej znajduje się lista elementów, które należy dodać do kontekstu aplikacji:

@Override
protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    MultiDex.install(this);
}
Pranaysharma
źródło
0

Miałem ten problem, spowodowany kilkoma przyczynami, ale widzę go w Twoim " **Unable to instantiate activity ComponentInfo{...}: java.lang.ClassNotFoundException: Didn't find class "..." on path: DexPathList[[**" śladzie stosu. Znalazłem różnicę w moim, .classpathzanim przestał działać.

 <?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
    <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
    <classpathentry kind="src" path="gen"/>
    <classpathentry kind="output" path="bin/classes"/>
</classpath>

Dodałem wiersz:

<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>

to jest ostateczna wersja:

  <?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
    <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
    <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
    <classpathentry kind="src" path="gen"/>
    <classpathentry kind="output" path="bin/classes"/>
</classpath>

Teraz działa! =)

Jorgesys
źródło
0

Miałem dokładnie ten sam problem. Jak zasugerował @weiweia, przenieś kod z katalogu java do src. Usunąłem również zależności systemu Android z Project -> Properties -> Java Build Path -> Order and Export, i upewniłem się, że na ekranie Androida uwzględniono tylko projekty biblioteki.

bran.io
źródło
0

Miałem ten problem od dłuższego czasu i jak wszyscy inni powyższe odpowiedzi nie dotyczyły mojego projektu.

W moim projekcie połączyłem projekt z moim projektem i wyrzucał ClassDefNotFoundError za każdym razem, gdy wykonywany był jakiś kod dla innego projektu.

Więc to było moje rozwiązanie. Poszedłem do właściwości projektu mojego projektu i ścieżki budowania Java. Nacisnąłem kartę „Source” i „link source” z folderu src innego projektu do mojego własnego projektu i nazwałam nowy folder „core-src”.

Mam nadzieję, że to rozwiązanie komuś pomoże

user3906863
źródło
0

Miałem ten sam problem. Używam Xamarin.Android.

Problem w moim przypadku polegał na tym, że zmieniłem versionCode i versionName.

Nie miałem problemu, gdy ustawiłem je w ten sposób:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="pac.ka.ge" android:versionCode="1" android:versionName="1.0" android:installLocation="auto">

Problem pojawił się, gdy zmieniłem go na ten (versionCode 2 i versionName 0.0.1):

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package=" pac.ka.ge " android:versionCode="2" android:versionName="0.0.1" android:installLocation="auto">

Naprawiłem problem, zmieniając kod wersji 2 i nazwa wersji 1.0.0.1, na przykład:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package=" pac.ka.ge " android:versionCode="2" android:versionName="1.0.0.1" android:installLocation="auto">

Nie jestem pewien, dlaczego był to problem, może Android nie lubi niższej wersji nazwa z wyższym kodem wersji?

Znalazłem następujące na http://developer.android.com/guide/topics/manifest/manifest-element.html#vname

android: versionCode Wewnętrzny numer wersji. Ta liczba jest używana tylko do określenia, czy jedna wersja jest nowsza od innej, przy czym wyższe liczby oznaczają nowsze wersje. To nie jest numer wersji wyświetlany użytkownikom; ta liczba jest ustawiana przez atrybut versionName. Wartość musi być liczbą całkowitą, np. „100”. Możesz go zdefiniować w dowolny sposób, o ile każda kolejna wersja ma wyższy numer. Na przykład może to być numer kompilacji. Możesz też przetłumaczyć numer wersji w formacie „xy” na liczbę całkowitą, kodując „x” i „y” oddzielnie w dolnych i górnych 16 bitach. Możesz też po prostu zwiększyć tę liczbę o jeden za każdym razem, gdy zostanie wydana nowa wersja.

android: versionName Numer wersji wyświetlany użytkownikom. Ten atrybut można ustawić jako nieprzetworzony ciąg lub jako odniesienie do zasobu ciągu. Ciąg nie ma innego celu niż wyświetlenie go użytkownikom. Atrybut versionCode zawiera znaczący numer wersji używany wewnętrznie.

PeterH
źródło
0

Na wszelki wypadek, gdyby ktoś napotkał ten sam problem co ja i żadna sugerowana odpowiedź tutaj nie pomaga.

Dla mnie powodem było to, że refaktor studia Android jest wadliwy. Przeniosłem wewnętrzną klasę poza klasę, która była Widokiem i dlatego miała również XML, w którym została ustawiona bezpośrednia ścieżka. Ta ścieżka nie zostanie zmieniona przez studio! I żaden błąd nie zostanie wyrzucony.

Mam nadzieję, że to pomoże każdemu. Twoje zdrowie.

JacksOnF1re
źródło
0

W naszym przypadku chcieliśmy skompilować wersję Vagrant i mieliśmy ten sam błąd. Naprawiliśmy ją clean projecti rebuild projectw menu Build

Rafael
źródło
0

Właśnie zrestartowałem urządzenie i uruchomiłem aplikację. Zadziałało bez żadnych problemów. Mam nadzieję, że to komuś pomoże :)

Kameswari
źródło
0

Znalazłem ten błąd w Android Studio, kiedy próbowałem debugować na urządzeniu z API 23 , więc sprawdziłem Android Studio i zauważyłem, że nie zainstalowałem tej wersji API 23 . Po instalacji rozwiązałem problem.

Rodrigo Celebrone
źródło
0

Miałem ten problem kilka razy i często nie robiłem czegoś ewidentnie złego z zależnościami.

Zawsze dobrze jest sprawdzić, czy ta klasa „nie znaleziono” jest obecna w ostatecznej wersji APK. Jeśli tak, jak to się zdarzyło w moich przypadkach, problem zwykle jest następujący:

Nie chodzi o to, że dana klasa nie została znaleziona, ale nie można jej załadować, ponieważ brakuje jej superklasy.

Sprawdź, czy klasa, którą rozszerzasz, jest dostępna, a następnie spróbuj odpowiednio naprawić skrypt kompilacji lub zależności.

michalbrz
źródło