无源码修改android三方sdk并重新打包

一、背景

如下图所示,这里我需要修改三方sdk源码。

  1. 首先它的sdk是个aar包,解压得到依赖包classes.jar。
  2. 反编译classes.jar得到源码,将com.hdgq.locationlib.constant.Constants.ENVIRONMENT的值默认为“release"。
  3. 再重新打包测试。
    在这里插入图片描述

这里的三方sdk修改,指的是修改java部分的。由于java是运行在虚拟机上的语言,且其编译后的字节码class文件比较容易破解,这种机制为所有java程序的破解提供了可能性。

二、unzip命令解压文件

所谓的wgt、jar、aar、apk、ipa其本质都为压缩格式,且遵循zip的压缩规范。这里我们MacOs(基于Unix)的zip命令处理,当然也可以直接使用window的那个天天打广告的压缩软件。

unzip -o -d /home/sunny myfile.zip

把myfile.zip文件解压到 /home/sunny/
-o:不提示的情况下覆盖文件;
-d:-d /home/sunny指明将文件解压缩到/home/sunny目录下。

这里我们的得到解压缩文件夹如下
在这里插入图片描述
继续解压缩classes.jar,得到文件夹如下
在这里插入图片描述
这里我们打开目标文件Constants.class得到如下
在这里插入图片描述

二、编辑class文件

这里的class文件为java编译的机器字节码文件,直接打开并不能识别,这里我们需要使用编译工具,将文件拖到Idea、AndroidStudio等工具中。可以看到源码如图

在这里插入图片描述
注意这里的包名

package com.hdgq.locationlib.constant

由于我们并不能直接修改字节码文件,但是我们可以间接生成。使用androidStudio新建一个项目。并添加依赖module的包名与上面一致。如下图所示
在这里插入图片描述
点击重新编译,在build中得到修改后的class文件
在这里插入图片描述

三、zip命令重新打包sdk

这里我们将修改好的class文件替换到classess.jar解压缩文件夹中的文件,使用zip命令重新生成classess.jar包。然后再将classess.jar覆盖到locationsdk-1.0.0.aar解压缩文件夹下,重新生成locationsdk-1.0.0.aar包即可

cd到该文件夹
zip -r myfile.zip ./*

将当前目录下的所有文件和文件夹全部压缩成myfile.zip内联代码块文件,内联代码块-r表示递归压缩子目录下所有文件。

四、测试验证

此时我们把生成的sdk重新放到原工程目录下,使用androidStudio查看,如图
在这里插入图片描述
对其sdk功能测试到没问题即可。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Android Killer是一个工具,它可以帮助开发者修改Android的源代码并进行二次打包。 首先,为了使用Android Killer,我们需要下载并安装它。安装完成后,可以在命令行中输入“androidkiller”来启动它。 接下来,我们需要准备Android源码Android源码可以从Google官方网站上下载。下载完成后,我们需要将源码解压缩到一个指定的目录中。 在Android Killer中,我们需要指定源码所在的路径。我们可以在命令行中输入“androidkiller --path [源码路径]”来设置源码路径。 完成以上准备工作后,我们可以开始修改源码。通过修改源码,我们可以添加新功能、修改现有功能或者删除功能。要修改源码,我们需要具备Java编程的基础知识和Android开发的经验。 在完成源码修改后,我们可以使用Android Killer进行二次打包。二次打包的过程包括编译源码、生成APK文件和签名APK文件。 通过Android Killer,我们可以执行以下命令来进行二次打包: 1. 编译源码:输入“androidkiller --build”来编译源码。编译过程可能需要一些时间,具体视源码大小和电脑性能而定。 2. 生成APK文件:编译完成后,我们可以在输出目录中找到生成的APK文件。APK文件是二次打包后的最终产物。 3. 签名APK文件:为了能够在Android设备上安装和运行APK文件,我们需要对APK文件进行签名。我们可以使用以下命令来签名APK文件:“androidkiller --sign [APK文件路径] [签名文件路径]”。 以上就是使用Android Killer修改源码并进行二次打包的基本流程。通过修改源码,我们可以定制化我们的Android系统和应用,以满足自己的需求。使用Android Killer,我们可以更加灵活地进行二次开发和定制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

流星雨在线

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值