Error type 3

问题现象:无论是调试运行程序还是通过命令行运行程序,都会以Error type 3的提示。

如下:

Error while executing: am start -n "package_name/package_name.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=package_name/.MainActivity } Error type 3 Error: Activity class {package_name/package_name.MainActivity} does not exist. Error while Launching activity

解决方案:

1.无效的方案:尝试了clean project,重新新建android studio项目,重启电脑,重启android设备都不行。

2.有效的方案:在build.gradle下面修改android->default config->application id可以解决问题,

即,把com.toycloud.toycloudassistant修改成com.toycloud.toycloudassistant2。

具体如下

    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    defaultConfig {
        applicationId "com.toycloud.toycloudassistant2"
        minSdkVersion 17
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

3.有效的方案:不过,要从根本上解决问题只能重新烧录android系统。重新烧录可以清空包管理器的数据库,从而解决问题。


通过上面的现象来看,这个问题的根因还是包管理器出现了bug。

出现此现象时,调用pm.queryIntentActivities返回是空,而传入的条件仅仅是限制了包名。

 

导致问题的原因很可能是之前调用了setComponentEnabledSetting方法。

//        PackageManager pm = getPackageManager();
//        ComponentName cn = new ComponentName(this,MainActivity.class);
//        pm.setComponentEnabledSetting(cn,PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
//                PackageManager.DONT_KILL_APP);



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值