位置: 编程技术 - 正文

使用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背景色透明效果轻松实现(背景透明度设置)

  • 单独计税的年终奖怎么算
  • 创立一个公司,公司的运营理念
  • 专用基金计入什么科目
  • 劳务发票税率营改增后是多少?
  • 供应商质量问题告知函
  • 月初缴纳的保险是当月的吗
  • 用库存物资抵货怎么做账
  • 购买税控设备,享受何种优惠政策
  • 税收分类编码选错了没事吧
  • 建筑企业在境外施工税收一共包括几个部分
  • 税种申报表样表
  • 一般纳税人能开普票吗,几个点
  • 误餐补助有限制性的规定吗
  • 未提足折旧的房产,推倒重置的财务处理到底有没有差异
  • 损益类科目的借方表示
  • 企业收到应收账款6要素哪个增加哪个减少
  • 工资税金算法
  • 中国的农业成本为什么高
  • 购买承兑汇票怎么做账
  • 专家评审费如何报账
  • 子公司代总公司付款
  • 新版mac如何连接iphone
  • xwizard.exe是什么
  • 总包和分包是什么关系
  • thinkphp use命名空间
  • 利息年化率怎么算化利率怎么算
  • 企业为员工提供服务要交增值税吗
  • 哪些税改将影响家庭个人财富
  • 未确认融资费用报表填在哪个科目
  • 退款会退货吗
  • 小微企业所得税税收优惠政策2023年
  • 未抵扣进项税额转出完整分录
  • 汽车进项税什么时候抵扣
  • 会计备案报送期间
  • 什么是进项税转出成本
  • 怎么解决食堂拥挤问题
  • 罚款可以直接在12123
  • sql死锁的简单例子
  • mysql 索引 key
  • mysql导入sql文件命令
  • 可供出售金融资产新准则叫什么
  • 发现以前年度错账,不论错账是否涉及损益
  • 坏账准备怎么结转到本年利润
  • 购买办公用品属于什么凭证类型
  • 劳保用品专卖
  • 公司过账的款项怎么入账
  • 单位车辆折旧费可以税前扣除吗
  • 暂估入库冲回与退回区别
  • 哪些情况应收账款不能扣
  • 土地使用税为什么要交
  • 如何冲其他应付款发票
  • 基本医疗保险费是医保吗
  • 年底应交增值税是没有余额吗
  • 上年度多计提的附加税怎么办
  • mysql存文章的字段设置为多大?
  • windows 10测试版
  • win7桌面右键菜单设置
  • 如何看xp系统
  • windowsupdate.diagcab
  • xp无法识别的usb设备unknown device
  • macappstore下载软件一直要密码
  • linux日期格式
  • mcshield.exe是什么进程
  • perl脚本输出变量
  • javascript学习指南
  • js内置对象方法有哪些
  • cmd中文名称
  • 噩梦像连续剧
  • javascript html5移动端轻松实现文件上传
  • 深入解读我本是高山
  • jquery lt
  • jquery示例
  • activity与fragment的通信
  • 用jquerymobile案例
  • 国家税务总局公告2022年第9号
  • 江苏电子税务局社保缴费打印
  • 员工离职了个人所得税年度汇算应申报未申报怎么处理
  • 湖北税务报税系统官网
  • 电子税务局财务制度备案在哪
  • 北京朝阳区电话区号是多少?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设