Android Studio修改项目编译版本
2016-07-18 12:04
381 查看
首发在知乎:
Android Studio 使用如何低版本appcompat-v7? - 回答作者: LiLi
如果大家觉得有所帮助,欢迎点赞关注^_^
在Android Studio中创建项目时在gradle中会自动引入
当引入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文件中有一句引用
也就是theme
这个theme是在values的styles文件中继承父theme,而这个父theme就是引用的appcompat包中的theme,于是我们把这个theme修改成系统自带的theme,例如android:Theme.Light。然后删掉之前生成的customize的内容,最好修改一下style的name属性,与以前不同就可以
然后在manifest文件中修改引用
同时要修改activity继承,将默认继承的AppCompatActivity修改为activity
改成
这样再clean一下,就可以编译通过了。
=============================补充一下==========================
可以用较高版本的build tools去适配较低版本的compile sdk的,比如
这都是没有问题的
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> <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style> </resources>
这个theme是在values的styles文件中继承父theme,而这个父theme就是引用的appcompat包中的theme,于是我们把这个theme修改成系统自带的theme,例如android:Theme.Light。然后删掉之前生成的customize的内容,最好修改一下style的name属性,与以前不同就可以
<resources> <!-- Base application theme. --> <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"
这都是没有问题的
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories