Verwendung von android.jar im Java-Projekt - RuntimeException Stub?

8

Ich habe versucht, android.jar in das Java-Projekt aufzunehmen, JRE aus dem Build-Pfad zu entfernen und diesen Code auszuführen. Es wird Runtime-Ausnahme ausgelöst. Warum?

%Vor%

Warum werden ContentValues ​​nur in Android-Umgebungen verwendet?

    
Emerald214 30.08.2011, 17:46
quelle

2 Antworten

16

Die android.jar im SDK enthält nur Stub-Implementierungen der SDK-Klassen, nicht die realen Implementierungen, die auf den Geräten (oder Emulatoren) gefunden werden. Das jar stellt nur die Klassenmetadaten bereit, damit Ihre Apps, die auf die SDK-Klassen verweisen, ordnungsgemäß erstellt werden.

Sie können kein Projekt erstellen, das auf die android.jar verweist, die außerhalb eines Android-Geräts ausgeführt wird.

    
antlersoft 30.08.2011, 17:51
quelle
5

android.jar enthält nur Stubs, genug, damit Sie Ihr Projekt erstellen können, wie @antlersoft erklärt hat.

Mit dem Robolectric-Projekt Ссылка können Sie Tests auf Ihrem Android-Code ausführen, ohne ein Gerät zu verwenden. Sie haben echte Builds auf Maven Ссылка

Ich habe den Großteil des Backend-Codes für Android erfolgreich ausgeführt, indem ich verwendet habe android-all Artefakt.

Kann in Ihrem speziellen Fall nicht helfen, da einige APIs immer noch außerhalb der Grenzen liegen, aber für die meisten anderen Fälle von java.lang.RuntimeException: Stub! sollten die Artefakte von Robolectric helfen.

    
soulseekah 28.11.2013 16:24
quelle

Tags und Links