0

사실 저는 코드바 개발자로서 LVL을 응용 프로그램에 통합해야합니다. 그래서 일부 Java 라이브러리를 가져오고 지금은 완벽하게 작동합니다. 하지만 도구 -> Firebase 메뉴를 통해 firebase 가져 오기 후 일부 라이브러리가 자동으로 종속성 섹션 아래에 추가했지만 지금은 응용 프로그램을 빌드 할 수 없습니다. 그것은 를 보여줍니다 : 오류 : 해결하지 못했습니다 : com.android.support:support-v4:24.0.0 리포지토리 및 프로젝트 동기화
하지만 여러 방법을 시도했지만 사용하지 않았습니다. 이다firebase 클라우드 메시징 통합시 오류가 발생했습니다.

중포 기지 수입 다음 코드

compile 'com.google.firebase:firebase-messaging:10.0.1' 
----- 
----- 
apply plugin: 'com.google.gms.google-services' 

전체 내 Gradle을 파일 내가 을 시도 무엇

apply plugin: 'com.android.application' 

buildscript { 
    repositories { 
     mavenCentral() 
     jcenter() 

    } 


    dependencies { 

     classpath 'com.android.tools.build:gradle:2.2.3' 
     classpath 'com.google.gms:google-services:3.0.0' 

    } 
} 

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

     maven { 
      url "https://jitpack.io" 
     } 


    } 
} 

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

// 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 
    } 
    // .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 
// 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() 
} 
if (ext.cdvBuildToolsVersion == null) { 
    ext.cdvBuildToolsVersion = privateHelpers.findLatestInstalledBuildTools() 
} 
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.cdvMinSdkVersion = cdvMinSdkVersion == null ? null : Integer.parseInt('' + cdvMinSdkVersion) 
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('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 { 
    sourceSets { 
     main { 
      manifest.srcFile 'AndroidManifest.xml' 
      java.srcDirs = ['src'] 
      resources.srcDirs = ['src'] 
      aidl.srcDirs = ['src'] 
      renderscript.srcDirs = ['src'] 
      res.srcDirs = ['res'] 
      assets.srcDirs = ['assets'] 
      jniLibs.srcDirs = ['libs'] 
     } 
    } 

    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)) { 
     productFlavors { 
      armv7 { 
       versionCode defaultConfig.versionCode * 10 + 2 
       ndk { 
        abiFilters "armeabi-v7a", "" 
       } 
      } 
      x86 { 
       versionCode defaultConfig.versionCode * 10 + 4 
       ndk { 
        abiFilters "x86", "" 
       } 
      } 
      all { 
       ndk { 
        abiFilters "all", "" 
       } 
      } 
     } 
    } 
    /* 

    ELSE NOTHING! DON'T MESS WITH THE VERSION CODE IF YOU DON'T HAVE TO! 

    else if (!cdvVersionCode) { 
     def minSdkVersion = cdvMinSdkVersion ?: privateHelpers.extractIntFromManifest("minSdkVersion") 
     // Vary versionCode by the two most common API levels: 
     // 14 is ICS, which is the lowest API level for many apps. 
     // 20 is Lollipop, which is the lowest API level for the updatable system webview. 
     if (minSdkVersion >= 20) { 
     defaultConfig.versionCode += 9 
     } else if (minSdkVersion >= 14) { 
     defaultConfig.versionCode += 8 
     } 
    } 
    */ 

    compileOptions { 
     sourceCompatibility JavaVersion.VERSION_1_6 
     targetCompatibility JavaVersion.VERSION_1_6 
    } 

    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 
       minifyEnabled false 
       proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
      } 
     } 
     addSigningProps(cdvReleaseSigningPropertiesFile, signingConfigs.release) 
    } 
    if (cdvDebugSigningPropertiesFile) { 
     addSigningProps(cdvDebugSigningPropertiesFile, signingConfigs.debug) 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: '*.jar') 
    // SUB-PROJECT DEPENDENCIES START 
    debugCompile(project(path: "CordovaLib", configuration: "debug")) 
    releaseCompile(project(path: "CordovaLib", configuration: "release")) 

    compile project(':library') 

    // SUB-PROJECT DEPENDENCIES END 

    compile 'com.google.firebase:firebase-messaging:10.0.1' 
} 

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 (task.name == 'validateReleaseSigning') { 
      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() 
} 



apply plugin: 'com.google.gms.google-services' 

아래 내 build.gradle 파일

에 다음 줄을 추가하려고처럼 보인다
compile 'com.android.support:support-v4:24.0.+' 
compile 'com.android.support:appcompat-v7:18.0.+' 

하지만 보여줍니다 오류를 해결하는 데 실패했지만 이미 저장소를 설치했습니다.

enter image description here

+0

'저장소 설치 및 프로젝트 동기화'를 클릭하려고 했습니까? –

+0

@AntonMalmygin 예, 시도해 보았습니다. 몇 초 정도 기다렸다가 알림이 나타나면 –

+0

이상 ... 프로젝트를 정리하고 다시 작성해보십시오. 또한 '+'를 사용하여 종속성을 지정하는 것은 일반적으로 좋지 않은 아이디어입니다. lib의 마지막 사용 가능한 명시 적 버전을 사용해보십시오. –

답변

0

응용 프로그램의 최신 업데이트는 어떻게 든 잘못 또는 일부 파일이 link를 방문하십시오 missing.For 자세한 정보입니다 발생할 수 있습니다.