首页 > 代码库 > 如何得到包含隐藏API的Android类库
如何得到包含隐藏API的Android类库
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脚本文件来完成该工作。
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命令详解》
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。