WEB开发网
开发学院软件开发Java 使用内部(com.android.internal)和隐藏(@hide)API... 阅读

使用内部(com.android.internal)和隐藏(@hide)API手记

 2012-05-12 13:04:44 来源:WEB开发网   
核心提示:1. 把上述classes_dex2jar.jar移动至android-10-internals目录2. 解压android.jar&classes_dex2jar.jar进各自目录3. 复制classes_dex2jar.jar解压内容全部替换android.jar解压内容4. 重新压缩android.jar解压内容
1. 把上述classes_dex2jar.jar移动至android-10-internals目录
2. 解压android.jar&classes_dex2jar.jar进各自目录
3. 复制classes_dex2jar.jar解压内容全部替换android.jar解压内容
4. 重新压缩android.jar解压内容至zip,删除冗余东西,重命名回android.jar
5. 修改build.prop文件,具体如下:
ro.build.version.sdk=10 –> ro.build.version.sdk=-10
6. 修改source.properties文件,具体如下:
Platform.Version=2.3.3 –> Platform.Version=2.3.3.extended
 
  此时重启Eclispe,即可看到我们定制的扩展SDK平台了,此时其实使用隐藏API已经足够了。
 
  注意:重新压缩成的android.jar,看一下目录结构,不要把外层目录也加进去了。
 
7)定制ADT,去除ForBidden
  到目前为止,ADT仍然禁止使用com.android.internals包中的类。
  右键任一Android工程->Properties->左侧Java Build Path->右侧Libraries标签->Android XXX->android.jar->Access rules->Forbidden: com/android/internal/**
 
  越过该限制规则,最简单的方式是修改ADT字节码。只需替换"com/android/internal/**”字符串为其它的字符串,比如"com/android/internax/**”。
 
1. 关闭Eclipse
2. 在<Eclipse目录>\plugins目录,按名称排下序,按c,找到com.android.ide.eclipse.adt_*.jar
3. 复制到外部,解压修改再打包回去,修改如下:
  找出com\android\ide\eclipse\adt\internal\project\AndroidClasspathContainerInitializer.class文件
  记事本打开文件,查找com/android/internal/**,替换为com/android/internal/**为com/android/internax/**。
4. 回到plugins目录,重命名原先的添加_bak,备份下,把新jar放入。
5. 打开Eclipse,再检查下^^
 
  报错:parseSdkContent failed
com/android/ide/eclipse/adt/internal/project/AndroidClasspathContainerInitializer : Unsupported major.minor version 8241.8224
 
  不能以记事本打开,ASNI?字节码变掉了应该==
 
  用一些Editor以16进制方式打开搜索**,即2A 2A。把l->x,即6C->78。重弄遍,ok^^。备份是好习惯啊!

上一页  1 2 

Tags:使用 内部 com

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接