本文主要是介绍Could not get unknown property ‘versions‘ for object of type com.android.build.gradle.AppExtension,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这个错误的原因就是build.gradle的配置都统一调用自定义的gradle文件
这个我们就要说一下自定义gradle文件了。
我们在项目开发中为了避免项目和引用的多个module使用的 sdk版本不一致,为了统一版本号,我们一般会建一个公用的gradle文件。
在项目主目录下定义一个xxx.gradle的文件
我们这里定义了一个 dependencies.gradle的文件,内容为
ext.change = [code : 100,name : '1.1.0',]ext.versions = [minSdk : 15,targetSdk : 26,compileSdk : 26,buildTools : '26.0.2',applicationId : "com.today.step",androidGradlePlugin : '3.2.1',supportLibs : '26.1.0',
]ext.gradlePlugins = [android : "com.android.tools.build:gradle:$versions.androidGradlePlugin",
]ext.libraries = [supportAppCompat : "com.android.support:appcompat-v7:$versions.supportLibs",supportRecyclerView : "com.android.support:recyclerview-v7:$versions.supportLibs",]
然后我们在项目的根目录下 build.gradle配置如下:
// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript {apply from: 'dependencies.gradle'repositories {jcenter()mavenCentral()google()}dependencies {classpath gradlePlugins.android}
}allprojects {repositories {jcenter()google()}
}
然后在APP及module中的 build.gradle文件中就可以直接这样定义了
apply plugin: 'com.android.application'android {compileSdkVersion versions.compileSdkbuildToolsVersion '28.0.3'defaultConfig {applicationId versions.applicationIdminSdkVersion versions.minSdktargetSdkVersion versions.targetSdkversionCode change.codeversionName change.nametestInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"}buildTypes {debug{}release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}}
}dependencies {implementation fileTree(include: ['*.jar'], dir: 'libs')implementation libraries.supportAppCompatimplementation project(':lib-todaystepcounter')
}
再说回我们的这个错误,就是因为这个找不到versions这样的属性,也就是没有定义,可能是我们直接从三方的代码拷贝过来,也可能直接导入了一些三方的module ,但是咱们的主项目里面没有这样定义就会报这样的错误,按照上面的定义一下就可以了。
欢迎各位小伙伴加入我的qq群:开发一群:454430053 开发二群:537532956 这里已经有很多小伙伴在等你了,快来加入我们吧!
这篇关于Could not get unknown property ‘versions‘ for object of type com.android.build.gradle.AppExtension的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!