Ich versuche, android TV-App zu Android-Studio zu bewegen, wenn ich versuche, es zu kompilieren, hatte ich einige Importfehler, konnte ich nicht die Abhängigkeit finden, die ich Build.gradleto hinzufügen kann, um diese Probleme zu beheben. Die Liste der Importe lautet:
%Vor%Die build.grdle ist:
%Vor% Sie können diese nicht importieren, da sie @SystemApi
Annotation haben. Sie können dies für die Quellcode von TvContentRatingSystemInfo
. Ich habe auch WatchedPrograms
überprüft und es hat auch @SystemApi
Annotation. Ich habe die anderen drei nicht überprüft.
Sie müssen eine System App sein, um auf diese zugreifen zu können. Wie Sie hier sehen können, müssen Sie Ihre App in den Ordner \system\
schieben. Detaillierte Informationen zum AOSP-Build-System finden Sie hier .
Lösung:
Wenn Sie in diesem github Ihre android.jar
auf die .jar-Datei ändern, sollten Sie auf die System-API zugreifen können. Der Grund dafür ist, dass Ihr Standard android.jar
keine System-API hat. Sie müssen also framework.jar
(by adb pull
) vom Emulator bekommen und mit core.jar
kombinieren, dann können Sie neue android.jar
haben, die System-API enthält (Systemmethoden und Klassen sind in framework.jar
vom Emulator verfügbar) .
Außerdem solltest du deine apk in den \system\priv-app\
-Ordner schieben, um auf eine System-API zuzugreifen, aber ich weiß nicht, warum ich auf die System-API zugreifen kann, ohne meine APK auf \system\priv-app\
zu schieben, wenn ich .jar von diesem GitHub-Konto verwende.
Ich habe das Gefühl, dass ich nicht ganz klar schreibe, aber zumindest habe ich mehr Verständnis dafür, was du gerade vor dir hast.
android.media.tv
und com.android.tv
sind Teil des Android SDK. Sie müssen also keine zusätzlichen Bibliotheken in die Datei gradle.build einfügen.
Achte nur auf Folgendes:
Aktualisieren Sie Ihre SDK-Tools auf Version 24.0.0 oder höher
und
Aktualisieren Sie Ihr SDK mit Android 5.0 (API 21) oder höher
Beispiel,
%Vor%Tags und Links java android gradle android-tv