吐槽
一直用一个app做设备的压力测试,最近升级了android系统,结果这个APP在不能运行了,跟踪调查,发现是缺少了libc++.so
和libjpeg.so
。
经验证,将/system/lib/
下的这两个库拷贝到app的/data/app/package/lib/arm
目录下,app可以正常运行。
???? 为啥在app目录下找不到不去
/system/lib
目录下查找呢???
由于没有源码,又不想每次安装的时候都去手动拷贝,将想着将其放入apk中,然后重新签名咯。结果真的可以,操作步骤如下:
- 将APK后缀改成
zip
- 删除apk内的
META-INF
文件夹
- 将so库拷贝到
lib/armeabi
下 - 将后缀
zip
改回apk
- 重新签名。
签名方式
准备好签名文件 <wtf>.jks
。
执行如下命令:
jarsigner -verbose -keystore <wtf.jks> -storepass <password> -signedjar <output_signed.apk> -digestalg SHA1 -sigalg MD5withRSA <input.apk> <alias>
密码和别名: