Api oculta del sistema de llamadas de Android APK

APK llama api oculta

Ejemplo de llamada a SerialService

1, , frameworks \ base \ core \ java \ android \ hardware \ SerialManager.java

   Agrega el siguiente código:

    public static SerialManager getInstance(Context context){

        mSerialManager = (SerialManager)context.getSystemService(Context.SERIAL_SERVICE);

        return mSerialManager;

}

2. Compila el código para generar class.jar

   Comando: ./buildall_userdebug.sh B5528BIO

   Después de una compilación exitosa, generará

out \ target \ common \ obj \ JAVA_LIBRARIES \ framework_intermediates \ classes.jar

3. Cambie el nombre de classes.jar a framework.jar e impórtelo a Android Studio, como se muestra en la figura:

          

 

4. Agregue el siguiente código en build.gradle bajo proyecto

  

 

5. Llame al método SerialManager.java ->  getInstance ()

 

Llamar a la aplicación getSerialPorts () debe obtener el permiso android.permission.SERIAL_PORT

 

Si una aplicación que no pertenece al sistema obtiene este permiso, se informará un error. Debe modificar la configuración predeterminada de Android Studio de la siguiente manera:

 

Luego compile y genere apk, construya este apk en el sistema,

  1. Cree una carpeta en Paquetes / aplicaciones /, agregue el archivo android.mk e importe el apk generado por el estudio, como se muestra en la figura:

      

 

  1. anroid.mk modificar compilación

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := MyApplicition

LOCAL_MODULE_TAGS := optional 

LOCAL_SRC_FILES := MyApplicition.apk

LOCAL_MODULE_CLASS := APPS

LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)


LOCAL_PREBUILT_JNI_LIBS := \
	@lib/armeabi-v7a/liben_data_bundle.so \
	@lib/armeabi-v7a/libgnustl_shared.so \
	@lib/armeabi-v7a/libhmm_gesture_hwr_zh.so \
	@lib/armeabi-v7a/libhwrword.so \
	@lib/armeabi-v7a/libpinyin_data_bundle.so


LOCAL_MODULE_PATH := $(TARGET_OUT)/app

LOCAL_CERTIFICATE := platform

LOCAL_DEX_PREOPT := false

LOCAL_PACKAGE_NAME := MyApplicition
LOCAL_PRIVATE_PLATFORM_APIS := true
include $(BUILD_PREBUILT)

 

  1. device \ mediatek \ mt6761 \ device.mk agregar macro
PRODUCT_PACKAGES += MyApplicition

 

  1. ./buildall_userdebug.sh B5528BIO

La compilación exitosa generará apk en el sistema / aplicación

 

Supongo que te gusta

Origin blog.csdn.net/liu362732346/article/details/102970544
Recomendado
Clasificación