AndroidStudio 模拟器运行app闪退 App keeps stopping

项目需要写一个Apk,临时学习一下AS开发,采用的教程是b站上一个社交软件开发的过程。
视频连接
具体的问题出现在第二节,配置完比目的相关依赖文件,在OnCreat()方法里初始化自己的数据库后,在虚拟机里运行了一下app,直接闪退。
再次通过应用菜单进入app,直接报错app keeps stopping.
解决方法:
由于问题很明显地暴露在添加了这一行代码以后:

Bmob.initialize(this,"YourApplicationID");

打个断点调试看看是什么问题吧
单步运行时进入到了Looper.java里先报了一个错:
sources code does not match the bytecode
这里是因为我的模拟器版本和编译使用的API版本不一致,解决方案就是要让两者一致。
以我自己为例,模拟器使用的是API29,但是app里的build.gradle文件却是采用的API30(安装AS应该都会有一个默认的CompileSDK的版本,我的是30),所以需要修改SdkVersion和targetSdkVersion至29,BuildToolVersion采用和本地SDK同API版本的子版本号即可

compileSdkVersion 29
    buildToolsVersion "29.0.3"
    defaultConfig {
        applicationId "com.example.qxapp"
        minSdkVersion 21
        targetSdkVersion 29

重新build项目以后又遇到了一个报错:
Static interface methods are only supported starting with Android N (–min-api 24)
这个问题搜了一下大家也经常遇到,这里直接贴出我参考的解决方案:
静态方法不支持解决方案

终于单步可以顺利进入到画面跳转函数里了,尝试在模拟器上跑一下:

在这里插入图片描述
问题解决。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值