一、Mob短信验证

进行注册登入

登入成功后,点击开发者服务中的短信验证,进入开发者平台

Android Studio使用Mob实现短信验证功能遇到的问题解决_android

Android Studio使用Mob实现短信验证功能遇到的问题解决_Android_02

填好信息创建成功后显示下图,可以看到对应信息如下(注意记住AppKey和AppSecretKey)

 

Android Studio使用Mob实现短信验证功能遇到的问题解决_Android_03

Android Studio使用Mob实现短信验证功能遇到的问题解决_产品_04

回到首页,点击开发者服务中的SDK下载

Android Studio使用Mob实现短信验证功能遇到的问题解决_产品_05

勾选需要下载的短信验证功能,点击下载后出现下图中的信息,根据步骤对Android Studio添加依赖

Android Studio使用Mob实现短信验证功能遇到的问题解决_算法_06

二、Android Studio

主要对这几个文件进行修改

Android Studio使用Mob实现短信验证功能遇到的问题解决_产品_07

1.Build.gradie(Project)

Android Studio使用Mob实现短信验证功能遇到的问题解决_算法_08

repositories {

// 1.添加MobSDK Maven地址
maven {
url "https://mvn.mob.com/android"
}
}
dependencies {
// 注册MobSDK
classpath "com.mob.sdk:MobSDK:+"
}

 2.Build.gradle(app)

Android Studio使用Mob实现短信验证功能遇到的问题解决_android_09

Android Studio使用Mob实现短信验证功能遇到的问题解决_产品_10

plugins {

id 'com.mob.sdk'
}

MobSDK {
appKey "自己的appKey"
appSecret "自己的appSecret"
SMSSDK {}
}

dependencies {

//加入下方滴这些
implementation 'io.github.bmob:android-sdk:3.8.13'
implementation 'io.reactivex.rxjava2:rxjava:2.2.8'
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
implementation 'com.squareup.okhttp3:okhttp:4.8.1'
implementation 'com.squareup.okio:okio:2.2.2'
implementation 'com.google.code.gson:gson:2.8.5'
}

3.gradle.properties

Android Studio使用Mob实现短信验证功能遇到的问题解决_产品_11

android.enableJetifier=true
MobSDK.spEditinotallow=FP

4.settings.gradle

Android Studio使用Mob实现短信验证功能遇到的问题解决_产品_12

dependencyResolutionManagement {
//repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
repositories {
google()
mavenCentral()
maven { allowInsecureProtocol = true //加这个是因为mob会被判定为不安全的协议而无法引入
url "http://mvn.mob.com/android"}
}
}

 运行后出现以下结果表明引入成功

Android Studio使用Mob实现短信验证功能遇到的问题解决_Android_13

添加需要的用户权限

Android Studio使用Mob实现短信验证功能遇到的问题解决_android_14

<uses-permission android:name="android.permission.READ_CONTACTS" />
<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.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- 保持CPU 运转,屏幕和键盘灯有可能是关闭的,用于文件上传和下载 -->
<uses-permission android:name="android.permission.WAKE_LOCK" />

三、一些零碎的问题 

如果前面没引入成功就可能是这里出了问题

在开发者平台中找到应用信息里点击添加新包名,

Android Studio使用Mob实现短信验证功能遇到的问题解决_算法_15

Android Studio使用Mob实现短信验证功能遇到的问题解决_产品_16

1.包名

Android Manifest里上方可见

Android Studio使用Mob实现短信验证功能遇到的问题解决_产品_17

2.MD5签名 

打开Android Studio找到最右边工具栏上的Gradle,打开,然后依次打开app,android,signingReport,然后双击signingReport,等待它运行结束后就可以在下方控制台看见

Android Studio使用Mob实现短信验证功能遇到的问题解决_Gradle_18

Android Studio使用Mob实现短信验证功能遇到的问题解决_Android_19

(1)有一些小伙伴会发现自己的Gradle里好像没有Tasks选项,让它出现:

File->Settings->Experimental->取消勾选”Do not build Gradle task list during Gradle sync“

Android Studio使用Mob实现短信验证功能遇到的问题解决_算法_20

然后file->Sync Project with Gradle Files,就可以了,按上面的步骤就可以看到我们的MD5签名

Android Studio使用Mob实现短信验证功能遇到的问题解决_Gradle_21

(2)填写MD5签名的时候,需要注意格式:英文大写全部改小写,把冒号们都去掉!

 

(3)前面我们点了signingReport这个出现了MD5签名后,可能会出现一个小问题,点了运行,但程序没有运行起来,一直都是控制台出现MD5,其实需要找到下方图片中的位置点击一下app,再运行就可以成功解决。

Android Studio使用Mob实现短信验证功能遇到的问题解决_算法_22