2016-11-18 2 views
0

Auf einem Projekt, das ich vor kurzem von Eclipse Android Studio migriert wurde ich eine Instanz der gefürchteten Untersuchung „ClassNotFoundException: nicht Klasse auf dem Weg finden Haben: DexPathList“ (Eine Diskussion über diese Art von Problem finden Sie hier: Android ClassNotFoundException: Didn't find class on path) und ich habe es auf das Format meiner AndroidManifest.xml-Datei verfolgt.Android-Manifest-Datei und der „Punkt“ vor Aktivität Namen

Ich hatte nämlich einen voll qualifizierten Paketnamen, aber der Name der Aktivität wurde als angegeben. . .

<activity android:name="MyActivity" ... 

... wenn das, was gesucht wurde, war ...

<activity android:name=".MyActivity" ... 

... beachten Sie den "Punkt" vor dem Aktivitätsnamen. Aber keine der AndroidManifest.xml-Dateien unter meinen Eclipse-Projekten hat diesen Punkt und sie bauen und laufen gut. Der andere Unterschied zwischen meinen Eclipse-Projekten und den Android Studio-Versionen besteht darin, dass die App für Letzteres auf ein Gerät mit einer neueren Version des Betriebssystems geladen wurde - Lollipop vs Kitkat (obwohl dies für die Versandversion nicht unbedingt erforderlich ist).

Also meine Frage ist, ist dieses Format mit dem Punkt eine neue Funktion für das Betriebssystem, oder ist es eine Anforderung in Bezug auf Android Studio, oder was? War es immer dort gewesen, aber Eclipse hat es nicht verstanden? Wie bin ich damit bisher davongekommen?

+0

Immer noch mit Eclipse? xD – Chisko

Antwort

1

Ich verfolgt es auf das Format meines AndroidManifest.xml unten

Sie denken Datei, die Sie getan haben.

hatte ich ein voll qualifizierten Paketnamen, aber die Aktivität Namen wie angegeben wurden ... aber was ich wollte, war ...

Diejenigen, die gleiche Bedeutung hat: dass die voll qualifizierten Klassennamen der Aktivität enthält den Paketnamen, der im Attribut package im Manifest angegeben ist.

ist dieses Format mit dem Punkt ein neues Feature für das O

Nr

oder ist es eine Anforderung an Android Studio

Nr

bezogen Für Vorspeisen, es ist keine Voraussetzung. Wenn Sie durch the several hundred projects in my book puttern, werden Sie sowohl mit Punkt- als auch mit Sans-Dot-Deklarationen (zusammen mit vollständig qualifizierten Paketnamen, gelegentlich) finden.

Hat es schon immer da gewesen

Mein Gedächtnis für die 2008-Jahrgang Android baut unscharf. Beide Ansätze werden seit mehr als 5 Jahren unterstützt.

Wie bin ich damit bisher davongekommen?

Da beide Ansätze gültig sind.

Verwandte Themen