位置: 编程技术 - 正文

使用android hide API(使用Android Go的手机)

编辑:rootadmin
使用androidhide API

推荐整理分享使用android hide API(使用Android Go的手机),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:使用权资产的账务处理,使用灭火器时要对准火焰的什么部位喷射,使用灭火器人要站在上风口还是下风口,使用其他机动车号牌行驶证扣几分,使用驱动器u盘之前需要格式化,使用Android Go的手机,使用灭火器时要对准火焰的什么部位喷射,使用驱动器u盘之前需要格式化,内容如对您有帮助,希望把文章链接给更多的朋友!

Android有两种类型的API是不能经由SDK访问的。

第一种是位于com.android.internal包中的API。我将称之为internalAPI。第二种API类型是一系列被标记为@hide属性的类和方法。从严&#;意义上来讲,这不是一个单一的API,而是一组小的被隐藏的API,但我仍将其假设为一种API,并称之为hiddenAPI。

使用hide具体步骤分为:调用hideapi和获得使用hideAPI权限

第一,调用hideAPI

第一种方法就是使用Java反射机制了,可以利用这种反射机制访问存在访问权限的方法,另一种方法就是或修改其域自己去掉Android源码中的"@hide"标记,然后重新编译生成一个SDK。

1.1反射法,简单,但是运行时间较长

请参考:   在Java中的反射机制,被称为Reflection(大家看到这个单词,第一个想法应该就是去开发文档中搜一下了)。它允许运行中的Java程序对自身进行检查,并能直接操作程序的内部属性或方法。Reflection机制允许程序在正在执行的过程中,利用Reflection APIs取得任何已知名称的类的内部信息,包括:package、 type parameters、 superclass、 implemented interfaces、 inner classes、 outer classes、 fields、 constructors、 methods、 modifiers等,并可以在执行的过程中,动态生成Instances、变更fields内容或唤起methods。

1.2生成新的android.jarwith hide API,复杂,调用hideapi和一般API一样

基于以下事实:当你使用AndroidSDK进行开发的时候,你引用了一个非常重要的jar文件——android.jar。它位于AndroidSDK平台的文件夹中(SDK_DIR/platforms/platform-X/android.jar,其中,X表示API等级)。这个android.jar移掉了com.android.internal包中所有的类,也移掉了所有标记有@hide的类,枚举,字段和方法。

但当你在设备上启动应用程序时,它将加载framework.jar(简单来说,它和android.jar等同),而其未移掉internalAPI和hiddenAPI。(但它对开发者来说,并不能友好地访问)。

请参考: 选择你的目标平台X

2. 创建目标平台X的模拟器

3. 启动模拟器,下载/system/framework/framework.jar

adb pull /system/framework/framework.jar

4. 重命名framework.jar-> framework.zip

5. 从framework.zip中抽取classes.dex

6. 使用dex2jar工具,将其转换成classes.jar

dev2jar classes.dex

7. 重命名classes.jar-> framework-classes.zip

8. 拷贝android.jar–> custom-android.zip

9. 解压custom-android.zip至custom-android文件夹

. 将framework-classes.zip中所有文件拷贝至custom-android文件夹(覆盖存在的文件)

. 压缩custom-android文件夹成original-android.zip

. 重命名original-android.zip->original-android.jar

使用android hide API(使用Android Go的手机)

替换原来的android.jar(注意备份!!)

但是:在android5.0下Android lollipop framework.jarhas noclasses.dex

api,但是有些基础包没有例如java,javax

原先无hideapi的android.jar对比,目录:android-sdk/plaforms/android-xx/android.jar(ubuntu下双击就可以打开jar)

对比两个jar

sdk的android.jar

有javajavax

无hideapi

下载的android-5.0.1_r1.jar

无javajavax

有hideapi

所以不能用下载的android.jar直接替代原有的android.jar

而是把android-5.0.1_r1.jar中需要用的class拖入原有的android.jar中即可

原先用反射实现的方法可以像其他API一样调用!!

第二,获得使用hideAPI权限

无论是反射还是使用自编译的android.jar,只能解决调用隐藏API的问题,而无法越过权限检查。

可能会报类&#;的错误:

”Neither user nor current process hasandroid.permission.LOCATION_HARDWARE“

原因:

This permission is only given to system apps. In order to get thispermission, your app:

