2018/09/16仍然在使用gsm的android中的`compile`问题:google 4.0.1

时间:2018-09-16 12:17:44

标签: android android-studio gradle build

错误配置'compile'已过时,并已替换为'implementation'api

这是我的项目gradle

    buildscript {
repositories {
    jcenter()
    maven {
        url "https://maven.google.com"
    }
    google()
}
dependencies {
    classpath 'com.android.tools.build:gradle:3.1.4'
    classpath 'com.google.gms:google-services:4.0.1'
}
}

task clean(type: Delete) {
delete rootProject.buildDir

}

这是我的模块:app

apply plugin: 'com.android.application' 

buildscript { 
repositories { 
mavenCentral() 
jcenter() 
maven { 
url "https://maven.google.com" 
} 
google() 
}

    
dependencies { 
classpath 'com.android.tools.build:gradle:3.1.4' 
} 
} 

// Allow plugins to declare Maven dependencies via build-extras.gradle. 
allprojects { 
repositories { 
mavenCentral(); 
jcenter() 
} 
} 

task wrapper(type: Wrapper) { 
gradleVersion = '4.1.0' 
} 

// Configuration properties. Set these via environment variables, build-extras.gradle, or gradle.properties. 
// Refer to: http://www.gradle.org/docs/current/userguide/tutorial_this_and_that.html 
ext { 
apply from: '../CordovaLib/cordova.gradle' 
// The value for android.compileSdkVersion. 
if (!project.hasProperty('cdvCompileSdkVersion')) { 
cdvCompileSdkVersion = null; 
} 
// The value for android.buildToolsVersion. 
if (!project.hasProperty('cdvBuildToolsVersion')) { 
cdvBuildToolsVersion = null; 
} 
// Sets the versionCode to the given value. 
if (!project.hasProperty('cdvVersionCode')) { 
cdvVersionCode = null 
} 
// Sets the minSdkVersion to the given value. 
if (!project.hasProperty('cdvMinSdkVersion')) { 
cdvMinSdkVersion = null 
} 
// Whether to build architecture-specific APKs. 
if (!project.hasProperty('cdvBuildMultipleApks')) { 
cdvBuildMultipleApks = null 
} 
// Whether to append a 0 "abi digit" to versionCode when only a single APK is build 
if (!project.hasProperty('cdvVersionCodeForceAbiDigit')) { 
cdvVersionCodeForceAbiDigit = null 
} 
// .properties files to use for release signing. 
if (!project.hasProperty('cdvReleaseSigningPropertiesFile')) { 
cdvReleaseSigningPropertiesFile = null 
} 
// .properties files to use for debug signing. 
if (!project.hasProperty('cdvDebugSigningPropertiesFile')) { 
cdvDebugSigningPropertiesFile = null 
} 
// Set by build.js script. 
if (!project.hasProperty('cdvBuildArch')) { 
cdvBuildArch = null 
} 

// Plugin gradle extensions can append to this to have code run at the end. 
cdvPluginPostBuildExtras = [] 
} 

// PLUGIN GRADLE EXTENSIONS START 
apply from: "../phonegap-plugin-push/lazyline-push.gradle" 
// PLUGIN GRADLE EXTENSIONS END 

def hasBuildExtras = file('build-extras.gradle').exists() 
if (hasBuildExtras) { 
apply from: 'build-extras.gradle' 
} 

// Set property defaults after extension .gradle files. 
if (ext.cdvCompileSdkVersion == null) { 
ext.cdvCompileSdkVersion = privateHelpers.getProjectTarget() 
//ext.cdvCompileSdkVersion = project.ext.defaultCompileSdkVersion 
} 
if (ext.cdvBuildToolsVersion == null) { 
ext.cdvBuildToolsVersion = privateHelpers.findLatestInstalledBuildTools() 
//ext.cdvBuildToolsVersion = project.ext.defaultBuildToolsVersion 
} 
if (ext.cdvDebugSigningPropertiesFile == null && file('../debug-signing.properties').exists()) { 
ext.cdvDebugSigningPropertiesFile = '../debug-signing.properties' 
} 
if (ext.cdvReleaseSigningPropertiesFile == null && file('../release-signing.properties').exists()) { 
ext.cdvReleaseSigningPropertiesFile = '../release-signing.properties' 
} 

