在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方法相关推荐

  1. Android开发中调用系统窗口的方法

    //直接拨号 Intent callIntent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:12345678")); start ...

  2. Android编程中调用Camera时预览画面有旋转问题的解决方法

    本文实例讲述了Android编程中调用Camera时预览画面有旋转问题的解决方法.分享给大家供大家参考,具体如下: 在调用Camera写应用的时候,前后摄像头的情况有时候是不一样的.有时候,明明后摄像 ...

  3. Android虚拟机中安装软件方法

    Android虚拟机中安装软件方法 1.在android开发过程中,我们很多时候会用到模拟器来装载软件来测试,先装入内存卡,在安装是很麻烦的一件事,在这里介绍利用adb直接安装软件的办法: 1.1.启 ...

  4. Python 在子类中调用父类方法详解(单继承、多层继承、多重继承)

    Python 在子类中调用父类方法详解(单继承.多层继承.多重继承)   by:授客 QQ:1033553122   测试环境: win7 64位 Python版本:Python 3.3.5 代码实践 ...

  5. 如何在java中调用js方法

    [java] view plain copy/* * 加载脚本引擎,并在java中调用js方法 */ public void test2() { ScriptEngineManager manager ...

  6. 多维柔性作业调用_摆脱困境:从预定作业中调用安全方法

    多维柔性作业调用 假设我们已经实现了一个Spring支持的应用程序,并使用Spring Security的方法安全性表达式对其进行了保护 . 我们的下一个任务是使用安全方法实施计划作业. 更具体地说, ...

  7. 摆脱困境:从计划作业中调用安全方法

    假设我们已经实现了一个Spring支持的应用程序,并使用Spring Security的方法安全性表达式对其进行了保护 . 我们的下一个任务是使用安全方法实施计划作业. 更具体地说,我们必须实现一个计 ...

  8. [js] js循环中调用异步的方法,如何确保执行结果的顺序是正确的?

    [js] js循环中调用异步的方法,如何确保执行结果的顺序是正确的? An example:let searchApi = function(arg){return new Promise((reso ...

  9. android jni 结构体_Android应用开发Android JNI-c/c++调用java方法

    本文将带你了解Android应用开发Android JNI-c/c++调用java方法,希望本文对大家学Android有所帮助. " Android   JNI-c/c++调用java方法, ...

最新文章

  1. 华为平板能运行python吗_我是如何使用华为平板的
  2. 以新ICT构建全联接的电力物联网,迈入能源智能时代
  3. arp_annouce=2详解
  4. python输出字符串的后两位_Python字符串三种格式化输出
  5. Visual Studio Code 常用插件整理
  6. C++智能指针(二)模拟实现三种智能指针
  7. C++中成员初始化列表的使用
  8. 补习系列(13)-springboot redis 与发布订阅
  9. 我的docker随笔33:在容器中连接oracle数据库
  10. Linux环境下虚拟化之KVM常用命令
  11. android:获取当前应用的版本
  12. Opencv学习笔记 - 使用opencvsharp和支持向量机
  13. WinDbg 入门教程
  14. 《查理·芒格:人类误判心理学》
  15. 管理必备认知--员工素质模型:能愿知模型
  16. Maya界面编程入门:在Maya中使用Qt
  17. 百度站点属性怎么设置?PC移动站/独立移动站/自适应/代码适配有什么区别? 404状态码和404页面有什么区别?对SEO有什么影响百度快照投诉不了怎么办(已经解决)提交反馈的按钮变成了灰色
  18. 三维地图3DGIS平台技术指标要求规划
  19. Spring boot 事物管理
  20. Windows下强制删除文件的批处理文件

热门文章

  1. (一)Handler
  2. 服务器连接异常系统无法登录,科技教程:Win10系统电脑无法登录LOL提示服务器连接异常的原因及解决方法...
  3. 摩托罗拉ME525双WIPE步骤
  4. www.397:.cf._cf.客观会议总结
  5. VMware安装Vista虚拟机
  6. Python爬虫入门(二)数据提取(lxml)
  7. 全新平台VS2010
  8. PS系列之 -- 利用蒙版取消图片衔接的痕迹
  9. 分账系统如何给连锁便利店带来交易效率革命?
  10. 分享几款Fedora 下的图像创建程序