android LeanCloud SDK部署
目录
- 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部署相关推荐
- 五步搞定Android开发环境部署——非常详细的Android开发环境搭建教程(转)
引言 在windows安装Android的开发环境不简单也说不上算复杂,本文写给第一次想在自己Windows上建立Android开发环境投入Android浪潮的朋友们,为了确保大家能顺利完成开发环境的 ...
- 【Android Studio安装部署系列】目录
概述 从刚开始使用Android Studio到现在,下面所有目录下的操作,当时习惯性的把每一个整理成一个文档(其实就是简单文字描述+截图):有些地方当时是一知半解,现在会稍微明白一些.正好赶上现在有 ...
- 大叔也说Xamarin~Android篇~环境部署与破解
原文:大叔也说Xamarin~Android篇~环境部署与破解 现在移动开发很HOT,以至于很多人都转向了它,大叔也不例外,这次有机制接触一下xamarin这个东西,其实之前也用于xamarin,只是 ...
- SNPE安装+Qualcomm高通AI神经网络处理SDK部署流程
Qualcomm高通AI神经网络处理SDK部署流程 系统要求 我们建议在专用机器上执行以下操作,以更好地了解 SDK 依赖关系: 安装 Ubuntu 18.04 (推荐),例如在虚拟机上. 安装pye ...
- 五部搞定Android开发环境部署——费UC噶不过详细的Android开发环境搭建教程
五步搞定Android开发环境部署--非常详细的Android开发环境搭建教程 引言 在windows安装Android的开发环境不简单也说不上算复杂,本文写给第一次想在自己Windows上建立 ...
- Android自动化打包部署及配置文档
一.需求说明: 因诸多因素影响以及条件的限制,当前我们APP的Android端的打包过是手动通过开发工具打包的:这样产生的问题是: 一.Android端的APK的产出得依赖开发人员,如果开发人员不在公 ...
- Android自动化测试环境部署及adb sdkmanager avdmanager Monitor DDMS工具使用及命令详解
环境部署及工具使用 系列文章 前言 环境部署 硬件环境 软件环境 ADB工具 adb组成 adb命令 android命令 sdkmanager 命令 avdmanager命令 管理模拟器 monito ...
- (一)Android Studio 安装部署 华丽躲坑
叨叨两句先 小宇之前一直做前后端开发,只是略懂JS,未接触过Java和Android 近期工作任务也是兴趣使然,开始琢磨DJI二次开发 DJI是我最服气的无人机厂商,无人机稳定性极强,性价比狂高,还给 ...
- Android Studio SDK Manager 解决无法更新问题
Android Studio SDK Manager 解决无法更新问题 参考文章: (1)Android Studio SDK Manager 解决无法更新问题 (2)https://www.cnbl ...
最新文章
- go 指针变量和普通变量的转化_C语言 | 指向结构体变量的指针变量
- 中点和中值滤波的区别_频谱仪和EMI测试接收机什么区别?安泰维修中心分享
- java学习(40):成员实例的定义和访问
- ASP.NET MVC Model绑定(五)
- ServiceStack.Redis 连接有密码的Redis问题解决
- VS2015自带的LocalDB数据库的用法
- jquery自适应宽度轮播图
- JavaEE 支付宝支付
- 修改安卓移植类型RPG游戏存档
- ProcExp的利用
- ALG:应用层网关(防火墙)
- [免费专栏] Android安全之Root检测与Root绕过(浅析)
- 大豆SNP位点信息查找V2.1版本
- pytorch报错“RuntimeError: DataLoader worker (pid 83709) is killed by signal: Bus error. It is .......“
- powerquery分组_Power Query系列 - 排序Ranking
- Windows合并音频
- 网易我的世界服务器如何装组件,网易我的世界组件包怎么使用-网易我的世界组件包如何使用...
- Python基础入门知识(11)
- cad打印去掉边框_CAD打印图纸时如何去除白色的边框
- 模拟CMOS集成电路设计入门学习(4)
热门文章
- java计算机毕业设计至臻阁古董拍卖网源码+数据库+系统+部署+lw文档
- 本地局域网用wordpress搭建个人网站
- Java网络编程学习——简单模拟在线聊天
- outland服务器注册,ascent wow
- Android 系统简介
- SSL证书有什么用?
- 世界500强企业优秀员工的十二条核心标准
- Excel技能培训之十三字符串操作函数mid,left,right,find,len,lenb,search,phonetic,extract
- 人人都是产品经理(创新版)
- [转]WScript.Shell