Android jniLibs 里面的.so丢失
2015-07-03 10:56
573 查看
Android 推送是apk的一大优势,是web(html5)无法相提并论的。
我是做Android OEM开发,很多用户都要实现推送功能。
其中有腾讯的信鸽推送,还有极光推送,为多,其他的几乎没有使用到。
在Android studio 开发的项目中有两个build文件
因为提交svn减少所占的磁盘大小所以把build文件删除了
问题也就出来
jniLibs 里面的 armeabi 文件夹 和 armeabi-v7a 文件夹 下面的 .so丢失
下次客户升级的时候
调试运行,就会报错,极光推送实例 如下:
19932-19932/com.fx678.huanrong.finace E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.fx678.huanrong.finace, PID: 19932
java.lang.UnsatisfiedLinkError: Couldn't load jpush173 from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.fx678.huanrong.finace-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.fx678.huanrong.finace-1, /vendor/lib, /system/lib]]]:
findLibrary returned null
at java.lang.Runtime.loadLibrary(Runtime.java:365)
at java.lang.System.loadLibrary(System.java:526)
at cn.jpush.android.service.PushProtocol.<clinit>(Unknown Source)
at cn.jpush.android.service.ServiceInterface.a(Unknown Source)
at cn.jpush.android.api.JPushInterface.init(Unknown Source)
at com.fx678.huanrong.finace.MyApplication.onCreate(MyApplication.java:40)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1007)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4610)
at android.app.ActivityThread.access$1500(ActivityThread.java:159)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1389)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:5367)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:663)
at dalvik.system.NativeStart.main(Native Method)
报错语句,(第二句)
这是因为 jniLibs 里面的 armeabi 文件夹 和 armeabi-v7a 文件夹 下面的 .so丢失
把jpush-sdk-release1.7.3.jar 相对应的 libjpush173.so放到armeabi 和 armeabi-v7a 文件夹中
运行就不会报错了
注意:
提醒:
做推送模块的时候,把下载的推送sdk压缩包保留在磁盘中,不要删除了
若删除了,重新下载 推送sdk 替换jar包(jar包相同可以不用替换)
再把相对应的.so文件放到相对应的armeabi 和 armeabi-v7a 文件夹中
我是做Android OEM开发,很多用户都要实现推送功能。
其中有腾讯的信鸽推送,还有极光推送,为多,其他的几乎没有使用到。
在Android studio 开发的项目中有两个build文件
因为提交svn减少所占的磁盘大小所以把build文件删除了
问题也就出来
jniLibs 里面的 armeabi 文件夹 和 armeabi-v7a 文件夹 下面的 .so丢失
下次客户升级的时候
调试运行,就会报错,极光推送实例 如下:
19932-19932/com.fx678.huanrong.finace E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.fx678.huanrong.finace, PID: 19932
java.lang.UnsatisfiedLinkError: Couldn't load jpush173 from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.fx678.huanrong.finace-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.fx678.huanrong.finace-1, /vendor/lib, /system/lib]]]:
findLibrary returned null
at java.lang.Runtime.loadLibrary(Runtime.java:365)
at java.lang.System.loadLibrary(System.java:526)
at cn.jpush.android.service.PushProtocol.<clinit>(Unknown Source)
at cn.jpush.android.service.ServiceInterface.a(Unknown Source)
at cn.jpush.android.api.JPushInterface.init(Unknown Source)
at com.fx678.huanrong.finace.MyApplication.onCreate(MyApplication.java:40)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1007)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4610)
at android.app.ActivityThread.access$1500(ActivityThread.java:159)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1389)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:5367)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:663)
at dalvik.system.NativeStart.main(Native Method)
报错语句,(第二句)
JPushInterface.setDebugMode(false); // 设置开启日志,发布时请关闭日志 JPushInterface.init(this); // 初始化 JPush
这是因为 jniLibs 里面的 armeabi 文件夹 和 armeabi-v7a 文件夹 下面的 .so丢失
把jpush-sdk-release1.7.3.jar 相对应的 libjpush173.so放到armeabi 和 armeabi-v7a 文件夹中
运行就不会报错了
注意:
提醒:
做推送模块的时候,把下载的推送sdk压缩包保留在磁盘中,不要删除了
若删除了,重新下载 推送sdk 替换jar包(jar包相同可以不用替换)
再把相对应的.so文件放到相对应的armeabi 和 armeabi-v7a 文件夹中
相关文章推荐
- 主机端模拟控制Android设备程序之鼠标模拟触屏
- Android HAL模块实现
- android Service使用与广播
- Android通过签名验证防止二次打包
- How to root Nexus 5 and 4 on Android 5.1.1 Lollipop and install CWM recovery
- Android Studio运行安卓程序报Failure [INSTALL_FAILED_OLDER_SDK]的解决办法
- Android中的Sqlite中的onCreate方法和onUpgrade
- Android学习记录之--多语言适配问题
- android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )及屏幕适配注意事项
- Android camera
- Nexus 5 Android5.1 Root
- 对Android的整体理解(待完善)
- Android背景音乐的实现
- Android背景音乐的实现
- android 将android项目打包成sdk形式给第三方公司调用
- android5.0设置模块音量调节流程
- 设计模式五 监听器模式(android) & 代理模式(ios)
- AndroidKK4.4 Power key电量屏幕时button light先亮LCD后亮的卡顿问题分析
- Android 带清除功能的输入框控件EditText
- Android 数据库 大量插入 事务开启