Android apk重新签名

吐槽

一直用一个app做设备的压力测试,最近升级了android系统,结果这个APP在不能运行了,跟踪调查,发现是缺少了libc++.solibjpeg.so

经验证,将/system/lib/下的这两个库拷贝到app的/data/app/package/lib/arm目录下,app可以正常运行。

???? 为啥在app目录下找不到不去/system/lib 目录下查找呢???

由于没有源码,又不想每次安装的时候都去手动拷贝,将想着将其放入apk中,然后重新签名咯。结果真的可以,操作步骤如下:

  1. 将APK后缀改成zip
  2. 删除apk内的META-INF文件夹
    image-20201126163045798
  3. 将so库拷贝到lib/armeabi
  4. 将后缀zip改回apk
  5. 重新签名。

签名方式

准备好签名文件 <wtf>.jks

执行如下命令:

jarsigner -verbose -keystore <wtf.jks> -storepass <password> -signedjar <output_signed.apk> -digestalg SHA1 -sigalg MD5withRSA <input.apk> <alias>

密码和别名:
image-20201126163506707

原文地址:https://www.cnblogs.com/liutimo/p/14043048.html