配置Jekins时,由于Jekins上gradle版本较低,而将本地项目的gradle版本由26.0.0变成24.2.0的相关配置
来源:互联网 发布:think in java pdf中文 编辑:程序博客网 时间:2024/05/18 18:00
给项目创建Jekins配置时,编译失败,原因是项目的gradle版本高于Jekins上的gradle版本,所以这里提供的方法是将本地项目的gradle版本降低的相关操作
1.gradle-wrapper.properties中,distributionUrl中的gradle版本由gradle-4.1-all.zip降为gradle-3.3-all.zip
2.Project的build.gradle中的dependencies的gradle版本由“3.0.0-beta5”降为“2.2.3”,并且把allprojects.repositories中的google()注释掉
3.config.gradle中androidSupportSdkVersion由26.0.0变成24.2.0(原因可能是Gradle版本降低以后,无法构建高版本的androidSupportVersion了,具体哪个版本是分界线尚不清楚)。其他版本仍然保留如下:
compileSdkVersion: 26
buildToolsVersion: “26.0.0”
minSdkVersion: 15
targetSdkVersion: 26
versionCode: 1
versionName: 1.0
4.app的build.gradle中,注释掉support-v4, 并添加对compile ‘com.android.support:support-fragment:26.0.0’的依赖,注掉了对androidTestCompile的依赖
5.将app和module中的implement或provide都改为compile,testImplementation改为testCompile
6.layout中的layout_weight无法用了,暂时只用数字替代
遇到的问题:
1.在引入com.android.support: support-v4(用于FragmentActivity)时,总是提示版本错误。(androidSupportSdkVersion版本是24.2.0)
解决:从android开发官网查询得知,24.2.0恰巧是个中间版本,下面是官网对Android Support Library Packages的v4 Support Libraries对24.2.0版本的一些注意事项。
Android Support Library 包含一些可以被包含在你应用中的library packages。每个库只支持特定范围的Android平台版本和features集。
v4 Support Libraries:和其它库相比,这些v4库包含大量APIs集合,包括支持:应用组件、用户接口features、访问能力、数据处力、网络连接和编程的用途。
注: 在Support Library 24.2.0及之前的版本,只有一个v4 support library。为了提高效率,该v4库被分成了多个模块。为了向后兼容,如果你的Gradle脚本中列有support-v4,你的APK会包括v4所有的模块。但是,为了减小APK的大小,建议你只用列出你应用所需的特定模块。
v4 compat library模块:对一些框架APIs提供兼容包支持,例如Context.obtainDrawable()和View.performAccessibilityAction()。Gradle构建脚本对此库的依赖标识如下:com.android.support:support-compat:26.1.0
v4 core-utils library模块:提供了一些utility classes, 如AsyncTaskLoader 和PermissionChecker。Gradle构建脚本对此库的依赖标识如下:com.android.support:support-core-utils:26.1.0
v4 core-ui library模块:实现了一些UI相关组件,如ViewPager、NestedScrollView和ExploreByTouchHelper.Gradle构建脚本对此库的依赖标识如下:com.android.support:support-core-ui:26.1.0
v4 media-compat library模块:媒体框架的补丁部分,包括MediaBrowser和MediaSession。Gradle构建脚本对此库的依赖标识如下:com.android.support:support-media-compat:26.1.0
v4 fragment library模块:增加了对封装用户接口和fragments功能的支持,使应用能够提供大小屏设备适配的布局。这个模块依赖于compat,core-utils,core-ui和media-compat。注意:v13 support library也提供了一个FragmentCompat。v4 的Fragment是一个可以提供bug修复功能的独立类(该功能已经被v4 Fragment类添加到了最新的platform版本,但是v13的FragmentCompat类提供了实现Fragment类的框架的兼容性插件(chims)。Gradle构建脚本对此库的依赖标识如下:com.android.support:support-fragment:26.1.0
Multidex Support Library模块:此库支持以多个Dalvik可执行(DEX)文件来构建apps。对应哪些引用超过65536个方法的apps就需要用multidex的配置。想了解更多关于multidex的用法,可以参考链接Building Apps with Over 64K Methods.Gradle构建脚本对此库的依赖标识如下:com.android.support:multidex:1.0.0
2.出现的bug:10-12 14:17:03.478 9520-9520/cn.linkface.youbangbutler E/AndroidRuntime: Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v4.animation.AnimatorCompatHelper" on path: DexPathList[[zip file "/data/app/cn.linkface.youbangbutler-2/base.apk"],nativeLibraryDirectories=[/data/app/cn.linkface.youbangbutler-2/lib/x86, /system/lib, /vendor/lib]]
解决:
configurations.all {
resolutionStrategy.eachDependency {DependencyResolveDetails details ->
def requested = details.requested
if (requested.group =='com.android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '25.3.0'
}
}
}
}
- 配置Jekins时,由于Jekins上gradle版本较低,而将本地项目的gradle版本由26.0.0变成24.2.0的相关配置
- 导入github下载的项目时,由于gradle版本不同而造成的无法编译解决办法
- Android常见问题01_AndroidStudio导入Gradle版本较低的项目一直加载的问题
- gradle版本对应的配置
- jekins 配置 maven 库
- jekins本机配置
- jekins基本配置
- 记一次对Gradle同一项目变种版本的配置
- gradle相关的配置
- 较完整的配置AS项目的build.gradle文件
- Android Studio3.0版本gradle配置
- Gradle版本统一配置
- 转载jekins构建触发器配置
- Android Studio低版本Gradle的项目升级到高版本
- 由于本都gradle版本过低导入项目过慢解决办法
- gradle(release版本配置)
- struts配置数据源时,由于tomcat的版本不同而出现的标签属性名不同
- 可持续集成jekins的搭建
- 版本控制-GitIgnore模板
- 简单工厂模式
- 主成分分析PCA
- flat型网络
- MySQL主从复制配置
- 配置Jekins时,由于Jekins上gradle版本较低,而将本地项目的gradle版本由26.0.0变成24.2.0的相关配置
- Spring基础-2-IOC注解
- 移动web顶部导航修订版(续上版)
- LeetCode 39,40,46,47,78,90 回溯法专题
- C++结构体中的位域
- Spark内核源码深度剖析:SparkContext原理剖析与源码分析
- hdu1074 Doing Homework 【状压dp】
- gcc编译选项
- jacob word转html 图片显示失败解决方案