apk去机型验证方法

作者: 小吵闹123 | 来源:发表于2017-02-19 11:57 被阅读817次

    适用场景

    适用于部分出现错误的应用

    Package  requires unavailable shared library xxx; failing!
    

    步骤

    以索尼相册为例,直接安装apk安装会失败,用爱adb安装会出现如下错误

    Failure [INSTALL_FAILED_MISSING_SHARED_LIBRARY: Package couldn't be installed in /data/app/com.sonyericsson.album-1: Package com.sonyericsson.album requires unavailable shared library com.sony.device; failing!]
    

    无法找到com.sony.device,安装时报错,一定是在AndroidManifest中做了手脚,顺着这个思路,首先利用apktool或其它反编译apk

    java -jar apktool_2.2.2.jar d com.sonyericsson.album_8.0.A.1.18_16778258.apk -o out
    

    找到AndroidManifest.xml,果然发现在Application标签中发现了下面代码

    <uses-library android:name="com.sony.device" android:required="true"/>
    

    uses-library用于指定该应用程序必须链接的共享类库,删掉这行代码,利用apktool进行回编译,

    java -jar apktool_2.2.2.jar b out out.apk
    

    之后再利用jarsigner进行签名(注意参数之间的空格),

    jarsigner -verbose -keystore debug.keystore -signedjar out_signed.apk out.apk debug.keystore
    

    用adb进行安装,成功安装在了nexus5x上,并且可以成功运行。另外解除限制的同时还可以对资源文件进行精简,减小安装包大小。

    相关文章

      网友评论

        本文标题:apk去机型验证方法

        本文链接:https://www.haomeiwen.com/subject/xbfjwttx.html