Android Studio降低compileSdkVersion的SDK版本

        自从Android Studio升级到3.0以上版本,新建项目的默认compileSdkVersion已经不低于26,如Android Studio 3.1.3新建项目后项目默认的compileSdkVersion为26,而Android Studio 3.2.1新建项目后项目默认的compileSdkVersion为27,但是有时候并不需要设置到这么高的版本,这里介绍一下如何在Android Studio 3.0以上降低SDK编译版本。

       一、设置compileSdkVersion为23:

      首先在Android Studio中新建一个项目,这里我使用的是Android Studio 3.2.1,新建完后在可以看到app gradle的配置如下:

       首先,修改compileSdkVersion为23,修改targetSdkVersion低于23,修改appcompat-v7为对应的23版本,如appcompat-v7:23.4.0,如下图红圈所示:

       然后在AndroidManifest.xml中删除android:roundIcon="@mipmap/ic_launcher_round"选项,android:roundIcon是API 26引入的,在API 23上是不存在的,需要删掉该选项。

      接着将Android Studio切换到project视图,删除drawable-v24和mipmap-anydpi-v26,由名称也可以知道它们不适用于API 23版本。

       最后再Sync一下就可以了。

       二、设置compileSdkVersion为19:

       首先通过Android Studio新建项目后,在app gradle中修改compileSdkVersion为19,修改targetSdkVersion低于19,同时在dependencies中删除掉appcompat-v7的引用,appcompat-v7是API 21后才引入,在API 19上是不存在的。

       然后在MainActivity.java中修改MainActivity继承至Activity而不是默认的AppCompatActivity,与此同时,在style.xml中修改AppTheme为对应的API 19版本具有的样式,如android:Theme.NoTitleBar。之所以要修改这两块地方是因为AppCompatActivity和默认的Theme.AppCompat.Light.DarkActionBar样式都是appcompat-v7引入的。

       接着在AndroidManifest.xml中删除android:roundIcon="@mipmap/ic_launcher_round"选项;将Android Studio切换到project视图,删除drawable-v24和mipmap-anydpi-v26,这些操作与设置compileSdkVersion为23的操作是一样的,不过不同的是,还需要删除drawable目录下的ic_launcher_background.xml:

       此时Sync一下,到了这一步会发现会报两个错误:

       这是因为android:attr/elevation和android:attr/translationZ这两个属性是Android 5.0,也就是API 21后才引入的,而这两个属性在constraint-layout中有使用到。

       为了解决这个问题,可以在app gradle中删除掉constraint-layout的引用。

       然后打开activity_main.xml,可以发现布局文件的根布局是android.support.constraint.ConstraintLayout。

       使用LinearLayout取代ConstraintLayout,删除默认的TextView中app:属性,修改后activity_main.xml如下:

       最后Sync就可以了。

     

     

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值