首发在知乎:
Android Studio 使用如何低版本appcompat-v7? - 回答作者: LiLi
如果大家觉得有所帮助,欢迎点赞关注^_^

在Android Studio中创建项目时在gradle中会自动引入

    compile 'com.android.support:appcompat-v7:24.0.0'

当引入appcompat-v7时,编译版本至少要在21(5.0)以上时才可以通过。
但是有一些项目需要用到稍低版本的sdk,于是我在gradle中改低compile sdk version(eg:改到19)时,compile appcompat-v7会报错,提示与compile sdk version不一致。
然后自己试着修改到一致的版本时,报错会消失,但是会出一行新的提示:当min target version>=14且compile sdk version<=19时,这个包是不需要的,于是删除这个compile,重新sync,这时会报出一些奇怪的样式引用错误。
跳转查看详情,发现是一些styles引用了appcompat的内容
在manifest文件中有一句引用

android:theme="@style/AppTheme"

也就是theme

<resources>    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">-- Customize your theme here. -->        <item name="colorPrimary">@color/colorPrimary        "colorPrimaryDark">@color/colorPrimaryDark        "colorAccent">@color/colorAccent    style>resources>

这个theme是在values的styles文件中继承父theme,而这个父theme就是引用的appcompat包中的theme,于是我们把这个theme修改成系统自带的theme,例如android:Theme.Light。然后删掉之前生成的customize的内容,最好修改一下style的name属性,与以前不同就可以

<resources>    <style name="BaseTheme" parent="android:Theme.Light">-- Customize your theme here. -->    style>resources>

然后在manifest文件中修改引用

android:theme="@style/BaseTheme"

同时要修改activity继承,将默认继承的AppCompatActivity修改为activity

public class MainActivity extends AppCompatActivity

改成

public class MainActivity extends Activity

这样再clean一下,就可以编译通过了。
=============================补充一下==========================
可以用较高版本的build tools去适配较低版本的compile sdk的,比如

    compileSdkVersion 19    buildToolsVersion "24.0.0"

这都是没有问题的

更多相关文章

  1. Android(安卓)Studio的各种冷知识,黑科技
  2. Android(安卓)2.3 CTS测试修改测试结果和调试方法
  3. Android(安卓)碎片化 适配问题
  4. Android根据Url显示gif类型图片
  5. 全志A40i Android7永不休眠及不锁屏的修改方法
  6. Android中部分修改字体和全局修改字体的方法
  7. Android(安卓)Studio gradle 使用最新版本的 xstream:1.4.8 出错
  8. Android实际开发中遇到的问题和部分解决方案
  9. eclipse查看android源码包(eclipse导入android源码包)

随机推荐

  1. Native Service 创建过程
  2. Android三种网络通讯方式及Android的网络
  3. vlc-android 移植live555到android
  4. Android换肤技术总结
  5. Android StrictMode 严苛模式
  6. android NDK环境搭建【针对EClipse】
  7. 【错误记录】Android 内存泄漏 错误排查
  8. Android(安卓)点击两次返回键 退出程序
  9. Android 动画实现原理
  10. Android设置界面切换动画的两种方式