解决 Error type 3 问题

今天用AS调试程序的时候,又发现之前遇到的一个问题。就是用AS给真机装程序的时候,出现了一个类型为 type3的错误,Error type 3 Error: Activity class {amap.com.amapandgoogle/amap.com.amapandgoogle.MainActivity} does not exist.error type 3
(PS:调试的这个程序不是我的,是网上别人开源的代码,我下载下来学习的)。而之前我自己写的程序也出现过一次这样的错误,今天再次出现,我就想找找看到底是什么原因。

网上寻找解决方案

按照惯例,遇到问题先问下度娘,看有没有解决办法。网上关于这个问题的解决办法有几种,我稍微列举一下:

1.检查包名是否正确

1)在模块级的build.gradle下面可以查看项目的包名,也就是应用ID。

 defaultConfig {
    applicationId "amap.com.amapandgoogle"
    }

2) 在AndroidMainfest.xml文件中也能查看。

 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="amap.com.amapandgoogle" >
2. Clean Project,然后再 Rebuild Project.
3. Run–> Edit Configurations… 查看Deploy: 如果是Nothing 请选择 Default APK.

几种方法都尝试之后,发现还是不行,每次虽然显示安装成功,但是桌面上根本看不到这个应用。而且AS也报type 3 的错误。
在这里插入图片描述

2、真正可行的解决办法

也不知道怎的,突然脑子灵光一闪,这是不是也和之前安装过的应用没有卸载干净有关。这是上一篇博客介绍的内容,传送门

这里再介绍一下怎么操作。首先要把adb的路径配置好(可以运行adb命令)
运行adb命令然后把手机用数据线和电脑相连,同时打开开发人员选项按钮,运行USB调试,直到在AS的Conneted Devices列表下出现你的手机,最后就可以在cmd下执行卸载命令:

adb uninstall apk的包名

这里apk的包名就是你的应用的APK的包名。出现提示Success即说明卸载成功。
adb卸载安装包成功
此时再次运行安装包就可以成功。
成功安装程序

我的思考

遇到问题还是要积极思考出现的原因,为什么之前几次调试没出现这个问题,而后面又突然出现了呢?我试着重现这个问题,所以在运行程序的出现下面这个界面的时候,我点击了左边的取消按钮,结果再次安装的时候就果真装不上了,还是提示之前的 Error Type 3 错误。
安装提示界面
重现了问题,我们还是不清楚到底为什么?我们仔细观察上图的这个风险提示信息,因为是来自外部安装的应用,所以手机会对它的安全性进行检查,如果发现风险就会提醒用户。如果我们点击了继续安装按钮,就表示我们允许这个外部应用的安装,并对它的安全性负责;而反之如果点击了取消按钮,我认为是手机得到用户的反馈,这个应用不安全,用户不想安装,那么系统以后就会禁止这个应用的安装,也就是把这个应用列入了黑名单。我尝试着在应用管理里面看能否找到手机禁止安装的应用名单,但是并没有找到,我怀疑是在系统的内部有一个注册表,里面详细记录了应用的各种信息,包括签名信息(前面不一致就禁止安装)、是否允许安装等,只能用一些能操作手机系统内部信息的应用,比如adb,aapt等。

好了,这就是这篇博客的内容了,我们下次再见!

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值