当前位置: 首页 > ops >正文

Android 三方APP调用系统隐藏API

背景

在Android系统中,出于保护目的,Android framework对有些API 添加了@hide,@SystemApi注解,三方APP是无法直接通过SDK调用的。但有时我们有功能需求,期望我们的APP可以调用系统隐藏API,或我们在framework service开发了某个API,期望我们的APP可以调用这些隐藏API。

这里介绍3种Android三方APP调用系统隐藏API的方法

系统隐藏API,我们以WifiManager中的getVerboseLoggingLevel()为例,其没有权限检查,三方APP可以通过下面演示的三种方式直接调用。

http://androidxref.com/9.0.0_r3/xref/frameworks/base/wifi/java/android/net/wifi/WifiManager.java#3561

3556    /**
3557     * Get the WiFi verbose logging level.This is used by settings
3558     * to decide what to show within the picker.
3559     * @hide
3560     */
3561    public int getVerboseLoggingLevel() {
3562        try {
3563            return mService.getVerboseLoggingLevel();
3564        } catch (RemoteException e) {
3565            throw e.rethrowFromSystemServer();
3566        }
3567    }

1. 通过APP加载framework编译的classes jar的方式访问隐藏API

1.1 我这里访问的WifiManager.getVerboseLoggin

http://www.xdnf.cn/news/11378.html

相关文章:

  • 什么是可视化编程?为什么它如此重要?
  • 电脑C盘不知不觉满了?学会这6种解决方法!
  • 51 单片机基础
  • 手把手教你Apache2.4 + PHP8.39的安装(windows)及避坑问题点
  • 字节跳动-后台开发岗 面经
  • Model、Map、ModelAndView、HttpServletRequest区别
  • 更好的Java虚拟机Zing: 更好的性能,无停顿,更快的启动
  • 腾讯云 AI 代码助手保姆级使用教程
  • Sql-server 2008的安装
  • fdsfds
  • Git克隆操作
  • 【抓包工具】HttpWatch(功能详细介绍)
  • PulseAudio 设计和实现浅析
  • APB协议解读及历代协议对比
  • System.currentTimeMillis()用法以及计算方式
  • 医学案例|配对样本t检验
  • Java IO流操作(FileInputStream、ByteArrayInputStream、ObjectInputStream)
  • flash 小游戏大全
  • Android studio ListView应用设计
  • Linux修改文件名的三种方法分享
  • 虚拟局域网技术
  • LT9211 单路LVDS转双路LVDS,成熟方案,提供技术支持
  • jQuery-ui插件datepicker的参数使用详解
  • 请你记住这3款国产软件,免费又实用,它们值得收藏
  • 数据结构--抽象数据类型三元组Triplet的表示和实现
  • 网络安全行业名词_失陷主机(1)
  • DBeaver工具-虚谷数据库各级备份恢复
  • 宝塔 Linux centos Workerman换域名步骤
  • Java基础知识自学指南(一)Java快速入门
  • gentoo基本安装过程