解决Android 打包后 so文件不完整导致程序崩溃

    最近接入国内某平台sdk的时候,一直崩溃。报的sdk里so文件的错误


    但是他的demo可以正常运行,然后就找原因,把apk解压之后 发现有一个so文件小了好多,正常700K,结果只有70K,明显不正常。


    在build路径下搜索这个so文件,在StripDebugSymbol这个文件夹下发现了缩小了的so文件。而他们demo中没有这个文件夹。


    于是发现是gradle中transformNaive_libsWithStripDebugSymbolForXXXX这个task导致的。


    解决办法 一

task moveLibToTrip(type: Copy) {
    from "$buildDir/intermediates/transforms/mergeJniLibs/xxxx/release/folders/2000/1f" +
            "/main/lib/armeabi/xxx.so"
    into "$buildDir/intermediates/transforms/stripDebugSymbol/xxxx/release/folders/2000/1f" +
            "/main/lib/armeabi/"
}

task moveLibToTrip2(type: Copy) {
    from "$buildDir/intermediates/transforms/mergeJniLibs/xxxx/release/folders/2000/1f" +
            "/main/lib/armeabi-v7a/libmg20pbase.so"
    into "$buildDir/intermediates/transforms/stripDebugSymbol/xxxx/release/folders/2000/1f" +
            "/main/lib/armeabi-v7a/"
}

afterEvaluate {
    tasks.matching {
        it.name.startsWith('process') && (it.name.endsWith('ReleaseJavaRes') || it.name.endsWith
                ('DebugJavaRes'))
    }.each { tk ->
        tk.dependsOn(moveLibToTrip,moveLibToTrip2)
    }
}

在app下的gradle写两个task 把正常的so文件拷贝到那个文件夹下
方法 二
把ndk禁用了  原因不知 反正禁用了就没这个task了 编译也正常


参考链接:http://blog.csdn.net/zhangbuzhangbu/article/details/52771050

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值