IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> android LeanCloud SDK部署 -> 正文阅读

[移动开发]android LeanCloud SDK部署



1. 导入依赖

// 访问云端数据库
implementation 'cn.leancloud:storage-android:8.1.4'
// 即时通讯和推送
implementation 'cn.leancloud:realtime-android:8.1.4'
// 多线程
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
// android 混合推送
// implementation 'cn.leancloud:mixpush-android:8.1.4'

2. 初始化

  • 创建:/app/src/main/kotlin/package/App.kt
class App : Application() {
    override fun onCreate() {
        super.onCreate()
        // 开启调试日志 每次网络请求的json文本和请求头都会打印出来
        LeanCloud.setLogLevel(LCLogger.Level.DEBUG)
        // 官网路径:控制台 > 设置 > 应用凭证
        LeanCloud.initialize(
            /*context*/,
            /*appId 服务器地址下的后端程序Id*/,
            /*appKey 客户端使用公开访问密钥,服务器使用私有访问密钥*/,
            /*serverURL 服务器地址,用于发送增删改查请求*/
        )
        // 在 LeanCloud#initialize 之后调用,禁止自动发送推送服务的 login 请求。
        LCIMOptions.getGlobalOptions().setDisableAutoLogin4Push(true)
        // 只使用 LiveQuery (不使用即时通讯和其他推送服务)
        PushService.startIfRequired(android.content.Context context)
    }
}
  • 修改:/app/src/main/AndroidManifest.xml
<--! 添加网络权限 -->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<application
  android:name=".App"
  ...
  >
  
  <--!  即时通讯和推送 -->
  <service android:name="cn.leancloud.push.PushService"/>	
  <receiver android:name="cn.leancloud.push.LCBroadcastReceiver">
    <intent-filter>
      <action android:name="android.intent.action.BOOT_COMPLETED"/>
      <action android:name="android.intent.action.USER_PRESENT"/>
      <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
    </intent-filter>
  </receiver>
  ...

3. 更安全的初始化

  • 命令行获取签名证书的指纹
// 进入 jdk目录
cd C:\Program Files\Android\android-studio\jre\bin
// 签名文件
keytool -list -v -keystore x:\x\xx.jks
// 获取指定签名证书的 SHA256 指纹
  • 应用包名加签名证书指纹进行验证
    官网路径:控制台 > 设置 > 安全中心 > Android 安全设置

  • 下载 leancloud-jniLibs ,解压获取 jniLibs 文件夹

  • 移动到:/app/src/main/jniLibs/

  • 添加内容:/app/build.gradle/

android {
	// 增加自动签名的内容
    signingConfigs {
        config {
            keyAlias '{your key alias}'
            keyPassword '{your key password}'
            storeFile file('{your store file full name}')
            storePassword '{your store password}'
        }
    }
    buildTypes {
        debug {
            // 增加签名设置
            signingConfig signingConfigs.config
        }
        release {
            // 增加签名设置
            signingConfig signingConfigs.config
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}
  • 修改为初始化安全:/app/src/main/kotlin/package/App.kt
class App : Application() {
    override fun onCreate() {
        super.onCreate()
        // 开启调试日志 每次网络请求的json文本和请求头都会打印出来
        LeanCloud.setLogLevel(LCLogger.Level.DEBUG)
        // 官网路径:控制台 > 设置 > 应用凭证
        LeanCloud.initializeSecurely(
            /*context*/,
            /*appId 服务器地址下的后端程序Id*/,
            /*serverURL 服务器地址,用于发送增删改查请求*/
        )
        // 在 LeanCloud#initialize 之后调用,禁止自动发送推送服务的 login 请求。
        LCIMOptions.getGlobalOptions().setDisableAutoLogin4Push(true)
        // 只使用 LiveQuery (不使用即时通讯和其他推送服务)
        PushService.startIfRequired(android.content.Context context)
    }
}

4. 避免部分代码被混淆

# proguard.cfg

-keepattributes Signature
-dontwarn com.jcraft.jzlib.**
-keep class com.jcraft.jzlib.**  { *;}

-dontwarn sun.misc.**
-keep class sun.misc.** { *;}

-dontwarn retrofit2.**
-keep class retrofit2.** { *;}

-dontwarn io.reactivex.**
-keep class io.reactivex.** { *;}

-dontwarn sun.security.**
-keep class sun.security.** { *; }

-dontwarn com.google.**
-keep class com.google.** { *;}

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

-keep public class android.net.http.SslError
-keep public class android.webkit.WebViewClient

-dontwarn android.webkit.WebView
-dontwarn android.net.http.SslError
-dontwarn android.webkit.WebViewClient

-dontwarn android.support.**

-dontwarn org.apache.**
-keep class org.apache.** { *;}

-dontwarn okhttp3.**
-keep class okhttp3.** { *;}
-keep interface okhttp3.** { *; }

-dontwarn okio.**
-keep class okio.** { *;}

-keepattributes *Annotation*
  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-10-27 12:56:47  更:2021-10-27 12:58:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 1:19:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码