2

Ich habe anscheinend ein ähnliches Problem mit einer Unzahl der Gemeinschaft; aber ich habe anscheinend nicht die gleichen Symptome (oder mein Google-Fu erlaubt mir zumindest nicht, es zu finden).MainActivity NoClassDefFoundError

Lange Rede kurzer Sinn: Die App gibt mir java.lang.RuntimeException: Unable to instantiate activity.

Von dem, was ich verstehe, kann dies nur durch falsche Reihenfolge des Ladens von Bibliotheken oder durch das Fehlen der Datei in der AndroidManifest.xml verursacht werden.

Hier ist meine AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="net.alexanderlyons.livingpokedex"> 

<uses-permission android:name="android.permission.INTERNET" /> 

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
    <activity android:name=".MainActivity"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 

Here is a link to my repository for those wanting to build it themselves. Wenn jemand mir Einblick, geben kann, was falsch sein könnte.

Hinweis: Dies kann an meinem .gitignore liegen, denn als ich das letzte Mal gebaut habe, war es auf meinem Hauptturm. Ich stoße dieses Problem nur auf einem Remote-Computer an.

TL: DR - Meine MainActivity lädt nicht, es existiert in der AndriodManifest.xml, und ich verwende nur Gradles, um Dateien zu laden, nicht lokale Gläser.

Antwort

1

Ihr Problem kann durch verschiedene Dinge verursacht werden, aber die häufigste davon ist, dass Sie zu viele Bibliotheken geladen haben, mit zu vielen Methoden.

Sie sollten multidex in Ihrer App aktivieren, hier ist der Führer:

multidex

Eine kurze Einführung:

Add "multiDexEnabled true" zu Ihrem gradle config (unter Ziel sdk Version, zum Beispiel).

Fügen Sie diese auf Ihre Abhängigkeiten:

dependencies { 
    compile 'com.android.support:multidex:1.0.0' 
} 

Und stellen Sie sicher Anwendung erweitert diese:

<application 
     ... 
     android:name="android.support.multidex.MultiDexApplication"> 
     ... 
    </application> 

Entweder über Code oder über manifestieren.

Edit:

Testen Sie das Projekt mit den Build-Tool 22, SD-Version 22 und Ziel 22 Verwenden Sie auch die Support-Bibliotheken 22 +

+0

Das ist nicht mein Problem zu beheben. Ich benutze derzeit nur, was ich glaube, um einige Bibliotheken zu sein. [Dies ist meine App build.gradle] (https://github.com/alyons/Living-Pokedex/blob/master/Andiod/LivingPokedex/app/build.gradle); scheint es, als würde ich zu viele Bibliotheken laden? –

+0

Sie sollten diese Problemumgehung versuchen, die ein Freund von mir fand, um das Problem zu finden: Testen Sie das Projekt mit den Build-Tools 22, SD-Version 22 und Ziel 22. Verwenden Sie auch die Support-Bibliotheken 22. + – W0MP3R