如何得到包含隐藏API的Android类库

转载 2015年11月20日 09:19:40
Android SDK的很多API是隐藏的,我无法直接使用。但是我们通过编译Android系统源码可以得到完整的API库。
编译Android系统源码后可以在out\target\common\obj\JAVA_LIBRARIES目录中有它所有API库(java)。
当然对于一般情况,out\target\common\obj\JAVA_LIBRARIES\framework_intermediates\classes.jar对于我们来说就足够了。
我们可以通过这个classes.jar这种Android类库加入到你的Eclipse环境的Android工程中,以便使用隐藏的API。
关于在Eclipse的Android工程中如何使用这些API库的更多内容,请参考《Android中使用隐藏API(大量图解)
 如果想提取完整的API的话,可以在编译Android系统源码后通过getDebugJar.sh脚本文件来完成该工作。
getDebugJar.sh文件

DESTINATION_FOLDER=Debug_libs
SOURCE_FOLDER='android/out/target/common/obj/JAVA_LIBRARIES'
FILE_NAME='classes-full-debug.jar'
echo $DESTINATION_FOLDER
if [ -d $DESTINATION_FOLDER ]
  then
    echo "Checking destination ... OK"
  else
    echo "Creating destination ..."
    mkdir $DESTINATION_FOLDER
    if [ $? -ne 0 ]
      then
        echo "Error!"
        exit
    fi
fi
echo "Copy files ..."
dirs=`ls $SOURCE_FOLDER | tr '\n' ' '`
for i in $dirs
do
  if [ -f ${SOURCE_FOLDER}/${i}/$FILE_NAME ]
  then
    file=${i%_intermediates}-${FILE_NAME}
    echo Copy $file
    cp ${SOURCE_FOLDER}/${i}/$FILE_NAME ${DESTINATION_FOLDER}/$file
    if [ $? -ne 0 ]
      then
        echo "Error! Cannot copy ${SOURCE_FOLDER}/${i}/$FILE_NAME"
        exit
    fi
  fi
done

注意1:关于tr命令请参考《tr命令详解

转自:http://blog.csdn.net/hudashi/article/details/8184442

举报

相关文章推荐

如何调用Android隐藏API

作为Android应用的开发者,在Android平台上开发,最熟悉的莫过于Android SDK。SDK给开发者带来的巨大的便利,使得Android平台的应用开发效率大大提高。不过遗憾的是,And...

如何调用Android隐藏API

http://bbs.51cto.com/thread-1035852-1.html

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

如何调用Android隐藏API

作为Android应用的开发者,在Android平台上开发,最熟悉的莫过于Android SDK。SDK给开发者带来的巨大的便利,使得Android平台的应用开发效率大大提高。不过遗憾的是,And...

struts2如何得到siervlet对象

问题?struts2如何得到siervlet对象,有几种方式 我们用案例来说明: 1.首先是struts.xml文件的action设置 /web.jsp <action ...

android 如何引用@hide(隐藏)的类,方法和常量?

最近在处理SD卡的读写问题,本地Elipse能跑的程序提交到服务器上的时候,报错,找不到import的类,还有一些方法也是找不到,利用sourceInsight搜了源码发现都是用了@hide标记的类和...

android 使用隐藏API和Internal包

首先我们要明白为什么隐藏API(有@hide标记)和Internal包不能使用。 当我们使用android的SDK进行开发的时候都会用到一个非常重要的jar文件--android.jar(SDK_D...

Android应用开发中如何使用隐藏的API

Android应用中有时为了实现某些特殊的功能或效果,往往需要使用一些谷歌隐藏的API(加有@hide标记的public类、方法或常量),例如PolicyManager。         使用And...

Android提高 - Android如何使用隐藏API

一开始需要说明的是,Google之所以要将一些API隐藏(指加上@hide标记的public类、方法或常量)是有原因的。其中很大的原因就是Android系统本身还在不断的进化发展中。从1.0、1.1到...

android隐藏类的使用

在开发中发现,随着android版本的升级,有些class被隐藏掉了。很是苦恼。网上有人提出的方法是将代码放到源码的环境中去编译,这个对我来说有些难搞。首先,没有源码的环境;其次,咋个编译,对我这小白...

使用android隐藏API

转载:http://hubingforever.blog.163.com/blog/static/1710405792012101424413/ Android SDK的很多API是隐藏的,我...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)