must be signed with the system certificates. Thesecertificates are generally available only to the devicemanufacturers.

be installed in /system/apppartition.

解决方案:

order to install an app as a system app on your Androiddevice, your device must be rooted.

Dialog背景色透明效果轻松实现 finalDialogdialog=newDialog(context);dialog.show();dialog.getWindow().setBackgroundDrawable(newColorDrawable(0));dialog.setContentView(R.layout.login);From:

序列化和反序列化技术 序列化和反序列化技术转载:

android内核剖析-----activity启动流程 主要类:ActivityThread(一个应用的启动入口)ActivityServiceManager(负责所有activity的管理)每个应用的启动都会产生一条ActivityThread线程负责维护该应用当ActivityThr

标签: 使用Android Go的手机

本文链接地址:https://www.jiuchutong.com/biancheng/374586.html 转载请保留说明!

上一篇:Android中常用开发工具类—持续更新...(简述android应用的常用开发模式及其优缺点)

下一篇:Dialog背景色透明效果轻松实现(背景透明度设置)

  • 小规模纳税人公户的钱怎么转出来
  • 广告公司如何开发快消客户
  • 超市购物卡购物刷卡显帐号吗
  • 小规模纳税人印花税是季报还是月报
  • 进项税额转出怎么算
  • 发票没认证可以作废吗?
  • 未结转损益可以结账吗
  • 年所得税12万申报
  • 日用品发票能报销吗
  • 物业公司收入多少钱
  • 不动产有法律效力吗
  • 税务登记需要什么资料2022
  • 填写a201030减免所得税优惠明细怎么填
  • 会计报表上总资产怎么填
  • 佣金发票可以抵扣吗
  • 怎么区分汇总原始凭证与累计原始凭证?
  • 外贸出口支付方式
  • 雇主全额负担的法律责任
  • 两万元大写金额报销单怎么写
  • 酒店购买矿泉水再卖给客人怎么处理
  • 出租房电费怎么结算
  • win10取消登陆密码
  • 领用原材料业务
  • linux 阿里云源
  • 长期待摊费用是当月摊销还是次月摊销
  • php数组函数,选班长
  • 网速不稳定的解决方法
  • retrorun.exe - retrorun有什么用 是什么进程
  • 弥补以前年度亏损怎么填申报表
  • 折扣销售的定义
  • 稿酬特许权使用费的预扣率是多少
  • 进程process.acore已停止怎么办
  • 利息年化率怎么算化利率怎么算
  • 车辆购置税退税计算
  • 小微企业直接融资和间接融资
  • service的启动方式及生命周期
  • uniapp和vue混合开发
  • cnn数据集
  • vmware vmtools
  • thinkphp框架设计原理
  • 六款小巧的HTTP Server[C语言] 贵贵的博客 开发|架构|开源|共享
  • 对企业采取以旧换新方式销售的应税产品
  • 10万以下销售额怎么算
  • 研发支出可以计提吗
  • 超市的小票能入账吗
  • 定期定额个体工商户怎么报税
  • 房地产企业取得土地的契税如何记账
  • 住宿费用抵扣税款会计分录
  • 记账凭证后面附发票第几联
  • 应交税费其他收入会计分录
  • 分支机构可不可以不建账合并到总机构?
  • 预付账款要设明细科目吗
  • 错帐的查找方法
  • 土地出让过程缴纳的费用
  • 应收票据背书转让不终止确认如何记账
  • 营业费用和营业支出
  • mysql数据库自动重启
  • sqlserver怎么用
  • xp系统直接开机
  • 系统盘如何重装
  • 深度u盘装xp系统教程
  • xp系统怎么调出任务管理器
  • windows的气泡屏保会加速
  • win7立体声混音怎么设置
  • ghost到一半报错
  • 电脑windows8怎么样
  • windows7无法激活怎么解决方法
  • linux怎么下载安装腾讯Tim?
  • kail Linux系统
  • jquery mouse
  • cocos2dx视频教程
  • unity3d怎么用
  • DeviceOne 让你一见钟情的App快速开发平台
  • JavaScript While 循环 教程
  • 推荐javascript教程
  • jquery detach
  • Java如何获得集合里的元素
  • 宝鸡税务局长
  • 摩托车车船税怎么收费标准
  • 通用定额发票分经营类型吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设