android之jcenter()极光推送集成

说明 : 使用jcenter自动集成的开发者,不需要在项目中添加jar和so,jcenter会自动完成依赖;在AndroidManifest.xml中不需要添加任何JPush SDK 相关的配置,jcenter会自动导入。项目搭建很简单,看一下目录就清楚了

步骤:

1.在集成之前先确认android studio的 Project 根目录的主 gradle 中配置了jcenter支持。(新建project默认配置就支持)

buildscript {
    repositories {
        jcenter()
    }
    ......
}
 
allprojets {
    repositories {
        jcenter()
    }
}

2.在 module 的 gradle 中添加依赖如下配置

android {
    ......
    defaultConfig {
        applicationId "com.xxx.xxx" //JPush上注册的包名.
 
        ndk {
            //选择要添加的对应cpu类型的.so库。
            abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a','x86'
            // 还可以添加 'x86', 'x86_64', 'mips', 'mips64'
        }
 
        manifestPlaceholders = [
            JPUSH_PKGNAME : applicationId,
            JPUSH_APPKEY : "你的appkey", //JPush上注册的包名对应的appkey.
            JPUSH_CHANNEL : "developer-default", //暂时填写默认值即可.
        ]
    }
}
 
dependencies {
    compile 'cn.jiguang.sdk:jpush:3.1.6'  // 此处以JPush 3.1.6 版本为例。
    compile 'cn.jiguang.sdk:jcore:1.2.5'  // 此处以JCore 1.2.5 版本为例。
}

3.清单文件AndroidMainfest.xml里面加入权限

 
    

    
    
    
    
    
    
    
    
    
    
    
    
 
    
     
    
    
    
    
    
    

4.自定义的Application里面调用

JPushInterface.setDebugMode(true);//如果时正式版就改成false
JPushInterface.init(this);

5.如果要获取RegistrationID可以在调用的地方直接调用:JPushInterface.getRegistrationID(context)方法,如果在

   aplication初始化的地方调用,可能因注册延迟的问题不能及时获取到RegistrationID。

注意:如果提示method ID not in [0, 0xffff]: 65536,解决方案为在app的build.gradle中的defaultConfig中添加

          multiDexEnabled true即可。(原因为方法数越界)详细参考地址其实你不知道MultiDex到底有多坑

你可能感兴趣的:(android)