重复引用jar包问题和降低编译版本问题总结

降低版本

本地一般建工程的时候,Android Studio一般选用的是本地的最高版本。这样就导致新建的工程都是compileSdkVersion为25,工程的依赖如图:
重复引用jar包问题和降低编译版本问题总结_第1张图片
要是直接更改compileSdkVersion 为21的话就会报valudes-v23.xml not found的问题了,为了解决这个问题需要改动三个地方

1.theme 需要改成不是Theme.AppCompat的theme
2.将application 的         android:roundIcon="@mipmap/ic_launcher_round"去掉
3.将compile 'com.android.support:appcompat-v7:25.3.1'更改为: compile 'com.android.support:support-fragment:25.1.0' 虽然会报如下的错误,但是编译版本算是被降了下来。工程运行仍然可以正常运行

重复引用jar包问题和降低编译版本问题总结_第2张图片
添加support-fragment:25.1.0 是为了使用support-fragment相关的东西,这样我们就可以是用FragmentActivity相关的东西,相当于引入了support-v4包
经过这三步就相当于降低了版本

重复jar包引用

重复引用jar包的问题,在我遇到的情况中,大多都是support-v4的包,在引入第三方库的时候,很有可能第三方库就依赖有support-v4的包,这个时候,我们就需要去掉重复引用的jar包。

1.重复jar包的可能是显示的,就是直接放在lib下的,这时候去掉一个就好了
2.还有配置的第三方库里面的,这个去掉的方式是使用:exclude

重复引用jar包问题和降低编译版本问题总结_第3张图片
但是如果是,引入的包和自己使用的版本不是一直的比如:你想使用一个support-v4的jar包,不想使用工程配置的,这个时候就就会有点去除默认配置的support-compat相关的东西,否则是就会导致v4包的重复引用问题
重复引用jar包问题和降低编译版本问题总结_第4张图片
这样就可以解决v4包的重复引用的问题。其他的包引用的问题也可以参照次方法

你可能感兴趣的:(Android)