2

Ich muss eine versteckte Klasse durch ein SDK Add-On in Android Lollipop exportieren. Ich kann nicht verborgene Klassen exportieren. Nachdem ich erfolglos den "normalen Weg" versucht hatte, dachte ich, dass das Problem auf das @hide-Tag zurückzuführen war. Also entschied ich mich, den "schmutzigen" Weg zu versuchen, das @hide-Schlüsselwort loszuwerden, das dafür verantwortlich ist, die Klasse zu verstecken (selbst wenn das offensichtlich die Kompatibilität mit der Standard-API zerstören würde). Nachdem Sie das Schlüsselwort @hide entfernt und die Klasse mit #include (BUILD_JAVA_LIBRARY) in Android.mk erstellt haben, ist die Jar-Datei der Java-Bibliothek leer. Also habe ich zwei Fragen:Android SDK Add-On versteckte Klasse

  1. Warum ist die Jar-Datei leer, auch wenn die DEX-Datei die Klasse enthält?
  2. Wie erreiche ich dasselbe Ergebnis, ohne das Schlüsselwort @hide zu entfernen?

Vielen Dank.

Anmerkung: Ich habe diese Ressourcen als Referenzen/Dokumentation verwendet: http://elinux.org/images/5/5c/Build_and_Distributing_SDK_Add-Ons.pdf https://newcircle.com/s/post/1571/exploring_sdk_add_ons_for_android_devices_larry_schiefer_video

+0

Ich bin mir nicht sicher, ob das Schlüsselwort @hide eine Rolle bei dem, was ich versuche, spielt ... – salvo

Antwort

0

Ich habe eine Lösung von mir gefunden und es nicht wirklich den @hide Tag beinhaltet. Also habe ich das @hide-Tag wiederhergestellt. Das Tag @hide ist nur beim Erstellen des Standard-SDK sinnvoll. Dann habe ich den Paketqualifizierten Klassennamen "+ Paketname.Klassenname" ersetzt, um mit etwas wie "+ Paketname. *" In die Add-On-Defs-Datei zu exportieren. Nach dem Reinigen und Neuaufbau des Add-Ons sind alle exportierten Klassen vorhanden.