Versteckte Android-APIs sind Klassen, Methoden und Ressourcen, die Google aus Stabilitätsgründen vor Ihnen verbirgt. Diese Funktionen sind ausgeblendet, da sie in der nächsten API-Version möglicherweise geändert werden.
Die internen APIs befinden sich im Paket com.android.internal
und sind im framework.jar
verfügbar, während sich die versteckten APIs in der Datei android.jar
mit dem Javadoc-Attribut @hide
befinden. Jetzt kennen Sie den Unterschied. Aber ich werde beide als versteckte APIs bezeichnen.
Dieses Repo enthält eine benutzerdefinierte android.jar
, die Sie zum Entwickeln Ihrer App verwenden können. Wenn Sie jedoch dringend Ihre eigene android.jar
erstellen müssen, verrate ich Ihnen hier auch das Krabby-Patty-Geheimrezept: Erstellen Sie Ihre eigenen versteckten Android-APIs.
android.jar
Dateiandroid.jar
von Google Drive herunter./platforms/
.android-30/android.jar
.compileSdkVersion
und targetSdkVersion
auf 30 (zum Beispiel). Hinweis: Höhere compileSdkVersion
und targetSdkVersion
sind besser.
Wenn Sie statt interner Klassen oder Methoden nur interne Android-Ressourcen verwenden möchten, gehen Sie wie folgt vor:
dependencies {
implementation ' com.anggrayudi:android-hidden-api:30.0 '
}
Hier ist ein Beispiel für den Zugriff auf interne Ressourcen:
String accept = InternalAccessor . getString ( "accept" );
float sbar_height = InternalAccessor . getDimension ( "status_bar_height" );
int notif_color = InternalAccessor . getColor ( "config_defaultNotificationColor" );
Wenn Sie über eine eigene benutzerdefinierte android.jar
verfügen und diese zu Google Drive hinzufügen möchten, erstellen Sie bitte ein Problem. Ich werde es hochladen.
Copyright 2015-2020 Anggrayudi Hardiannicko A.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.