Vollständige Android API

J

JanF

Stammgast
82
Hallo,

ich will mich jetzt auch mal ein wenig an der Entwicklung versuchen - an einem Widget zum Wechsel von 3G in 2G. Leider brauche ich dazu auch Zugriff auf die "hidden" classes und Methoden von Android. Hat jemand von Euch damit bereits Erfahrungen gesammelt, wie man den Zugriff darauf bekommen?

Ich habe mir von meinem GalaxyS "framework" gezogen und ausgepackt, die android.jar ausgepackt, und beides zusammen in ein neues android.jar gepackt (die Klassen aus der alten android.jar (Version 8 = 2.2) habe ich dabei überschrieben.

Dann habe ich versucht, aus dem Quellcode von Android in eclipse die PhoneApp, die auch noch gebraucht wird (oder ich muss was mocken). Leider werden hier einige Klassen nicht gefunden, obwohl sie an richtiger Stelle in meiner android.jar liegen.

Hatte jemand mit einem ähnlichen Vorgehen schon einmal Erfolg?
 
Wenn der Kram auf den Geräten vorhanden ist und nur nicht im SDK, dann kannst du die Klassen doch einfach per Reflection benutzen.
 
Ist aber viel langsamer als der direkte Access, welcher ja theoretisch möglich wäre..
Es müsste möglich sein sich den android souce code mit git zu holen und dann selber zu kompilieren, undzwar so dass alle Files in die .jar kommen..
 
Fr4gg0r schrieb:
Ist aber viel langsamer als der direkte Access, welcher ja theoretisch möglich wäre..
Es müsste möglich sein sich den android souce code mit git zu holen und dann selber zu kompilieren, undzwar so dass alle Files in die .jar kommen..

Naja, bei der Anwendung dürfte das nichts ausmachen.
 
Das dürfte stimmen^^
Sofern es nur ein paar Zeilen Code sind könnteste auch deine app decompilen und dort dann die Aufrufe einfügen... würde aber eher auf Reflection zurückgreifen. ;)
 
Vielen Dank für die Tipps. Reflections kannte ich noch gar nicht und ich bräuchte noch ein wenig, mich da einzulesen.
Ich habe mir für meinen Zweck einfach ein 'mockprojekt' angelegt mit den Methoden, die ich brauchte (waren nur 2 klassen), damit die .apk baute. Bei der Ausführung auf dem Emulator wurde sowieso die vollständige API genommen.
Leider hat mir androids Rechtesystem einen Strich durch die Umsetzung gemacht. Wenn ich es richtig sehe, braucht man root-Rechte, um einer App die gleiche ID wie Systemapps zu geben, dies kommt für mich aber nicht in Frage, ich will meine Telefone nicht rooten. Auf jeden Fall habe ich bei dem Versuch viel über Android gelernt.

Gesendet mit der Android-Hilfe.de-App
 
Solang du nicht kommerziell entwickelst (womöglich für eine Firma), würde ich sagen gehört rooten zum Entwickeln dazu.^^
 

Ähnliche Themen

2
Antworten
6
Aufrufe
261
24559
2
M
Antworten
4
Aufrufe
1.171
swa00
swa00
Zurück
Oben Unten