Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Fangen wir doch mal mit denen, in der Soucecode von Android 9 geschrieben ist an.
Schaetze mal C und Python (Weil ich mir ihn noch nicht anschauen konnte).
Fangen wir doch mal mit denen, in der Soucecode von Android 9 geschrieben ist an.
Schaetze mal C und Python (Weil ich mir ihn noch nicht anschauen konnte).
[ChatGPT] Der Quellcode von Android 9 (Pie) ist größtenteils in den folgenden Programmiersprachen geschrieben:
Java: Der größte Teil der Android-Anwendungs-APIs und Frameworks ist in Java geschrieben. Dies umfasst die APIs, die von App-Entwicklern genutzt werden.
C und C++: Der Kern von Android, einschließlich des Android Runtime (ART), der Hardware-Abstraction-Layer (HAL), der Systemdienste und nativen Bibliotheken, ist in C und C++ implementiert.
Kotlin: Während Kotlin erst mit Android 8 (Oreo) offiziell als unterstützte Sprache eingeführt wurde, wurde es ab Android 9 verstärkt für die Entwicklung von Apps und einigen Framework-Komponenten eingesetzt.
Assembly: Einige Teile des Betriebssystems, wie Low-Level-Treiber oder Prozessor-spezifischer Code, enthalten Assembly für maximale Leistung.
Shell-Skripte und Python: Für Build-Systeme, Tests und Automatisierung werden oft Shell-Skripte (z. B. Bash) und Python verwendet.
Ergänzung ()
diogeneo schrieb:
Fangen wir doch mal mit denen, in der Soucecode von Android 9 geschrieben ist an.
Schaetze mal C und Python (Weil ich mir ihn noch nicht anschauen konnte).
An sich sind das Informationen, die schon im 1. Post stehen müssten.
Und dann wunderst du dich, wenn viele deiner Post gesperrt werden.
Die Frage könnte man sich selbst stellen und auch selbst beantworten. Aber wenn man laufend unspezifisch kommuniziert, dann kommt man nicht zu dem Punkt.
Wollte ich nur loswerden.
Dann zu dem, was du da "vorhast", wenn du wirklich dir sicher bist, sagt ChatGPT:
Das Erstellen von UML-Diagrammen (z. B. Klassendiagramme, Sequenzdiagramme, etc.) zur Laufzeit des Android-9-Kernels ist eine sehr spezifische Anforderung und unterscheidet sich von der Visualisierung von App-Daten. UML-Diagramme zur Laufzeit zu generieren, erfordert eine Kombination aus Laufzeitanalyse und spezieller Software. Hier sind die relevanten Möglichkeiten:
1. Debugging- und Profiler-Tools
Für das Android-System und den Kernel:
Systrace: Ein Tool, das die Laufzeitleistung des Systems analysiert. Es erstellt zwar keine UML-Diagramme, kann jedoch Ablaufanalysen liefern.
Perfetto: Für detaillierte Ablaufverfolgung von Systemprozessen.
Android Studio Profiler: Liefert keine UML-Diagramme, zeigt aber den Laufzeitzustand von Threads und Speicher.
2. Dynamische UML-Generierung
Es gibt Tools und Frameworks, die UML-Diagramme aus Code oder Laufzeitinformationen generieren können. Um dies auf Kernel-Ebene oder im nativen Bereich von Android anzuwenden, sind spezielle Anpassungen notwendig:
PlantUML mit Laufzeitdaten
Beschreibung: Mit PlantUML können Sequenzdiagramme oder Klassendiagramme erzeugt werden, wenn man die Laufzeitstruktur des Systems erfasst (z. B. mit Debugging-Daten).
Workflow:
Erfasse Laufzeitdaten mit ptrace, perf oder Android Debug Bridge (ADB).
Automatisiere die Erstellung von PlantUML-Diagrammen.
Eclipse Papyrus oder ähnliche Tools (nachträglich aus Codeanalyse generiert):
Diese Tools können durch statische oder teilweise dynamische Codeanalysen Diagramme erzeugen.
3. Tracing-Tools für Kernel-Aktivitäten
Für den Kernel bietet Android spezifische Methoden, um den Zustand und die Abläufe zu überwachen:
ftrace:
Nutze ftrace, um Systemaufrufe und Kernel-Interaktionen zu überwachen.
Kombiniere diese Daten mit einer UML-Generierungssoftware, um Diagramme zu erstellen.
GDB/LLDB (Debugging-Tools):
Erfasse die Struktur und Interaktion von Klassen und Prozessen.
Nutze die Debugging-Ausgabe zur Erstellung von UML-Diagrammen.
4. Tools für spezielle UML-Diagramme
VisualVM:
Kann zur Analyse von Java-Prozessen (z. B. Android Runtime - ART) verwendet werden.
Unterstützt keine direkten UML-Diagramme, bietet aber Grundlage für Klassendiagramme.
Trace Compass:
Open-Source-Tool zur Visualisierung von Laufzeit-Traces.
Kann mit ftrace kombiniert werden, um Abläufe zu analysieren.
Fazit
Es gibt keine direkte, "out-of-the-box"-Lösung für das Erstellen von UML-Diagrammen zur Laufzeit auf Android-9-Kernel-Ebene. Ein Workflow könnte so aussehen:
Laufzeitdaten erfassen: Verwende Tools wie ftrace, systrace oder ADB.
Daten analysieren und exportieren: Automatisiere den Export relevanter Daten (Klassen, Methodenaufrufe, Sequenzen).
UML-Generierung: Verarbeite diese Daten mit Tools wie PlantUML, Papyrus oder Trace Compass.
Dies erfordert in der Regel eine Kombination aus Debugging-, Tracing- und UML-Werkzeugen sowie benutzerdefinierte Skripte.
Ergänzung ()
Wenn man sich das durchließt, dann bedeutet das VIEL -> SEHR VIEL ARBEIT, die man da noch reinstecken muss.
Wenn du ein Ziel hast, dann musst du bereit sein die Zeit zu investieren. Es wird kein Tool geben, der dir das abnimmt.
Was mich ein wenig "ärgert" ist die Tatsache, dass du an die Informationen selbst kommen könntest. Aber du schottest dich ab, brauchst dann Hilfe von anderen, die dann das machen sollen, wozu du nicht bereit bist.
Wenn ich die KI (lokal habe ich auch was am Start oder ChatGPT) nutze, dann bewerte ich die Antworten und entscheide dann, ob ich die Antwort hinnehme oder nicht.
Heute habe ich die KI nach einem Python Skript gefragt, da ich kein Python kann und eine schnelle Lösung brauchte. Dem Ergebnis habe ich schon vertraut, da ich Python Code grob lesen kann. Und das was ich da brauchte, was kein Hexenwerk.
diogeneo schrieb:
Oder ist das auch nur so phantasiert, wie das, was von MetaKI kam?
An sich sind das Informationen, die schon im 1. Post stehen müssten.
Und dann wunderst du dich, wenn viele deiner Post gesperrt werden.
Die Frage könnte man sich selbst stellen und auch selbst beantworten. Aber wenn man laufend unspezifisch kommuniziert, dann kommt man nicht zu dem Punkt.
Bin dabei es weiter zu versuchen. Aber Deine Tipps haben sehr geholfen (Vor allem auch, weil ich keinen Zugang zu Goooo habe) Danke
Und sicher, klar werde ich da viel Zeit reinstecken.
Gott sei Dank entscheide ich ja zur Zeit noch ueber meine Zeit.
Tut mir leid, wenn ich nicht dem "Standartuser" entspreche.
Ich stecke hier sehr viel Zeit ins Forum, weil es mir eben sehr viel bringt.
Also fuer mich funktioniert das "Prinzip", wenn ich nicht gerade gebannt werde, oder meine Straenge geschlossen werden, wie zuletzt der mit der Primzerlegung.
Weil mein derzeitiges Handi (Nikia 2.3) noch damit laeuft und ich vor habe, das noch eine Weile weiter zu nutzen. Abgesehen davon moechte ich alle Goooo Apps rauswefen, ohne es zu rooten, also an sich meine ich damit, ich selber die Aenderungen am OS zu machen.
Frueher haette ich einfach mit Anderen rumprobiert, bis Eins funktioniert.
Aber dieser Strang ist genau dafuer da, dass ich das nicht mehr so brute force machen muss (kann).
Kann doch nicht soooooooo schwierig sein, eine Aenderung im Android 9 zu machen. Andere konnten es ja auch.
und schon sind wir bei XY Problem, oder? Es geht dir eigentlich um dein veraltetes Handy mit einem alten Android, bei dem du Google Apps entfernen willst?
Sind wir doch mal realistisch, auf Basis deiner alten Threads kannst du wenig bis kaum programmieren, oder? Ok, du hast Informatik studiert, aber bist kein Praktiker, oder? Meinst du wirklich du kannst im Quellcode von Android agieren? Also wie willst du eigentlich vorgehen? Und was ist eigentlich dabei der Nutzen deiner urspruenglichen Anfrage in diesem Thread? Als Hilfsmittel bei der Umsetzung?
Vermutlich waere dein Eingangspost nach allem aktuell so in etwa: "Hallo, ich besitze ein aelteres Smartphone X mit Android 9, dieses wuerde ich gerne von Google Apps befreien. Da ich schon umfassend Recherche dazu betrieben habe1 und es kein Custom ROM dazu gibt, wollte ich mich selbst daran versuchen. Zeit habe ich aktuell genug. Ich weiss allerdings nicht wie das ganze Android OS zur Laufzeit funktioniert, daher dachte ich finde ein fancy Tool was mir die ganze Zeit visualisiert wo sich das System gerade im Code befindet. Natuerlich verlangsamt, weil in Echtzeit weiss ich selbst ist Quatsch.
Hat jemand dazu einen sinnvollen Ansatz? Ich besitze folgende Erfahrungen XYZ in dem Bereich, denkt ihr das ist realistisch? Oder gibt es evtl. doch noch eine Moeglichkeit das Handy ohne Google Apps zu nutzen?"
1 (hast du natuerlich nicht, da ja dank deinem alten Tails kein Google oder andere Foren funktionieren und du alternative Suchmaschinen auch nicht kennst oder nutzen magst/kannst ...)
Passt das als bisheriger Stand?
Hast du denn schon mal nachgesehen, ob und wie andere Projekte "de-Googlen" ohne Root umsetzen falls es welche gibt?
Um so etwas umzusetzen ist ein Laufzeitanalyseprogramm aber nicht unbedingt der richtige Weg. Da würde ich mir eher Tutorials zur App-Programmierung in Android ansehen, was damit einhergeht (technische Hintergründe z.B. Interaktion zwischen verschiedenen Apps, Sandboxing, App Lifecycle) und dann so Sachen wie AOSP und Custom ROM-Erstellung…
Das ist im Endeffekt auch nur eine Fortführung von seinem alten Tails-Thread, wo er der festen Überzeugung war, er könne und müsse eine uralte Tails-Version selber sicherer machen, weil ihm der Name eines Systemprogramms in den neueren Versionen Angst macht.