// Cast to appropriate types. 
ext.cdvBuildMultipleApks = cdvBuildMultipleApks == null ? false : cdvBuildMultipleApks.toBoolean(); 
ext.cdvVersionCodeForceAbiDigit = cdvVersionCodeForceAbiDigit == null ? false : cdvVersionCodeForceAbiDigit.toBoolean(); 
ext.cdvMinSdkVersion = cdvMinSdkVersion == null ? null : defaultMinSdkVersion 
ext.cdvVersionCode = cdvVersionCode == null ? null : Integer.parseInt('' + cdvVersionCode) 

def computeBuildTargetName(debugBuild) { 
def ret = 'assemble' 
if (cdvBuildMultipleApks && cdvBuildArch) { 
def arch = cdvBuildArch == 'arm' ? 'armv7' : cdvBuildArch 
ret += '' + arch.toUpperCase().charAt(0) + arch.substring(1); 
} 
return ret + (debugBuild ? 'Debug' : 'Release') 
} 

// Make cdvBuild a task that depends on the debug/arch-sepecific task. 
task cdvBuildDebug 
cdvBuildDebug.dependsOn { 
return computeBuildTargetName(true) 
} 

task cdvBuildRelease 
cdvBuildRelease.dependsOn { 
return computeBuildTargetName(false) 
} 

task cdvPrintProps << { 
println('cdvCompileSdkVersion=' + cdvCompileSdkVersion) 
println('cdvBuildToolsVersion=' + cdvBuildToolsVersion) 
println('cdvVersionCode=' + cdvVersionCode) 
println('cdvVersionCodeForceAbiDigit=' + cdvVersionCodeForceAbiDigit) 
println('cdvMinSdkVersion=' + cdvMinSdkVersion) 
println('cdvBuildMultipleApks=' + cdvBuildMultipleApks) 
println('cdvReleaseSigningPropertiesFile=' + cdvReleaseSigningPropertiesFile) 
println('cdvDebugSigningPropertiesFile=' + cdvDebugSigningPropertiesFile) 
println('cdvBuildArch=' + cdvBuildArch) 
println('computedVersionCode=' + android.defaultConfig.versionCode) 
android.productFlavors.each { flavor -> 
println('computed' + flavor.name.capitalize() + 'VersionCode=' + flavor.versionCode) 
} 
} 

android { 

defaultConfig { 
versionCode cdvVersionCode ?: new BigInteger("" + privateHelpers.extractIntFromManifest("versionCode")) 
applicationId privateHelpers.extractStringFromManifest("package") 

if (cdvMinSdkVersion != null) { 
minSdkVersion cdvMinSdkVersion 
} 
} 

lintOptions { 
abortOnError false; 
} 

compileSdkVersion cdvCompileSdkVersion 
buildToolsVersion cdvBuildToolsVersion 

if (Boolean.valueOf(cdvBuildMultipleApks)) { 
flavorDimensions "default" 

productFlavors { 
armeabi { 
versionCode defaultConfig.versionCode*10 + 1 
ndk { 
abiFilters = ["armeabi"] 
} 
} 
armv7 { 
versionCode defaultConfig.versionCode*10 + 2 
ndk { 
abiFilters = ["armeabi-v7a"] 
} 
} 
arm64 { 
versionCode defaultConfig.versionCode*10 + 3 
ndk { 
abiFilters = ["arm64-v8a"] 
} 
} 
x86 { 
versionCode defaultConfig.versionCode*10 + 4 
ndk { 
abiFilters = ["x86"] 
} 
} 
x86_64 { 
versionCode defaultConfig.versionCode*10 + 5 
ndk { 
abiFilters = ["x86_64"] 
} 
} 
} 
} else if (Boolean.valueOf(cdvVersionCodeForceAbiDigit)) { 
// This provides compatibility to the default logic for versionCode before cordova-android 5.2.0 
defaultConfig { 
versionCode defaultConfig.versionCode*10 
} 
} 

compileOptions { 
sourceCompatibility JavaVersion.VERSION_1_8 
targetCompatibility JavaVersion.VERSION_1_8 
} 

if (cdvReleaseSigningPropertiesFile) { 
signingConfigs { 
release { 
// These must be set or Gradle will complain (even if they are overridden). 
keyAlias = "" 
keyPassword = "__unset" // And these must be set to non-empty in order to have the signing step added to the task graph. 
storeFile = null 
storePassword = "__unset" 
} 
} 
buildTypes { 
release { 
signingConfig signingConfigs.release 
} 
} 
addSigningProps(cdvReleaseSigningPropertiesFile, signingConfigs.release) 
} 
if (cdvDebugSigningPropertiesFile) { 
addSigningProps(cdvDebugSigningPropertiesFile, signingConfigs.debug) 
} 
} 



