项目做版本适配

项目在功能方面接近尾声的时候,轮到了适配工作,首先要解决 Android版本适配问题,也就是在不同安卓版本的机型上要跑起来无障碍。经过 20 多部手机测试,发现只有 vivo x21手机安装不了,但是同样还有一台 Android 8.1的手机安装运行却无问题。于是开始填坑…

首先要解决的是权限

安卓开发者应该都知道,安卓 8.0 开始限制了“允许安装未知来源软件”的开关,在此之前是可以在手机的设置里面找到此入口,打开即可;当然,解决这个问题并不难,只需要在 AndroidManifest.xml 中添加下面这行代码即可:

<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />

但是,即使如此,在 vivo x21手机上还是行不通……经过一番折腾,终于有了解决方案

1.设置你的AS,关闭Instant Run。File->Settings->BUild,Execution…->Instant Run , 关闭勾选Enable Instant Run…
2.在你的gradle.properties文件添加一句:android.injected.testOnly = false

解释

其中第一个没啥说的,关于开发过程中是否开启 Instant Run,我个人建议还是关闭它,我在开发过程中一直都是关闭着的,因为之前开启它,出现了一些莫名其妙的问题,目前我们的神器 Android Studio 已经优化的很好了,即使重新打包,也浪费不了多少时间。

关于第二个之所以要在 gradle.properties 文件加这句

android.injected.testOnly = false

那是因为我们跑的 run apk都是 debug 版本,也就是测试版本,而 vivo x21就不支持这个测试apk(网上有人这样说,经过验证,不假,在找答案的过程中,看到过很多吐槽:vivo x21不适合做测试机,因为它只认正式包)

果然这样我的 apk 就顺利安装上了。但是,有时候你可能还会遇到一个问题,为什么这么说呢?

想想,上面的做法是把打好的包通过 QQ 或者其他第三方软件发到 vivo x21 手机上的,比如说:发到 QQ 了,这个时候如果你的 QQ 是不允许安装未知应用的,那就会同样出现无法安装的问题。

解决方式
根据每个手机不同,未知也不太一样,比如 vivo x21 是在:设置 -> 更多设置 -> 未知xx管理(记不太清楚了)。

一加3T前段时间更新了 Android 8.0 ,它的位置在: 设置 -> 应用程序 -> 特殊访问权限 -> 安装未知应用。如下图,打开对应的软件即可。

额外坑

经过爬坑,好不容易上来了,但是又一个坑来了,完美安装完毕,但是点击桌面图标,闪退,打不开软件,此时,我的内心真是奔溃的,无奈之下,将手机连接 AS 通过报错信息查看到是 xxx/libs xxx.so(非蓝色) 项目代码没有任何报错,还好,看到这个 Log,我心里已经不那么担心了,想了下,问题排查在 so 这块,因为这个项目使用到的 so 是在 2016 年加入的,那个时候 Android 8.0还没到来,第三方的 so 还没有适配,所以出现这个问题很正常,这样问题就好解决了,重新配置一遍 so 文件,果然顺利的跑起来了。

总结

  1. 对于高版本的特殊机型适配,需要会搜索和分析
  2. 对于项目使用到的第三方东西,要考虑版本兼容和适配
  3. 排查问题,定位问题,很锻炼自己解决问题的能力

