Android升级支持库版本遇到的两个问题详解

 更新时间:2017年10月17日 09:56:17   作者:山水相逢z  
安卓平台其中一个很牛逼的地方在于它支持各种不同的设备。从你的平板电脑,到你的手机,电视等,安卓无处不在。这篇文章主要给大家介绍了关于Android升级支持库版本遇到的两个问题,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。

前言

早在2011年它作为安卓兼容库发布,在75%的应用中使用过,是最广泛使用的安卓库。它事实上不是一个单一的文件,而是一个集合,其中可以大致可以分为两组:兼容库和组件库。

每一个库都指明了所支持的最小sdk版本。有一点容易弄错,就是高版本的支持库很容易被理解为涵盖了低版本支持库的所有内容。实际上,并非如此。(可能你认为v7-appcompat包含了v4,但是不是这样的)。

公司项目之前support Library 版本比较混乱,各moudle有好几个版本的v7包和v4包,而且版本还比较低,今天抽时间统一了下支持库以及buildToolsVersion等的版本,但是遇到了两个问题,记录一下。

1. 升级buildToolsVersion至26

最新的buildToolsVersion已经到26了,照之前方式,直接在build文件中将buildToolsVersion后的引用版本改为26.0.2,然后同步,发现编不过去,提示:

[failed to find build tools revision 26.0.2]

查了一下,从sdk 26开始,需要在根目录build文件的repositories加上以下内容:

repositories {
    jcenter()
    maven {
      url "https://maven.google.com"
    }
  }

再次编译,成功。

2. 在主题设置隐藏ActionBar无效

最初我的appcompat-v7版本是20,所以activity继承的是ActionBarActivity,所以在style文件里是这样设置是有用的的:

 <item name="android:windowActionBar" tools:targetApi="honeycomb">false</item>
 <item name="android:windowNoTitle">true</item>

升级到26.1.0后,ActionBarActivity被AppCompatActivity替代,这时候用android:windowActionBar这种方式设置就不行了,改为以下方式

<item name="windowActionBar" tools:targetApi="honeycomb">false</item>
<item name="windowNoTitle">true</item>

即去掉“android:”,至于这两种写法的区别:

若添加在属性名称前添加 andoird: 时即指定属性为 android 包下。

而项目的 Base Style AppTheme 继承自 Theme.AppCompat,位于 appcompat-v7 library, 而不是 android 包下。所以错

误地使用 android:windowActionBar 和 android:windowNoTitle,应该使用 windowActionBar 和 windowNoTitle

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • android 使用kotlin 实现点击更换全局语言(中日英切换)

    android 使用kotlin 实现点击更换全局语言(中日英切换)

    这篇文章主要介绍了android kotlin 点击更换全局语言的实现方法,这里主要介绍中日英切换,需要的朋友可以参考下
    2019-11-11
  • SQLite数据库在Android中的使用小结

    SQLite数据库在Android中的使用小结

    SQLIte是一款轻型的数据库,占用资源非常低,在嵌入式设备中,可能只需几百k的内存,这篇文章主要介绍了SQLite数据库在Android中的使用,需要的朋友可以参考下
    2024-07-07
  • Android自动测试工具Monkey的实现方法

    Android自动测试工具Monkey的实现方法

    本文主要介绍Android Monkey 实现方法,Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法,具有非常重要的参考价值,希望对小伙伴有所帮助
    2016-07-07
  • Android实现每天定时提醒功能

    Android实现每天定时提醒功能

    本文主要介绍了Android每天定时提醒功能、定时功能、闹钟的相关知识。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-04-04
  • appium运行各种坑爹报错问题及解决方法【推荐】

    appium运行各种坑爹报错问题及解决方法【推荐】

    这篇文章主要介绍了 appium运行各种坑爹报错问题及解决方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06
  • Android自定义View实现字母导航栏的代码

    Android自定义View实现字母导航栏的代码

    这篇文章主要介绍了Android自定义View实现字母导航栏的实例代码,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • Android ViewPager的MVP架构搭建过程

    Android ViewPager的MVP架构搭建过程

    本文主要介绍了ViewPager在Android中的作用以及使用场景,如引导页、图片浏览器、新闻或文章内容的多标签页等,同时,还详细阐述了如何通过MVP架构来搭建ViewPager,将视图和逻辑进行解耦,提高代码的可测试性、可复用性,使代码结构更清晰且易于扩展功能
    2024-10-10
  • Android多媒体应用使用SoundPool播放音频

    Android多媒体应用使用SoundPool播放音频

    这篇文章主要为大家详细介绍了Android多媒体应用使用SoundPool播放音频,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Android实现横屏切换科学计算器

    Android实现横屏切换科学计算器

    这篇文章主要为大家详细介绍了Android实现横屏切换科学计算器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • Android编程实现的手写板和涂鸦功能

    Android编程实现的手写板和涂鸦功能

    这篇文章主要介绍了Android编程实现的手写板和涂鸦功能,涉及Android界面布局及图形绘制功能相关实现技巧,需要的朋友可以参考下
    2018-01-01

最新评论