android 5.0以上 极光权限配置出错

最近做个需求,新增个渠道,指定不同的包名和不同的签名文件。结果包名B的apk不能和包名A的apk同时安装到同一手机上(5.0以上)。
报错信息:
Package 包名B attempting to redeclare permission 包名A.permission.JPUSH_MESSAGE already owned by 包名A
manifest中是这样配置的:
android:name="${applicationId}.permission.JPUSH_MESSAGE" 
android:protectionLevel="signature"/>

扬帆大鱼
浏览 986回答 1
1回答

慕后森

极光推送实现步骤概括:1.查看Project下的build.gradle里面是否有,buildscript 和 allprojects ;2.在app下的defaultConfig下面添加,ndk 和 manifestPlaceholders ,然后添加两个依赖 compile 'cn.jiguang.sdk:jpush:3.0.5' // 此处以JPush 3.0.5 版本为例。compile 'cn.jiguang.sdk:jcore:1.1.2' // 此处以JCore 1.1.2 版本为例。3.清单文件,添加权限和Service,修改成自己的包名4.去极光推送官网上创建应用,复制AppKey,然后回到build.gradle(app) 和 清单文件里面,修改成自己的AppKey5.创建Receiver应用,继承BroadCastReceiverpublic class MyReceiver extends BroadcastReceiver {String TAG = MyReceiver.class.getSimpleName();@Overridepublic void onReceive(Context context, Intent intent) {Bundle bundle = intent.getExtras();Log.d(TAG, "onReceive - " + intent.getAction());if (JPushInterface.ACTION_REGISTRATION_ID.equals(intent.getAction())) {String regId = bundle.getString(JPushInterface.EXTRA_REGISTRATION_ID);Log.d(TAG, "[MyReceiver] 接收Registration Id : " + regId);}else if (JPushInterface.ACTION_MESSAGE_RECEIVED.equals(intent.getAction())) {Log.d(TAG, "收到了自定义消息。消息内容是:" + bundle.getString(JPushInterface.EXTRA_MESSAGE));// 自定义消息不会展示在通知栏,完全要开发者写代码去处理} else if (JPushInterface.ACTION_NOTIFICATION_RECEIVED.equals(intent.getAction())) {Log.d(TAG, "收到了通知");// 在这里可以做些统计,或者做些其他工作} else if (JPushInterface.ACTION_NOTIFICATION_OPENED.equals(intent.getAction())) {Log.d(TAG, "用户点击打开了通知");// 在这里可以自己写代码去定义用户点击后的行为Intent i = new Intent(context, ToolbarActivity.class); //自定义打开的界面i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);context.startActivity(i);} else {Log.d(TAG, "Unhandled intent - " + intent.getAction());}}}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android