Android SDK 集成指南
使用提示
本文是 JMLink Android SDK 标准的集成指南文档。用以指导 SDK 的使用方法,默认读者已经熟悉 IDE(Eclipse 或者 Android Studio)的基本使用方法,以及具有一定的 Android 编程知识基础。
匹配的 SDK 版本为:v1.0.0 及以后版本。
- 如果您想要快速地测试、请参考本文在几分钟内跑通 Demo。
- 极光魔链文档网站上,有相关的所有指南、API、教程等全部的文档。包括本文档的更新版本,都会及时地发布到该网站上。
- 目前 SDK 只支持 Android 2.3 或以上版本的手机系统。
mavenCentral 自动集成
- 确认 android studio 的 Project 根目录的主 gradle 中配置了 mavenCentral 支持。(新建 project 默认配置就支持)
buildscript {
repositories {
mavenCentral()
}
......
}
allprojects {
repositories {
mavenCentral()
}
}
- 在 module 的 gradle 中添加依赖和 AndroidManifest 的替换变量
android {
......
defaultConfig {
applicationId "com.xxx.xxx" //JPush上注册的包名.
......
ndk {
//选择要添加的对应cpu类型的.so库。
abiFilters 'armeabi', 'armeabi-v7a', 'armeabi-v8a'
// 还可以添加 'x86', 'x86_64', 'mips', 'mips64'
}
manifestPlaceholders = [
JPUSH_PKGNAME : applicationId,
JPUSH_APPKEY : "你的appkey", //极光开发平台上注册的包名对应的appkey.
JPUSH_CHANNEL : "developer-default", //暂时填写默认值即可.
]
......
}
......
}
dependencies {
......
compile 'cn.jiguang.sdk:jmlink:1.2.0' // 此处以JMlink 1.2.0 版本为例。
compile 'cn.jiguang.sdk:jbasic:3.1.0' // 此处以 jbasic 3.1.0 版本为例,若同时集成推送/认证,可不需要添加 jbasic 依赖,直接使用 jcore。
......
}
注:如果在添加以上 abiFilter 配置之后 android Studio 出现以下提示:
NDK integration is deprecated in the current plugin. Consider trying the new experimental plugin.
则在 Project 根目录的 gradle.properties 文件中添加:
android.useDeprecatedNdk=true
组装服务集成步骤
组装服务是对手动集成 SDK 的封装服务,通过将 SDK 组合到单独的 jiguang module ,将手动集成的共同配置业务隐藏,开发者只需关注自己本身的个性化配置,减少集成步骤,提高开发者接入效率。
如您需要使用 JMLink 组装服务,请在组装服务界面勾选 JMLink 服务并组装 SDK
jiguang_sdk.zip 集成压缩包内容
- jiguang
- JIGUANG SDK 组合包
- JPush jar 包,资源文件等已在该包中进行依赖,无需在手动拷贝依赖
- jiguang-demo
- JIGUANG SDK 组合包集成 demo。
- 是一个完整的 Android 项目,通过这个演示了组包服务的基本用法,可以用来做参考。
- 根据您勾选的服务自动组合构建,组包前预设的相关配置会同时预埋到 demo 中
导入 JIGUANG SDK
通过 AS 将 SDK 作为 module 导入项目
导入步骤:AndroidStudio -> File -> New -> Import Module -> 选择 jiguang 导入
配置 JIGUANG SDK
settings.gradle 配置添加:
include ':jiguang'
在应用 module gradle 中 添加 SDK 依赖
android {
......
defaultConfig {
applicationId "com.xxx.xxx" //JPush 上注册的包名.
......
manifestPlaceholders = [
JPUSH_PKGNAME : applicationId,
JPUSH_APPKEY : "你的 Appkey ", //JPush 上注册的包名对应的 Appkey.
JPUSH_CHANNEL : "developer-default", //暂时填写默认值即可.
]
......
}
......
}
dependencies {
......
implementation project(':jiguang')
......
}
手动集成步骤
手动集成压缩包下载链接:前往下载
JMLink 压缩包简介
- example/
- 一个用来展示 JMlink 基本用法的 demo 应用
- libs/jcore-android.2.X.Y.jar
- 极光开发者服务的核心包
- libs/JMlink-Android-SDK-v1.X.Y.jar
- JMLink SDK 开发包
- libs/(cpu-type)/libjcore2xy.so
- 各种 CPU 类型的 native 开发包
解压 SDK 并导入
- 在极光官网下载最新 SDK
- 解压缩 JMLink-Android-SDK-v1.X.Y.zip 集成压缩包
- 复制 libs/jcore-android_2.X.Y.jar 到工程 libs/ 目录下。
- 复制 libs/JMlink-Android-SDK-v1.X.Y.jar 到工程 libs/ 目录下。
- 复制 libs/(cpu-type)/libjcore1xy.so 到你的工程中存放对应 cpu 类型的目录下。
***说明 1: ***使用 android studio 的开发者,如果使用 jniLibs 文件夹导入 so 文件,则仅需将所有 cpu 类型的文件夹拷进去;如果将 so 文件添加在 module 的 libs 文件夹下,注意在 module 的 gradle 配置中添加一下配置:
android {
......
sourceSets {
main {
jniLibs.srcDirs = ['libs']
......
}
......
}
......
}
配置 AndroidManifest.xml
- 添加权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
- 添加极光魔链 Appkey 信息
<meta-data
android:name="JPUSH_APPKEY"
android:value="您自己的appkey" /> <!-- </>值来自开发者平台取得的AppKey -->
<meta-data
android:name="JPUSH_CHANNEL"
android:value="default_developer" />
运行 Demo
压缩包附带的 example 是一个 API 演示例子。你可以将它导入到你的工程,并将你的 AppKey 填入到 demo 的 build.gradle 中,设置上 applicationId 然后直接运行起来测试。
JMLink 混淆
- 请在工程的混淆文件中添加以下配置:
-dontwarn cn.magicwindow.**
-keep class cn.magicwindow.** {*;}
-dontwarn cn.jiguang.**
-keep class cn.jiguang.** { *; }
更多 API
其他 API 的使用方法请参考接口文档:Android SDK API
技术支持
邮件联系:support@jiguang.cn