解决Android Studio配置JPush极光推送错误方案
1.在JPush极光推送官方下载 JPush SDK(jpush-android-release-2.1.7.zip)
2.解压下载好的压缩包解压并复制libs/jpush-android-2.1.7.jar 到工程 libs/ 目录下,再复制libs/armeabi/libjpush217.so 到工程 libs/armeabi 目录下(如果没有armeabi文件夹自己新建就可以了,如果libs下还有armeabi-v7a文件夹,则需要把libjpush217.so复制到此文件夹下);
3.在AndroidManifest.xml文件中配置权限:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="您应用的包名"android:versionCode="216"android:versionName="2.1.6"><uses-sdk android:minSdkVersion="9" android:targetSdkVersion="23" /><!-- Required --><permission android:name="您应用的包名.permission.JPUSH_MESSAGE" android:protectionLevel="signature" /><!-- Required --><uses-permission android:name="您应用的包名.permission.JPUSH_MESSAGE" /><uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" /><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.WAKE_LOCK" /><uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.VIBRATE" /><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.WRITE_SETTINGS" /> <!-- Optional. Required for location feature --><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /><uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /><uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /><application
android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:name="Your Application"><!-- Required SDK 核心功能--><!-- option since 2.0.5 可配置PushService,DaemonService,PushReceiver,AlarmReceiver的android:process参数 将JPush相关组件设置为一个独立进程 --><!-- 如:android:process=":remote" --><service
android:name="cn.jpush.android.service.PushService"android:enabled="true"android:exported="false" ><intent-filter><action android:name="cn.jpush.android.intent.REGISTER" /><action android:name="cn.jpush.android.intent.REPORT" /><action android:name="cn.jpush.android.intent.PushService" /><action android:name="cn.jpush.android.intent.PUSH_TIME" /></intent-filter></service><!-- since 1.8.0 option 可选项。用于同一设备中不同应用的JPush服务相互拉起的功能。 --><!-- 若不启用该功能可删除该组件,将不拉起其他应用也不能被其他应用拉起 --><service
android:name="cn.jpush.android.service.DaemonService"android:enabled="true"android:exported="true"><intent-filter ><action android:name="cn.jpush.android.intent.DaemonService" /><category android:name="您应用的包名"/></intent-filter></service><!-- Required --><receiver
android:name="cn.jpush.android.service.PushReceiver"android:enabled="true" ><intent-filter android:priority="1000"> <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY" /> <category android:name="您应用的包名"/> </intent-filter><intent-filter><action android:name="android.intent.action.USER_PRESENT" /><action android:name="android.net.conn.CONNECTIVITY_CHANGE" /></intent-filter><!-- Optional --><intent-filter><action android:name="android.intent.action.PACKAGE_ADDED" /><action android:name="android.intent.action.PACKAGE_REMOVED" /><data android:scheme="package" /></intent-filter></receiver><!-- Required SDK核心功能--><activity
android:name="cn.jpush.android.ui.PushActivity"android:configChanges="orientation|keyboardHidden"android:exported="false" ><intent-filter><action android:name="cn.jpush.android.ui.PushActivity" /><category android:name="android.intent.category.DEFAULT" /><category android:name="您应用的包名" /></intent-filter></activity><!-- Required SDK核心功能--><service
android:name="cn.jpush.android.service.DownloadService"android:enabled="true"android:exported="false" ></service><!-- Required SDK核心功能--><receiver android:name="cn.jpush.android.service.AlarmReceiver" /><!-- User defined. 用户自定义的广播接收器--><receiver
android:name="您自己定义的Receiver"android:enabled="true"><intent-filter><!--Required 用户注册SDK的intent--><action android:name="cn.jpush.android.intent.REGISTRATION" /> <!--Required 用户接收SDK消息的intent--> <action android:name="cn.jpush.android.intent.MESSAGE_RECEIVED" /> <!--Required 用户接收SDK通知栏信息的intent--><action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED" /> <!--Required 用户打开自定义通知栏的intent--><action android:name="cn.jpush.android.intent.NOTIFICATION_OPENED" /> <!--Optional 用户接受Rich Push Javascript 回调函数的intent--><action android:name="cn.jpush.android.intent.ACTION_RICHPUSH_CALLBACK" /> <!-- 接收网络变化 连接/断开 since 1.6.3 --><action android:name="cn.jpush.android.intent.CONNECTION" /><category android:name="您应用的包名" /></intent-filter></receiver><!-- Required. For publish channel feature --><!-- JPUSH_CHANNEL 是为了方便开发者统计APK分发渠道。--><!-- 例如: --><!-- 发到 Google Play 的APK可以设置为 google-play; --><!-- 发到其他市场的 APK 可以设置为 xxx-market。 --><!-- 目前这个渠道统计功能的报表还未开放。--><meta-data android:name="JPUSH_CHANNEL" android:value="developer-default"/><!-- Required. AppKey copied from Portal --><meta-data android:name="JPUSH_APPKEY" android:value="Your AppKey"/> </application>
</manifest>
Manifest清单文件配置好了(自己的包是自己的工程的包,自己的AppKey是从JPush上面新建项目而来的,自己可在JPush官网注册登录创建一个App就会生成这个key,要推送也必须要这个key才行)
4.最后在自己的Activity中调用这两个方法,才能启动。
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 必须setDebugMode() 和 init()JPushInterface.setDebugMode(true);JPushInterface.init(this);}
配置完成就可以测试是否集成JPush成功!
但是还是运行不了出现这个错误([获取JPush SDK版本失败,请重试!]和[JPushGlobal] JPush .so file do not match JPush .jar file in the project, Failed to init JPush)
造成这个错误的原因是Android Studio没有正确加载引入的jar包(libjpush217.so)。
解决方案:
//在android下添加这个一个sourceSets.mainsourceSets {main {jniLibs.srcDirs = ['libs']}}
最后测试JPush推送通知成功,是不是心里有点小激动呢~
解决Android Studio配置JPush极光推送错误方案相关推荐
- Android Jpush极光推送
平时我们开发手机客户端总是少不了与服务器进行交流,那当我们服务器数据有更新时候,客户端是怎么知道的呢,我们以前一般用两种方法: 1,客户端每隔一段时间向服务器发请求,检测数据是否发生变化,当发生变化的 ...
- Laravel 集成 JPush 极光推送指北
2019独角兽企业重金招聘Python工程师标准>>> 我是一个 Laravel 小白,我是一个 Laravel 小白,我是一个 Laravel 小白(默念三遍再往下读,如果非小白就 ...
- php集成jpush教程,Laravel 集成 JPush 极光推送指北
我是一个 Laravel 小白,我是一个 Laravel 小白,我是一个 Laravel 小白(默念三遍再往下读,如果非小白就不用看了). Laravel 使用 Composer 来管理代码依赖.所以 ...
- JPush极光推送Java服务器端API
菜鸟的春天 JPush极光推送Java服务器端API // 对android和ios设备发送 JPushClient jpush = new JPushClient(masterSecret, app ...
- iOS第三方集成之jpush极光推送
iOS第三方集成之jpush极光推送 现在很多app都带推送功能,极光推送是很受大家欢迎的第三方推送,本文将为iOS初学者和初次设计开发推送的攻城狮们提供以下自己的使用心得. 大家可以边参考官方文档, ...
- android迁移androidx、极光推送(v4.9.0)配置
一.版本配置 编译正常配置: buildToolsVersion : "27.1.1", minSdkVersion : 19, classpath ...
- Android开发之第三方推送JPush极光推送知识点详解 学会集成第三方SDK推送
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 下面是一些知识点介绍,后期将会带领大家进行代码实战: 一.Android实现推送方式解决方案: 1.推 ...
- jpush android 离线推送,JPush极光推送3分钟搞定Android Push
在 Android 上,要实现 Push 功能可没有那么简单! 众所周知的原因是,Android 官方的推送服务 GCM 在国内手机上用不了.所以很多国内的开发者,不得不去使用 AndroidPN 这 ...
- JPush (极光推送) For Xamarin.Android
http://www.cnblogs.com/xling/p/JPush-for-Xamarin-Android.html 官方教程上讲的是 GCM (Google Cloud Messaging) ...
最新文章
- docker 部署redis
- python干啥用_用python内置函数能干些什么?
- TypeScript里的空值合并运算符(双问号)用法
- Hash冲突的解决--暴雪的Hash算法
- python 生成排列、组合以及选择
- nginx安装与项目发布
- mysql addslashes c_addslashes()用途与php怎样防止mysql注入?
- 一次U3D DLL加密的记录(一)
- MySQL 数据库重装失败最后一步无法启动server的解决办法
- 学习Java可以干什么?
- 华为首款台式机计算机发布,华为首款商用台式机发布,或再成商用PC市场破局者...
- win10浏览器闪退_Win10系统下Edge浏览器经常闪退的解决方法
- 远程控制计算机控制不,远程控制电脑为什么打不了字
- 个人的偏好与擅长的领域
- 【SQL怎么写】查询同一张表中同一个ID对应最新时间的数据记录
- 非2的幂,离散傅里叶变化DFT的快速实现
- 如何选择合适的渗压计?
- 关于Julia1.0及以后版本的for循环产生错误ERROR: UndefVarError: variable not defined的解决方法
- 淘宝店铺装修代码大全,淘宝页面设计代码.
- steam api dll缺失了怎么办?多种的解决方法
热门文章
- 使用超终端连接Cisco 2950交换机步骤,通过console口
- 超全面的前端切图技巧,读这篇就够了
- word中出现“由于文件许可权错误,word无法完成保存操作”的解决办法
- Go环境配置(MAC)
- BZOJ 1216 优先队列
- 如何使用WPS进行文档内容对比
- [4G5G专题-129]:RF-架构演进的驱动力与RF常见术语
- csdn最详细最牛逼的 阿里最新app自动化测试---自动化测试框架搭建
- 河北软件职业技术学院计算机应用工程系,河北软件职业技术学院第四届模特大赛举办成功...
- macOS 13 如何更新?macOS Ventura抢先更新