解决Android 打包后 so文件不完整导致程序崩溃
2017-07-21 17:55
1746 查看
最近接入国内某平台sdk的时候,一直崩溃。报的sdk里so文件的错误
但是他的demo可以正常运行,然后就找原因,把apk解压之后 发现有一个so文件小了好多,正常700K,结果只有70K,明显不正常。
在build路径下搜索这个so文件,在StripDebugSymbol这个文件夹下发现了缩小了的so文件。而他们demo中没有这个文件夹。
于是发现是gradle中transformNaive_libsWithStripDebugSymbolForXXXX这个task导致的。
解决办法 一
但是他的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
相关文章推荐
- 【已解决】Android中在新线程中调用Toast.makeText导致程序崩溃
- Android 签名打包后的APP在后台运行时按icon导致程序重启的奇葩问题解决
- AndroidStudio打包so文件解决办法
- 【已解决】Android 6.0权限设置,导致程序崩溃
- 当用户手动取消相机权限导致的程序崩溃的解决办法(Android 6.0以上好像没事,好像是...)
- android 7.0 因为.so文件而崩溃事件解决
- Android2.3下PopupWindows初始化时NullPointException导致程序崩溃的问题解决
- VC6.0打开文件以及向工程中添加文件时程序崩溃自动退出解决方法
- Android 打包so动态库文件到APK
- Android 将音乐文件打包到程序中并设置为铃声的详细方法介绍
- Liunx 运行用 Intel MKL 库文件的程序出错 “error while loading shared libraries libmkl_intel.so” 解决办法
- Windows 7下VC6打开文件报错导致其崩溃的解决办法
- android打包so文件到apk
- 解决android工程引用多个jar包导致的文件重复的错误
- android打包so文件到apk
- 如何解决:新建Android程序的时候发生了找不到 /android-sdk-windows/tools/lib/proguard.cfg文件 的错误
- 用命令行打包Android工程的时候把.SO文件打进去工程里面
- Android:打包so文件
- 用eclipse开发的android程序如何打包成apk文件
- 如何解决:新建Android程序的时候发生了找不到 \android-sdk-windows\tools\lib\proguard.cfg文件 的错误