Android SDK 集成指南
最近更新:2021-12-15
展开全部

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 { jcenter() mavenCentral() } ...... } allprojects { repositories { jcenter() mavenCentral() } }
          buildscript {
    repositories {
        jcenter()
        mavenCentral()
    }
    ......
}

allprojects {
    repositories {
        jcenter()
        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。 ...... }
          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.
          NDK integration is deprecated in the current plugin. Consider trying the new experimental plugin.

        
此代码块在浮窗中显示

则在 Project 根目录的 gradle.properties 文件中添加:

android.useDeprecatedNdk=true
           android.useDeprecatedNdk=true

        
此代码块在浮窗中显示

组装服务集成步骤

组装服务是对手动集成 SDK 的封装服务,通过将 SDK 组合到单独的 jiguang module ,将手动集成的共同配置业务隐藏,开发者只需关注自己本身的个性化配置,减少集成步骤,提高开发者接入效率。

如您需要使用 JMLink 组装服务,请在组装服务界面勾选 JMLink 服务并组装 SDK jpush_android_3m

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'
          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') ...... }
          android {
    ......
    defaultConfig {
        applicationId "com.xxx.xxx" //JPush 上注册的包名.
        ......

        manifestPlaceholders = [
            JPUSH_PKGNAME : applicationId,
            JPUSH_APPKEY : "你的 Appkey ", //JPush 上注册的包名对应的 Appkey.
            JPUSH_CHANNEL : "developer-default", //暂时填写默认值即可.
        ]
        ......
    }
    ......
}

dependencies {
    ......

    implementation project(':jiguang')
    ......
}

        
此代码块在浮窗中显示

手动集成步骤

手动集成压缩包下载链接:前往下载

  • 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'] ...... } ...... } ...... }
              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 然后直接运行起来测试。

  • 请在工程的混淆文件中添加以下配置:
-dontwarn cn.magicwindow.** -keep class cn.magicwindow.** {*;} -dontwarn cn.jiguang.** -keep class cn.jiguang.** { *; }
          -dontwarn cn.magicwindow.**
-keep class cn.magicwindow.** {*;}

-dontwarn cn.jiguang.**
-keep class cn.jiguang.** { *; }

        
此代码块在浮窗中显示

更多 API

其他 API 的使用方法请参考接口文档:Android SDK API

技术支持

邮件联系:support@jiguang.cn

文档内容是否对您有帮助?

Copyright 2011-2022, jiguang.cn, All Rights Reserved. 粤ICP备12056275号-13 深圳市和讯华谷信息技术有限公司

在文档中心打开