栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

android LeanCloud SDK部署

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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(
            ,
            ,
            ,
            
        )
        // 在 LeanCloud#initialize 之后调用,禁止自动发送推送服务的 login 请求。
        // 只使用即时通讯,不使用推送 (LiveQuery 技术实现上依赖即时通讯的长连接)
        LCIMOptions.getGlobalOptions().setDisableAutoLogin4Push(true)
        // or
        // 只使用 LiveQuery (不使用即时通讯和其他推送服务)
        PushService.startIfRequired(android.content.Context context)
    }
}
  • 修改:/app/src/main/AndroidManifest.xml
<--! 添加网络权限 -->




  
  <--!  即时通讯和推送 -->
  	
  
    
      
      
      
    
  
  ...
3. 更安全的初始化
  • 命令行获取签名证书的指纹
// 进入 jdk目录
cd C:Program FilesAndroidandroid-studiojrebin
// 签名文件
keytool -list -v -keystore x:xxx.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(
            ,
            ,
            
        )
        // 在 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*
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/354401.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号