Bmob提供后端云数据库等其他后端云服务
1.情况:
按照官方入门文档一步一步来但是导入sdk出现错误,先是在网上找了半天,有的是代理的问题,有的是网络的问题,但都没解决我的问题,先是Unable to resolve dependency问题(也就是无法下载包的问题,可能是网络的问题),然后是Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve cn.bmob.android:bmob-sdk:3.7.3-rc1. site:blog.csdn.net问题
原因:不清楚
解决:最后通过arr方式导入成功
具体步骤:
a.访问下面链接,下载arr文件
https://github.com/bmob/bmob-android-sdk/tree/master/cn/bmob/android/bmob-sdk/3.7.3-rc1
b.将下载的文件放到拷贝到app的libs目录下
c.修改build.gradle 配置文件:
添加repositories { flatDir { dirs 'libs' }}
这个是添加一个本地仓库,并把libs目录作为仓库的地址。
d.在dependencies下引入arr文件
//Bmob后端云
implementation(name: 'bmob-sdk-3.7.3-rc1', ext: 'aar')
e.最后同步一下或是rebuild
2.上面导入成功了,但是在初始化的时候遇到问题了,
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:processDebugManifest'.
解决办法:
这类问题往往是xml文件有问题。可以先定位问题:
打开AndroidStudio的terminal,在命令行输入命令:gradlew compileDebugSource --stacktrace -info或gradlew assembleDebug --info
mac linux系统输入:./gradlew compileDebugSource --stacktrace -info
然后可以在命令行查看具体的编译报告信息,编译内容有很多,耐心向下看,会发现一段非常明显的错误提示,然后具体处理。
3.上面做完又出现了一个问题,
Manifest merger failed : Attribute application@allowBackup value=(false) 解决方法
解决办法:
在manifest中添加 xmlns:tools="http://schemas.android.com/tools"
然后在 application里面添加 tools:replace="android:allowBackup"
这样报错就消失了
4.另外一个问题:
io.reactivex.disposables.Disposablejava.lang.NoClassDefFoundError: Failed resolution of: Lio/reactiv
这个一般是因为没有导入包的原因
解决:
将sdk之外的包使用自动导入的方式添加依赖
5.今天添加数据的时候也碰到了一个问题
2020-02-13 17:34:04.083 22813-22813/com.example.l.testpurevision I/System.out: java.net.UnknownHostException: Unable to resolve host "open-vip.bmob.cn": No address associated with hostname
这是网络的问题,安卓模拟器没有连接到网络
解决:
方法一、使用真机联网后调试就可以了。
方法二、通过adb工具设置一下DNS--
a.把SDK文件夹下的platform-tools添加到系统变量
b.在cmd中输入:adb shell
回车测试是否成功,exit退出,adb root
将模拟器root一下,才能更改DNS。然后再输入adb shell
。
c.接下来输入getprop
获取模拟器系统属性。找到[net.eth0.dns1]
这一项,发现后面为10.0.2.3,接下来我们输入setprop net.eth0.dns1 192.168.1.1
.后面的ip也可为其他
d.在浏览器中输入www.baidu.com访问网络验证成功
e.如果没有联网成功,可以打开飞行模式再关闭,或者重启模拟器,或者可能是使用了代理关闭代理