Ich habe einige wiederverwendbare Android-Komponente entwickelt, die im Grunde eine Klasse ist. Diese Klasse weist einige Ressourcenabhängigkeiten auf, z. einige png-Zeichen, einige XML-Layouts usw. Diese Klasse referenzierte also die automatisch generierte R-Datei. Ich möchte diesen Code in einem einzigen Paket wie JAR-Datei an andere Entwickler zur Verwendung in ihren Anwendungen verteilen.Wie verteilt man den wiederverwendbaren Android-Code in einem Paket?
Ich habe gelesen, dass die einzige mögliche Lösung ist, Code zusammen mit all meinen Ressourcen zu verteilen, die andere in ihren Ordner "res" (source) kopieren müssen.
Also habe ich eine JAR-Datei mit der Klassendatei (sagen MyClass, die in dem Paket com.xyz.android.app
ist) und Ressourcen erstellt und versucht, dies in meiner neuen Anwendung zu verwenden.
Also fügte ich die JAR-Datei zu meinem neuen Anwendungen Build-Pfad mit add external jars
Option in Eclipse und kopierte alle Ressourcen in die res-Ordner meiner neuen Anwendung. (Die Aktivität Klasse sagen MainActivity meiner neuen Anwendung ist in com.abc.myapplication
Paket, nur für den Fall, wenn es hilfreich sein kann)
Aber wenn ich diese neue Anwendung ausführen gibt es java.lang.ClassCastException
in der MyClass-Klasse. Ich habe versucht, die Anwendung zu debuggen, und dann habe ich festgestellt, dass in der MyClass-Klasse gibt es "R kann nicht gelöst werden" Problem.
Dann änderte ich MainActivity Paket zu com.xyz.android.app
(was nicht der Weg ist, andere Entwickler werden gerne tun), aber wieder das gleiche Problem.
Aber wenn ich nur die Quelle Java-Datei so kopieren, dass sowohl MainActivity.java und MyClass.java sind in com.xyz.android.app Paket dann läuft die Anwendung gut.
Also, wenn ich so verteilen muss, dass andere Benutzer diese Paketnamen Dinge nicht stören müssen, wie kann ich dies erreichen? Bitte helfen Sie !!
bearbeiten
In android.jar, gibt es auch einige Ressourcen. Wie werden sie in einem Projekt referenziert? Wie werden sie in Android-Klassen verwendet? Es gibt auch android.R Datei?
Ist es nicht möglich, die gleiche Sache zu machen, d. H. JAR-Datei wie android.jar für meinen wiederverwendbaren Code zu machen?
Klingt vielversprechend. Ich werde es mir ansehen! –
In android.jar gibt es auch einige Ressourcen. Wie werden sie in einem Projekt referenziert? Wie werden sie in Android-Klassen verwendet? Es gibt auch android.R Datei? – Vasu
Die "android.R-Datei" ist in das Betriebssystem integriert. Sie müssen es nicht verteilen, und die numerischen Werte ändern sich nicht. Also, das ist sicher ohne zusätzliche Arbeit zu verwenden. – CommonsWare