Android 12 apk Installation did not succeed

 1、跳坑原因

事情本质是这样的,简单描述下,之前我的小米10青春版是Android 10系统 ,因为后面公司要兼容Android 12(sdk 31),于是我昨天把手机升级到Android 12,然后再测试下手机闪光灯功能,一大早高高兴兴把代码写好,就二个按钮打开或者关闭,然后插上手机打开开发者模式,开开心心的运行代码,然后出现上面的错误,之前 Android 10上面是没有出现这个问题。

2、踩坑过程

于是我跟大多数cv工程师一样,英语水平三级的我,直接打开百度搜索引擎,然后给我返回一堆的信息,于是我按照博客比如像这样的

2.1 说在gradle.properties文件中添加android.injected.testonly =false,然后sync一下。

 2.2 说在Androidmainfest.xml中添加taskAffinity属性“."

 2.3 在开发者选项里面 打开USB安装开关 上面博客解决方案都无效!,都无效!都无效!重要的事情说三遍!!!

2.4 于是我开始复制这段错误文字Google翻译一遍,高三我还是英语课代表,丢脸了。此处省略一脸尴尬。

3、解坑

3.1 于是我再想既然网上都是一些乱起八糟拿去Android developer开发找找,然后发现关于intent启动的解析然后点进去看了下。

3.2 只有官方文档最靠谱!最靠谱!最靠谱!

 3.3 在AndroidMainfest.xml activity中显示设置exported="true"属性 其他四大组件也是类似设置方案 需要声明这个exported这个属性

3.4  然后在Android12 小米10青春版手机上完美运行,点继续安装即可可以正常打开或者关闭闪光灯。

3.5 到这里可能有些同学会问?为什么在 Android 12 上需要显示声明 android:exported 属性?

android:exported 属性的默认值取决于是否包含 <intent-filter>,如果包含 <intent-filter> 那么默认值为 true,否则 false。

当 android:exported="true" 时,如果不做任何处理,可以接受来自其他 App 的访问 直接启动界面
当 android:exported="false" 时,限制为只接受来自同一个 App 或一个具有相同 user ID 的 App 的访问 不启动界面。

4、总结:

    4.1、多查官方文档,这个最靠谱。重要事情说三遍!!!

    4.2、看日志输出,英语不行像我这种水平直接找翻译软件,不要怕丑!

    4.3、多尝试几次,找到原因之后。这里推荐Stack Overflow找答案或者Github有很多大佬都踩过了。

5.感谢

https://github.com/square/leakcanary/pull/2074
https://github.com/microsoft/appcenter-sdk-android/pull/1520

Android Studio Error "Installation did not succeed. The application could not be installed. Installation failed due to: 'null'" - Stack Overflow

行为变更:以 Android 12 为目标平台的应用  |  Android Developers

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值