android.jar 隐藏api,自行修改android.jar使其包含隐藏api

本文介绍了一种通过脚本直接将Android ROM中的framework.jar整合到android.jar中,以直接使用隐藏API的方法。该脚本包括解压、拷贝、覆盖和重新打包的步骤,避免了反射带来的性能损失,简化了代码。操作过程简单,适用于开发者快速获取包含隐藏API的SDK。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在开发中时常会遇到要用到android隐藏api的情况,通常的做法是通过反射去调用,但是反射带来性能上的影响,代码也不够直观,我更偏爱直接使用那些api。

于是这就是本文的开始,自己改造一个android.jar,使其包含隐藏api

其实步骤很简单,因为android系统内带的framework.jar已经包含了隐藏api,只需将其抽取并放到android.jar内就好了,整理一下就是:

1) 从指定版本的rom内获取到framework.jar

2) 解压framework.jar和android sdk内的android.jar

3) 将framework.jar解出来的东西拷到android.jar解出来的东西内,进行覆盖

4) 重新打包

5) 用新的android.jar替换原先的

方便起见,写了一个脚本来完成以上工作,其中解framework.jar用到dex2jar工具,请自行下载并配置环境变量

#!/bin/sh

DEX=$1

AJAR=$2

OUT=$3

d2j-dex2jar.sh $DEX -o framework-dex.jar

mv framework-dex.jar framework-dex.zip

unzip -d framework-dex framework-dex.zip

cp $AJAR android-sdk.zip

unzip -d android-sdk android-sdk.zip

cp -r -f framework-dex/* android-sdk/

cd android-sdk

zip -r android-new.zip *

cd ..

mv android-sdk/android-new.zip android-new.zip

mv android-new.zip android-new.jar

rm android-sdk.zip

rm framework-dex.zip

rm -fr android-sdk/

rm -fr framework-dex/

mv android-new.jar $OUT

echo "done"

使用也很简单,将这段脚本存为makesdk.sh并给予可执行权限,然后使用之

$ makesdk.sh framework.jar android.jar ~/Desktop/

执行完成后,即可在桌面上看到一个名为android-new.jar的文件,这就是包含隐藏api的sdk了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值