关于打包apk后在android 6.0 以上系统无法覆盖安装的坑
来源:互联网 发布:淘宝客推广加权重吗 编辑:程序博客网 时间:2024/05/17 00:17
这个坑的由来要从我的上个项目说起了,当时年少无知,开发直接用最高的sdk 23.0.0 target sdk也是23
后来发现把用最新的sdk开发在android 6.0的系统上安装的应用,默认的所有权限都是关闭的,要主动去申请
这就带来了很多麻烦,你必须在每次去使用这个权限的时候都去检查一下,权限是否开启,否则就可能会带来很多的麻烦,甚至是crash,作为一个有经验的开发人员,怎么能允许这种事情发生呢?
刚开始以为是android 6.0 的系统问题,后来发现,我之前开发的另一个项目在eclipse上的项目,用的sdk是18的
apk安装在6.0的系统上,默认所有权限就开启的。于是才发现是sdk 23 给我带来的坑。
于是就把sdk版本换成了21.0.1,从此不再烦恼。
可惜这仅仅是坑的开始,就在今天早上,我们新的版本刚上线,很多用户反应apk无法正常覆盖安装
在检查了签名没有问题之后,我一口老血喷在屏幕上。。。这怎么可能,为什么无法覆盖安装
亲自测试之后发现确实存在这样的问题。。。心中一万个草泥马奔腾而过
冷静之后我开始找原因,发现他们都有个共同点,就是都是android 6.0 以上的系统
而且我发现,用我好久以前的一个包,去覆盖安装竟然没有问题。
研究了半天,发现了问题的所在,凡是不能覆盖安装的,apk都提示新增了xxx一系列权限,
而安装成功的就没有提示新增的权限。于是我边猜测是因为上个版本默认安装是没有申请权限的,
而这个版本改成了所有权限都有,应该是权限导致的坑。
抱着试一试的态度,我把target sdk改成了23,问题竟然解决了。。。
然后另一个问题又浮出水面了,就是应用所有的权限,默认又是关闭的了。
关于权限的处理,google也给出了相应的api,可以去请求权限
这里我觉得这篇文章写的还是不错的
http://www.thinkphp.cn/topic/34621.html
这个方法只能在用户没有禁止询问权限的时候有用,当被禁止之后就没有效果了
我们就只能通过引导用户去设置权限的方式解决,可以参考本人的另一篇博客
http://blog.csdn.net/vinomvp/article/details/52228377
时间不早了,就到这吧~~
- 关于打包apk后在android 6.0 以上系统无法覆盖安装的坑
- android工程混淆代码打包的APK安装后无法启动
- android 6.0以上系统apk自动安装失败问题
- android apk无法覆盖安装解决
- Android学习心得(三)关于真机调试后,签名的apk无法安装的问题
- apk签名后无法在手机上安装的问题
- android apk异常卸载后无法安装的解决办法
- Android apk 签名后程序无法安装的问题
- 关于签名后的apk在真机上未安装的解决方法
- 关于android gallery 在 3.0以上系统出错的问题
- Android Studio 打包 release 版本后无法安装的问题
- Android Studio 打包 release 版本后无法安装的问题
- Android Studio 打包 release 版本后无法安装的问题
- 解决在android平台上apk的覆盖安装so文件不覆盖问题
- android apk 覆盖安装
- 关于android studio 2.3无法安装apk的解决办法
- 使用HBuilder打包APK安装后在Android手机中的路径
- 关于Android系统在开机后无法自动连接以太网的问题
- 《代码整洁之道》第二章 总结
- TimePicker示例
- VR站在时代浪口的一阵大风,将颠覆整个未来行业的发展
- char和varchar在MySQL中的区别
- {分享}《Matrix67:信息学竞赛中可能有用的概率学知识》——Monty Hall问题
- 关于打包apk后在android 6.0 以上系统无法覆盖安装的坑
- java awt布局管理
- DatePicker示例
- Oracle必读好书推荐 -------------------------------------------------------------------------- tkyte的书 1、Ex
- 做程序员你真的准备好了吗?
- 机器学习-逻辑回归-代价函数
- bzoj1101(莫比乌斯反演)
- MySQL 5.6安装
- Message from debugger: Terminated due to signal 15