`

使用内部(com.android.internal)和隐藏(@hide)API[第4部分,定制ADT]

 
阅读更多

在前面的文章中,我讲述了如何创建定制的original-android.jar和创建定制的android平台以使用original-android.jar。这仅仅能够使用隐藏API,还为内部API留有一个障碍: ADT。ADT定义了一个规则禁止使用来自com.android.internal的类。

image_thumb30_thumb

 

有几种方法可以越过该限制规则:

1)完整的ADT源代码可以下载,可以移除或者修改代码,编译然后安装新的定制版本ADT。不好的地方是您必须配置一台64位linux系统,下载源码,编译之。这会花费一些时间,当新版本的ADT出来后,您又需要重新来过。

2)另外一种方式是修改ADT的字节码,只需替换"com/android/inter/**”字符串为其它的字符串,比如"com/android/internax”。

第二种方法可通过脚本自动化完成,也不需要访问源码,在windows下也能工作,这也是我在本文中说明第二种方式的原因。

修改ADT字节码

进入到您的eclipse的plugins文件夹,找出名为com.android.ide.eclipse.adt_*.jar的文件。做一个备份(以防修改错了),另外复制一份改文件到一个单独的"experimental”文件夹,在那里进行字节码修改。

修改*.jar为*.zip,解压文件到一个单独的文件夹,下面就是我所得到的:

image11

现在进入到com/android/ide/eclipse/adt/internal/project子目录,找出AndroidClasspathContainerInitializer.class文件。

image12

该文件包含了字符串"com/android/internal/**”,下一步就是替换该字符串为其它的字符串,如"com/android/internax/**”。改变字符串的长度可能没什么问题,但最好只替换一个字母,保持长度相同。

我是用notepad++进行替换的,因为它支持非打印字符,而且在编辑打印字符时不会修改非打印字符。

image13

修改完后,保存文件,zip压缩文件夹,文件名和原始版本一样。以我的为例:com.android.ide.eclipse.adt_8.0.1.v201012062107-82219.zip,然后重命名为*.jar。

注意:请确保您正确的压缩了文件,可以比较一下修改的zip和原始的zip的内部目录结构。

现在删除eclipse plugins文件夹下的原始ADT*.jar文件,复制经过修改的版本,重启eclipse。

如果没有问题,则会如下图所示:

image14

步骤总结:

  1. 停止eclipse
  2. 从eclipse的plugins文件夹取得adt插件的jar文件。
  3. 重命名.jar为.zip,然后解压到一个单独的目录。
  4. 找到com/android/ide/eclipse/adt/internal/project/AndroidClasspathContainerInitializer.class
  5. 将字符串"com/android/internal/**”替换为"com/android/internax/**”
  6. zip压缩所有文件
  7. 重命名.zip为.jar
  8. 用修改版本替换eclipse plugins文件夹下的原始adt jar文件
  9. 启动eclipse。

分享到:
评论

相关推荐

    使用internal和 hide api

    ### 使用internal和hide API #### 一、Introduction 在Android开发过程中,开发人员有时会遇到两种类型的API,它们并未直接包含在官方支持的SDK中,这两种API分别是位于`com.android.internal`包中的API(internal...

    com.android.ide.eclipse.adt_12.0.0.v201106281929-138431.jar

    com.android.ide.eclipse.adt_12.0.0.v201106281929-138431.jarcom.android.ide.eclipse.adt_12.0.0.v201106281929-138431.jar

    com.android.ide.eclipse.adt_12最新

    4. **设备模拟器管理**:ADT可以创建和管理各种Android虚拟设备(AVD),模拟真实设备的硬件和软件配置,以便进行测试和调试。 5. **调试工具**:DDMS(Dalvik Debug Monitor Service)是ADT的一部分,提供了强大的...

    com.android.ide.eclipse.ndk_23.0.2.1259578.jar

    android adt自带eclipse无法设置ndk路径,需要下载com.android.ide.eclipse.ndk_23.0.2.1259578.jar文件,然后复制到sdk 只带的eclipse目录的“plugins”下面,如我的复制到"D:\Android\adt-bundle-windows-x86_64-...

    Android ADT(ADT-23.0.6.zip)离线包

    2. **Android SDK**: ADT中集成了Android SDK,SDK包括了Android平台的各种版本(API级别)、开发库、工具和文档。开发者可以通过SDK Manager来管理和更新这些资源,即使在离线状态下也能使用已下载的版本。 3. **...

    aix 6 bos.adt.libm包

    4. **文档和手册页**:详细说明了库中的每个函数,包括参数、返回值、错误处理和示例代码,便于开发者理解和使用。 在实际应用中,`libm`库被广泛用于科学计算、数据分析、图形处理、物理模拟等领域。例如,当一个...

    Android ADT-23.0.3.zip

    Android ADT(Android Developer Tools)是Google为Android开发者提供的一款强大的集成开发环境,它极大地简化了Android应用程序的创建、调试和发布流程。在本文中,我们将深入探讨ADT的23.0.3版本,了解其包含的...

    Android ADT-0.9.6

    Android ADT-0.9.6.zip官方下载地址: http://dl.google.com/android/ADT-0.9.6.zip Android ADT-0.9.7.zip官方下载地址: http://dl.google.com/android/ADT-0.9.7.zip Android ADT-0.9.8.zip官方下载地址: ...

    ADT最新版本(ADT 20.0.3)

    **Android Development Tools (ADT) 20.0.3** ADT,全称为Android Development Tools,是一款针对Android平台开发的必备集成工具,主要用于提升开发者的工作效率和代码质量。ADT作为一个Eclipse插件,提供了丰富的...

    AIX安装bos.adt.libm包方法

    ### AIX安装bos.adt.libm包方法 在AIX操作系统中,bos.adt.libm包是用于提供数学函数库支持的重要组件。本文将详细介绍如何在AIX系统中安装bos.adt.libm软件包,包括准备环境、安装过程以及验证安装结果等步骤。 #...

    Android ADT-8.0.0.zip

    Android ADT-X.X.X.zip 官方下载地址: http://dl.google.com/android/ADT-8.0.0.zip http://dl.google.com/android/ADT-0.9.9.zip http://dl.google.com/android/ADT-0.9.8.zip ...

    aix bos.adt.libm 5.3.0.0

    aix5.3 bos.adt.libm 5.3.0.0 smit installp

    android ADT10.0.1.rar

    ADT的核心功能在于提供了一个集成的开发环境,使得开发者可以方便地创建、调试和发布Android应用。在ADT中,你可以: 1. **项目创建与管理**:通过向导快速创建新的Android项目,设置项目属性,包括目标平台、最小...

    AndroidADT.zipAndroidADT.zipAndroidADT.zipAndroidADT.zipAndroidA

    【Android ADT】是Android开发者工具(Android Developer Tools)的缩写,它是Google为Android应用程序开发提供的一个集成开发环境(IDE),主要用于简化Android应用的构建、调试和部署过程。这个压缩包文件...

    Android1\ADT-10.0.0.zip

    ADT 10.0.0是一个较旧的版本,可能不支持最新的Android SDK和API级别。随着Android平台的发展,Google已将开发工具迁移至Android Studio,这是一个更现代、更全面的IDE,集成了更多的开发和调试工具,支持Gradle构建...

    Android开发插件ADT.zip

    虽然ADT最初是为Eclipse设计的,但随着Android Studio的推出,Google已经停止对Eclipse ADT的更新,转而推荐使用Android Studio作为官方的Android开发环境。尽管如此,对于习惯Eclipse的开发者,ADT仍然是一个实用的...

    AndroidADT下载地址最新ADT-23.0.3版

    Android ADT(Android Developer Tools)是Google为Android开发者推出的一款集成开发环境插件,它基于Eclipse,提供了强大的工具集,用于构建、调试和发布Android应用程序。本文将详细介绍ADT-23.0.3版的主要特点、...

    Android开发工具ADT关联源码与API文档

    首先,ADT关联源码意味着开发者可以在编写代码时直接查看Android框架类库的源代码,这对于理解和学习Android系统的内部工作原理非常有帮助。通过查看源码,开发者能够更深入地理解类、方法和属性的实现细节,从而更...

    com.android.ide.eclipse.adt_24.0.2.1647631.jar.zip

    eclipse支持1.8时,需要替换一下。如果使用最新版本的eclipse,貌似用不上。 https://blog.csdn.net/quantum7/article/details/108227624

Global site tag (gtag.js) - Google Analytics