记一次 vivo x21 Android 8.1.1 调试Apk填坑相关推荐

  1. Android底部导航栏切换页面填坑

    ** Android底部导航栏切换页面填坑 ** 这个效果的实现关键点就是给选项赋予两种状态,focused和normal,在主程序中用监听判断是否被选中,就给被选中的选项设focused为true, ...

  2. vivo+x21+android版本,vivo X21参数_vivo X21配置怎么样-太平洋IT百科

    vivo X21配置怎么样?vivo X21硬件参数是大家比较关注的话题,vivo X21已经上市,这款产品可谓是vivo年度产品,相比上一代V20有着极大的全面升级,相信会成为今年下线爆款产品,那么 ...

  3. android 软件盘弹回去的最好体验,Android 软键盘弹出 日常填坑

    开发输入框的开发者都会遇到一个问题,那就是在登录界面时,当你点击输入框时,下边的按钮有时会被输入框挡住,这个不利于用户的体验,所以很多人希望软键盘弹出时,也能把按钮挤上去.这样的交互更人性化,做得合理 ...

  4. android vivox21 适配,还在苦等Android P的适配?原来这些功能vivo X21早都有了

    原标题:还在苦等Android P的适配?原来这些功能vivo X21早都有了 北京时间5月9日凌晨,谷歌在美国加利福尼亚州山景城召开2018年I/O开发者大会.本次大会带来了大家期待已久的Andro ...

  5. vivo android p 机型,vivo X21成全球首批Android P适配机型!vivo :不小心就秀实力了

    原标题:vivo X21成全球首批Android P适配机型!vivo :不小心就秀实力了 近日,2018谷歌I/O大会正式召开,会上发布了大家期待已久的Android P开发者预览版,给我们展示了众 ...

  6. android studio找不到X21,不必苦等Android P,这些“新”功能其实早在vivo X21就已实现...

    原标题:不必苦等Android P,这些"新"功能其实早在vivo X21就已实现 相信今天许多数码爱好者都被谷歌推出的全新系统Android P给刷屏了吧!没错,作为当今智能手机 ...

  7. vivox21 by Android,vivo X21率先升级安卓P,没升级的话这里有方法!

    原标题:vivo X21率先升级安卓P,没升级的话这里有方法! 本次谷歌2018开发者大会在加州的山景城召开 ,千呼万唤的最新安卓系统Android P终于亮相,并同时推出了公共测试版.这次公测适配机 ...

  8. android x21,vivo X21成全球首批Android P适配机型!vivo :不小心就秀实力了

    近日,2018谷歌I/O大会正式召开,会上发布了大家期待已久的Android P开发者预览版,给我们展示了众多全新特性,其中AI功能的进化让人十分眼馋,能够极大的提高日常生活的便利性.不过在以前,最新 ...

  9. vivo android 彩蛋,惊喜不止于表面!vivo X21的四个彩蛋,你注意到了吗?

    原标题:惊喜不止于表面!vivo X21的四个彩蛋,你注意到了吗? 说起近期最热门的全面屏手机,肯定少不了vivo X21,vivo X21凭借全球领先的屏幕指纹黑科技.全面升级的系统配置.当下最流行 ...

最新文章

  1. 十二张图带你了解 Redis 的数据结构和对象系统
  2. 解决ubuntu系统中输入sudo passwd root,之后,提示输入新密码时,输不进去
  3. 怎样新建Oracle数据库
  4. XFire WebService demo
  5. 编程方法学笔记:karel
  6. boost::regex模块在 cpp 文件中搜索类定义,使用绑定成员函数回调测试程序
  7. canvas 文字颜色_canvas 中普通动效与粒子动效的实现
  8. Faster-RCNN 训练自己的数据
  9. linux 0.11 源码学习(十四)
  10. SAP MM T-Code
  11. 谷粒商城开发代码笔记记录
  12. linux中中文转换程序,Linux下在程序中如何进行繁体中文和简体中文的转换
  13. promise是什么?
  14. GF-3双极化SAR遥感影像预处理【基础版】
  15. layui 表格加载动画_巴州动画
  16. 计算机毕业设计Java医院管理系统(系统+源码+mysql数据库+Lw文档)
  17. caj文献里的参考文献拷贝到word中格式错乱问题
  18. MongoDB安装、群集原理
  19. 电脑无法打开Office提示很抱歉,此功能看似已中断解决办法
  20. Mac os 用MAMP搭建环境

热门文章

  1. 华为机试题:【中级】报文转换
  2. 计量广义差分操作过程_计量经济学总结
  3. 安装MinIO和使用MinIO Java SDK实现对文件的基本操作
  4. 开源的 Switch 模拟器——GitHub 热点速览 v.21.12
  5. 速卖通买家号怎么注册?
  6. 2012-2018普及组第一题题解
  7. 【C++错误】VS调试出现0xC00000FD:Stack overflow溢出
  8. RAD Studio 11.2 详细图文安装教程 (delphi 11.2)
  9. 零基础学习Python 作业 第28章
  10. 怎么在Word中插入几何画板图形