dependencies { 
implementation fileTree(dir: 'libs', include: ['*.jar']) 
// SUB-PROJECT DEPENDENCIES START 
implementation project(path: ":CordovaLib") 
implementation "com.android.support:support-v13:26.+" 
implementation "me.leolin:ShortcutBadger:1.1.17@aar" 
implementation "com.google.firebase:firebase-messaging:11.6.2" 
implementation 'com.google.firebase:firebase-core:16.0.1' 
// SUB-PROJECT DEPENDENCIES END 
} 

def promptForReleaseKeyPassword() { 
if (!cdvReleaseSigningPropertiesFile) { 
return; 
} 
if ('__unset'.equals(android.signingConfigs.release.storePassword)) { 
android.signingConfigs.release.storePassword = privateHelpers.promptForPassword('Enter key store password: ') 
} 
if ('__unset'.equals(android.signingConfigs.release.keyPassword)) { 
android.signingConfigs.release.keyPassword = privateHelpers.promptForPassword('Enter key password: '); 
} 
} 

gradle.taskGraph.whenReady { taskGraph -> 
taskGraph.getAllTasks().each() { task -> 
if(['validateReleaseSigning', 'validateSigningRelease', 'validateSigningArmv7Release', 'validateSigningX76Release'].contains(task.name)) { 
promptForReleaseKeyPassword() 
} 
} 
} 

def addSigningProps(propsFilePath, signingConfig) { 
def propsFile = file(propsFilePath) 
def props = new Properties() 
propsFile.withReader { reader -> 
props.load(reader) 
} 

def storeFile = new File(props.get('key.store') ?: privateHelpers.ensureValueExists(propsFilePath, props, 'storeFile')) 
if (!storeFile.isAbsolute()) { 
storeFile = RelativePath.parse(true, storeFile.toString()).getFile(propsFile.getParentFile()) 
} 
if (!storeFile.exists()) { 
throw new FileNotFoundException('Keystore file does not exist: ' + storeFile.getAbsolutePath()) 
} 
signingConfig.keyAlias = props.get('key.alias') ?: privateHelpers.ensureValueExists(propsFilePath, props, 'keyAlias') 
signingConfig.keyPassword = props.get('keyPassword', props.get('key.alias.password', signingConfig.keyPassword)) 
signingConfig.storeFile = storeFile 
signingConfig.storePassword = props.get('storePassword', props.get('key.store.password', signingConfig.storePassword)) 
def storeType = props.get('storeType', props.get('key.store.type', '')) 
if (!storeType) { 
def filename = storeFile.getName().toLowerCase(); 
if (filename.endsWith('.p12') || filename.endsWith('.pfx')) { 
storeType = 'pkcs12' 
} else { 
storeType = signingConfig.storeType // "jks" 
} 
} 
signingConfig.storeType = storeType 
} 

for (def func : cdvPluginPostBuildExtras) { 
func() 
} 

// This can be defined within build-extras.gradle as: 
// ext.postBuildExtras = { ... code here ... } 
if (hasProperty('postBuildExtras')) { 
postBuildExtras() 
}

我已经将依赖项从compile更改为implementation,但仍然遇到了这个问题,我希望有人可以帮助我!谢谢

classpath 'com.google.gms:google-services:3.2.0'

更改该设置对我没有帮助

0 个答案:

没有答案