目录

  • 1. 导入依赖
  • 2. 初始化
  • 3. 更安全的初始化
  • 4. 避免部分代码被混淆

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 请求。// 只使用即时通讯,不使用推送 (LiveQuery 技术实现上依赖即时通讯的长连接)LCIMOptions.getGlobalOptions().setDisableAutoLogin4Push(true)// or// 只使用 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" /><applicationandroid: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.configminifyEnabled falseproguardFiles 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*

android LeanCloud SDK部署相关推荐

  1. 五步搞定Android开发环境部署——非常详细的Android开发环境搭建教程(转)

    引言 在windows安装Android的开发环境不简单也说不上算复杂,本文写给第一次想在自己Windows上建立Android开发环境投入Android浪潮的朋友们,为了确保大家能顺利完成开发环境的 ...

  2. 【Android Studio安装部署系列】目录

    概述 从刚开始使用Android Studio到现在,下面所有目录下的操作,当时习惯性的把每一个整理成一个文档(其实就是简单文字描述+截图):有些地方当时是一知半解,现在会稍微明白一些.正好赶上现在有 ...

  3. 大叔也说Xamarin~Android篇~环境部署与破解

    原文:大叔也说Xamarin~Android篇~环境部署与破解 现在移动开发很HOT,以至于很多人都转向了它,大叔也不例外,这次有机制接触一下xamarin这个东西,其实之前也用于xamarin,只是 ...

  4. SNPE安装+Qualcomm高通AI神经网络处理SDK部署流程

    Qualcomm高通AI神经网络处理SDK部署流程 系统要求 我们建议在专用机器上执行以下操作,以更好地了解 SDK 依赖关系: 安装 Ubuntu 18.04 (推荐),例如在虚拟机上. 安装pye ...

  5. 五部搞定Android开发环境部署——费UC噶不过详细的Android开发环境搭建教程

     五步搞定Android开发环境部署--非常详细的Android开发环境搭建教程 引言 在windows安装Android的开发环境不简单也说不上算复杂,本文写给第一次想在自己Windows上建立 ...

  6. Android自动化打包部署及配置文档

    一.需求说明: 因诸多因素影响以及条件的限制,当前我们APP的Android端的打包过是手动通过开发工具打包的:这样产生的问题是: 一.Android端的APK的产出得依赖开发人员,如果开发人员不在公 ...

  7. Android自动化测试环境部署及adb sdkmanager avdmanager Monitor DDMS工具使用及命令详解

    环境部署及工具使用 系列文章 前言 环境部署 硬件环境 软件环境 ADB工具 adb组成 adb命令 android命令 sdkmanager 命令 avdmanager命令 管理模拟器 monito ...

  8. (一)Android Studio 安装部署 华丽躲坑

    叨叨两句先 小宇之前一直做前后端开发,只是略懂JS,未接触过Java和Android 近期工作任务也是兴趣使然,开始琢磨DJI二次开发 DJI是我最服气的无人机厂商,无人机稳定性极强,性价比狂高,还给 ...

  9. Android Studio SDK Manager 解决无法更新问题

    Android Studio SDK Manager 解决无法更新问题 参考文章: (1)Android Studio SDK Manager 解决无法更新问题 (2)https://www.cnbl ...

最新文章

  1. go 指针变量和普通变量的转化_C语言 | 指向结构体变量的指针变量
  2. 中点和中值滤波的区别_频谱仪和EMI测试接收机什么区别?安泰维修中心分享
  3. java学习(40):成员实例的定义和访问
  4. ASP.NET MVC Model绑定(五)
  5. ServiceStack.Redis 连接有密码的Redis问题解决
  6. VS2015自带的LocalDB数据库的用法
  7. jquery自适应宽度轮播图
  8. JavaEE 支付宝支付
  9. 修改安卓移植类型RPG游戏存档
  10. ProcExp的利用
  11. ALG:应用层网关(防火墙)
  12. [免费专栏] Android安全之Root检测与Root绕过(浅析)
  13. 大豆SNP位点信息查找V2.1版本
  14. pytorch报错“RuntimeError: DataLoader worker (pid 83709) is killed by signal: Bus error. It is .......“
  15. powerquery分组_Power Query系列 - 排序Ranking
  16. Windows合并音频
  17. 网易我的世界服务器如何装组件,网易我的世界组件包怎么使用-网易我的世界组件包如何使用...
  18. Python基础入门知识(11)
  19. cad打印去掉边框_CAD打印图纸时如何去除白色的边框
  20. 模拟CMOS集成电路设计入门学习(4)

热门文章

  1. java计算机毕业设计至臻阁古董拍卖网源码+数据库+系统+部署+lw文档
  2. 本地局域网用wordpress搭建个人网站
  3. Java网络编程学习——简单模拟在线聊天
  4. outland服务器注册,ascent wow
  5. Android 系统简介
  6. SSL证书有什么用?
  7. 世界500强企业优秀员工的十二条核心标准
  8. Excel技能培训之十三字符串操作函数mid,left,right,find,len,lenb,search,phonetic,extract
  9. 人人都是产品经理(创新版)
  10. [转]WScript.Shell