在android apk中调用@hide方法
在android应用开发过程中我们经常会遇到不能使用,但却可以在源码中查到的方法,这些方法大多有/**@hide*/标记,如果想要调用hide方法或类我们就要重新打包sdk。如果有源码的话,可以去掉源码中的@hide标记,使方法可见,然后重新编译android.jar:
$make update-api
$make PRODUCT-sdk-sdk (For windows: make PRODUCT-sdk-win_sdk)
尝试用make sdk代替上一步,结果会有R资源保存,没能成功。
如果没有源码,我们也可以使用更简单的方法,反编译现有的android.jar,替换其中的class文件:
1、从手机中获取需要的jar包,比如我们现在需要使用TelephonyManager中的一些hide方法,结合源码得知,TelephonyManager在framework.jar包中,所以,执行adb pull system/framewrok/framework.jar .
2、反编译framework.jar,得到decode后的classes_dex2jar.jar包,重命名为myframework.zip包
3、解压myframework.zip,找到android/telephony/下TelephonyManager.class,这个class中是包含了hide方法的,现在我们需要用这个class替换到我们自己的sdk中
4、用WinRAR压缩文件管理器打开我们自己sdk目录(sdk\platforms\android-XX)的android.jar,进入android/telephony/目录,添加myframework中的TelephonyManager.class进来。
5、重启eclipse
此时,小红杠已经消失了~hide方法可以放心使用啦。
在android apk中调用@hide方法相关推荐
- Android开发中调用系统窗口的方法
//直接拨号 Intent callIntent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:12345678")); start ...
- Android编程中调用Camera时预览画面有旋转问题的解决方法
本文实例讲述了Android编程中调用Camera时预览画面有旋转问题的解决方法.分享给大家供大家参考,具体如下: 在调用Camera写应用的时候,前后摄像头的情况有时候是不一样的.有时候,明明后摄像 ...
- Android虚拟机中安装软件方法
Android虚拟机中安装软件方法 1.在android开发过程中,我们很多时候会用到模拟器来装载软件来测试,先装入内存卡,在安装是很麻烦的一件事,在这里介绍利用adb直接安装软件的办法: 1.1.启 ...
- Python 在子类中调用父类方法详解(单继承、多层继承、多重继承)
Python 在子类中调用父类方法详解(单继承.多层继承.多重继承) by:授客 QQ:1033553122 测试环境: win7 64位 Python版本:Python 3.3.5 代码实践 ...
- 如何在java中调用js方法
[java] view plain copy/* * 加载脚本引擎,并在java中调用js方法 */ public void test2() { ScriptEngineManager manager ...
- 多维柔性作业调用_摆脱困境:从预定作业中调用安全方法
多维柔性作业调用 假设我们已经实现了一个Spring支持的应用程序,并使用Spring Security的方法安全性表达式对其进行了保护 . 我们的下一个任务是使用安全方法实施计划作业. 更具体地说, ...
- 摆脱困境:从计划作业中调用安全方法
假设我们已经实现了一个Spring支持的应用程序,并使用Spring Security的方法安全性表达式对其进行了保护 . 我们的下一个任务是使用安全方法实施计划作业. 更具体地说,我们必须实现一个计 ...
- [js] js循环中调用异步的方法,如何确保执行结果的顺序是正确的?
[js] js循环中调用异步的方法,如何确保执行结果的顺序是正确的? An example:let searchApi = function(arg){return new Promise((reso ...
- android jni 结构体_Android应用开发Android JNI-c/c++调用java方法
本文将带你了解Android应用开发Android JNI-c/c++调用java方法,希望本文对大家学Android有所帮助. " Android JNI-c/c++调用java方法, ...
最新文章
- 华为平板能运行python吗_我是如何使用华为平板的
- 以新ICT构建全联接的电力物联网,迈入能源智能时代
- arp_annouce=2详解
- python输出字符串的后两位_Python字符串三种格式化输出
- Visual Studio Code 常用插件整理
- C++智能指针(二)模拟实现三种智能指针
- C++中成员初始化列表的使用
- 补习系列(13)-springboot redis 与发布订阅
- 我的docker随笔33:在容器中连接oracle数据库
- Linux环境下虚拟化之KVM常用命令
- android:获取当前应用的版本
- Opencv学习笔记 - 使用opencvsharp和支持向量机
- WinDbg 入门教程
- 《查理·芒格:人类误判心理学》
- 管理必备认知--员工素质模型:能愿知模型
- Maya界面编程入门:在Maya中使用Qt
- 百度站点属性怎么设置?PC移动站/独立移动站/自适应/代码适配有什么区别? 404状态码和404页面有什么区别?对SEO有什么影响百度快照投诉不了怎么办(已经解决)提交反馈的按钮变成了灰色
- 三维地图3DGIS平台技术指标要求规划
- Spring boot 事物管理
- Windows下强制删除文件的批处理文件