2016-08-09 55 views
1

Ich habe versucht, eine benutzerdefinierte HAL, API und System-Service mit diesem Link https://github.com/nayobix/add-new-hardware-hal-android-5-lollipop (auch geprüft paar andere)Erstellen von Systemdienst in android

Ich folgte jede Anweisung und Code und machte die system.img Umsetzung.

Ich benutze Android 5.1.1 Quelle, um das Systembild zu erstellen.

Aber das Gerät startet nicht, wenn ich das Logcat in Android Studio überprüfte. Ich habe festgestellt, dass der Systemdienst nicht geladen wird.

08-09 11:32:27.123 160-160/? I/DEBUG: Abort message: 'art/runtime/jni_internal.cc:769] JNI FatalError called: Native registration unable to find class 'com/android/server/ZigbeeService'; aborting...' 
08-09 11:32:27.123 160-160/? I/DEBUG:  #09 pc 000174bd /system/lib/libandroid_servers.so (JNI_OnLoad+172) 
08-09 11:32:27.336 20208-20208/? E/Zygote: Exit zygote because system server (20435) has terminated 

Auch während des Kompilierens bekam ich einige Warnungen wie.

Note: Some input files use or override a deprecated API. 
Note: Recompile with -Xlint:deprecation for details. 
Note: Some input files use unchecked or unsafe operations. 
Note: Recompile with -Xlint:unchecked for details. 
+0

Haben Sie versucht, die gesamte Quelle von Grund auf neu zu erstellen? @Jaffin MK –

+0

Vielen Dank für Ihre Antwort. ja ich tat, ich machte 'update-api' und dann '-j8' zu kompilieren und die system.img-Datei zu erstellen – jcxmej

+0

Ich bekomme das Gefühl. Ich habe alles richtig gemacht mit dem Code, aber das Problem besteht darin, die Quelle zu kompilieren. Die Warnungen, die ich bekommen habe. Ein Fehler beim Java-Compilieren ?? – jcxmej

Antwort

1

Gelöst es. Ich musste von vorne anfangen, die gesamte Quelle neu erstellen und kompilieren.

Der GitHub war wenig falsch. Eigentlich musste ich einen anderen Ordner erstellen, um die Service-Java-Klassendatei zu erstellen. Deshalb konnte Android es nicht finden (gemäß der Debug-Nachricht).

passiert, wenn Sie folgen jemand arbeitet blind. Danke für die Hilfe Jungs.

+0

Sie sollten Ihre eigene Antwort als richtig markieren, so dass es leicht zu sehen ist, wenn Sie diese Seite besuchen. – Bobbake4

+0

Ich bin neu mit der Website. Danke für den Tipp. – jcxmej

0

Der Code in diesem Projekt ist für 5.0.1 (Lollipop), wo Sie für 5.1.1 bauen (auch Lutscher, aber anders). Stellen Sie sicher, dass die Dateien des Core-Frameworks, HAL usw. nur mit den Änderungen aus diesem Repo in Ihren AOSP gepatcht und nicht kopiert wurden. Wenn Sie einfach die Dateien aus diesem Repo kopiert haben, haben Sie wahrscheinlich etwas gelöscht, das zum Systemserver oder anderen Framework-Komponenten zwischen 5.0.1 und 5.1.1 hinzugefügt wurde. Wahrscheinlich müssen Sie die Dateien manuell untersuchen und patchen.

+0

Vielen Dank für Ihre Antwort. Ich habe keine Datei kopiert von dem Link kopiert. Ich habe den entsprechenden Code aus dem Link eingefügt und die vorhandenen Dateien geändert. Und erstellte die neuen Dateien wo immer nötig. Was jemals existiert hat, bleibt als solches bestehen. Ich habe nur wenig hinzugefügt. Aber ich bin mir nicht sicher, ob ich den falschen Ordner oder die falsche Datei hinzugefügt habe. Aber ich überprüfte mit anderen Links, die mir das gleiche sagen. – jcxmej

+0

Sie können auch angeben, welche Warnungen beim Kompilieren der Quelle angezeigt werden. WENN das der Grund für all diese Unordnung sein könnte? – jcxmej

+0

Diese Warnungen sind beim Erstellen von AOSP ziemlich normal, sie sollten nichts sein, worüber Sie sich Sorgen machen müssen. Wenn Sie AOSP gepackt haben, sind Sie sicher, dass Sie 5.1.1 von einem Release-Tag und nicht vom 'Master'-Zweig ergriffen haben? Der 'Master'-Zweig wird im Allgemeinen als instabil betrachtet. Zu @ JaffinmKs Punkt oben, möchten Sie vielleicht zunächst den AOSP-Bestand erstellen und sicherstellen, dass Ihr Basis-Build gut ist, bevor Sie Patches/Änderungen hinzufügen. –