我已在项目中导入模块并正确导入。但是我收到了这个错误。我已导入扫描仪控制应用程序模块(由斑马)。我已经搜索了许多替代解决方案,但它没有成功。
Error:(36, 0) Could not get unknown property 'applicationVariants' for BuildType_Decorated{name=release, debuggable=false, testCoverageEnabled=false, jniDebuggable=false, pseudoLocalesEnabled=false, renderscriptDebuggable=false, renderscriptOptimLevel=3, minifyEnabled=false, zipAlignEnabled=true, signingConfig=null, embedMicroApp=true, mBuildConfigFields={}, mResValues={}, mProguardFiles=[/home/custom/AndroidStudioProjects/fireball5/fireball/build/intermediates/proguard-files/proguard-android.txt-2.3.3, /home/custom/AndroidStudioProjects/fireball5/fireball/scannercontrol/proguard-rules.pro], mConsumerProguardFiles=[], mManifestPlaceholders={}} of type com.android.build.gradle.internal.dsl.BuildType.
<a href="openFile:/home/custom/AndroidStudioProjects/fireball5/fireball/scannercontrol/build.gradle">Open File</a>
apply plugin: 'com.android.library'
android {
compileSdkVersion 25
buildToolsVersion '25.0.0'
defaultConfig {
applicationId "com.zebra.scannercontrol.app"
minSdkVersion 19
targetSdkVersion 22
versionCode 71
versionName "2.0.8.0"
if (project.hasProperty('ADD_BUILD_TO_VERSION')) {
versionName = versionName.substring(0,versionName.lastIndexOf(".") + 1) + (System.getenv("BUILD_NUMBER") ?: "0")
}
}
signingConfigs {
release {
storeFile file("../../../keys/AndroidScannerSDK.keystore")
if (project.hasProperty('RELEASE_STORE_PASSWORD')) {
storePassword RELEASE_STORE_PASSWORD
keyAlias RELEASE_KEY_ALIAS
keyPassword RELEASE_KEY_PASSWORD
}
}
}
buildTypes {
release {
minifyEnabled false
if (project.hasProperty('RELEASE_STORE_PASSWORD')) {
signingConfig signingConfigs.release
}
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
applicationVariants.all { variant ->
appendVersionName(variant, defaultConfig)
}
}
}
lintOptions {
// Don't abort if Lint finds an error, otherwise the Jenkins build
// will be marked as failed, and Jenkins won't analyse the Lint output
abortOnError false
}
}
def appendVersionName(variant, defaultConfig) {
variant.outputs.each { output ->
if (output.zipAlign) {
def file = output.outputFile
def fileName = file.name.replace("scannercontrol-release.apk", "scanner_control_app_v" + defaultConfig.versionName + ".apk")
output.outputFile = new File(file.parent, fileName)
}
def file = output.packageApplication.outputFile
def fileName = file.name.replace("scannercontrol-release", "scanner_control_app_v" + defaultConfig.versionName + ".apk")
output.packageApplication.outputFile = new File(file.parent, fileName)
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:25.0.0'
compile 'com.android.support:design:25.0.0'
compile project(':BarcodeScannerLibrary')
}
enter code here
答案 0 :(得分:28)
您在applicationVariants.all
时遇到错误。
buildTypes {
release {
applicationVariants.all { variant ->
appendVersionName(variant, defaultConfig)
}
}
}
修复1:
由于您正在应用apply plugin: 'com.android.library'
。
您必须将其更改为apply plugin: 'com.android.application'
才能使用applicationVariants.all
。
修复2:
如果您想继续使用apply plugin: 'com.android.library'
。
将applicationVariants.all
更改为libraryVariants.all
或testVariants.all
。
<强>解释强>
applicationVariants(仅适用于app插件)
libraryVariants(仅适用于库插件)
testVariants(适用于两个插件)
这三个分别返回DomainObjectCollection的ApplicationVariant,LibraryVariant和TestVariant对象。
希望这有帮助。
apply plugin: 'com.android.library'
android {
compileSdkVersion 25
buildToolsVersion '25.0.3'
defaultConfig {
minSdkVersion 19
targetSdkVersion 22
versionCode 71
versionName "2.0.8.0"
if (project.hasProperty('ADD_BUILD_TO_VERSION')) {
versionName = versionName.substring(0,versionName.lastIndexOf(".") + 1) + (System.getenv("BUILD_NUMBER") ?: "0")
}
}
signingConfigs {
release {
storeFile file("../../../keys/AndroidScannerSDK.keystore")
if (project.hasProperty('RELEASE_STORE_PASSWORD')) {
storePassword RELEASE_STORE_PASSWORD
keyAlias RELEASE_KEY_ALIAS
keyPassword RELEASE_KEY_PASSWORD
}
}
}
buildTypes {
release {
minifyEnabled false
if (project.hasProperty('RELEASE_STORE_PASSWORD')) {
signingConfig signingConfigs.release
}
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
lintOptions {
abortOnError false
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'
compile project(':BarcodeScannerLibrary')
}