最新消息:20210917 已从crifan.com换到crifan.org

【已解决】Android Studio中编译rcsjta报错:ERROR Failed to resolve play-services

Android crifan 412浏览 0评论
折腾:
【未解决】Mac中用Android Studio打开rctjsa项目并编译apk和实时调试安卓手机小米9
期间,继续build编译,报错:
ERROR: Failed to resolve: play-services
Affected Modules: RI
点击RI
RI/build.gradle
apply plugin: 'com.android.application'


android {


    //Required to support the old folder structure
    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']
        }
        androidTest.setRoot('tests')
    }


    //Required to support builds although lint errors exist
    lintOptions {
        abortOnError false
      disable 'IconLocation'
        disable 'IconDuplicates'
      disable 'IconDuplicatesConfig'
      disable 'IconColors'
      disable 'IconMissingDensityFolder'
      disable 'IconDensities'
    }


    compileSdkVersion rootProject.compileSdkVersion
    buildToolsVersion rootProject.buildToolsVersion


    defaultConfig {
        applicationId "com.gsma.rcs.ri"
        minSdkVersion rootProject.minSdkVersion
        targetSdkVersion rootProject.targetSdkVersion
        versionCode 2
        versionName "2.0"
        archivesBaseName = "RI"
    }
}


dependencies {
    compile project(':api')
    compile project(':api_cnx')
    compile project(':mediaplayer')
    compile 'com.android.support:support-v4:25.0.1'
   compile 'com.google.android.gms:play-services:8.4.0'
}


//Below install dependecy was added to always install RCS service before
//a RCS client to secure that Android handles RCS permissions correctly.
//task installServiceFirst(dependsOn: ':core:installDebug') << {
task installServiceFirst(dependsOn: ':core:installDebug') {
    doLast {
        println 'RCS core service was installed first!'
    }
}
tasks.whenTaskAdded { task ->
    if (task.name == 'installDebug') {
        task.dependsOn installServiceFirst
    }
}
ERROR Failed to resolve play-services
android – Failed to resolve: play-services-tasks – Stack Overflow
把配置
build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.


buildscript {
    repositories {
        maven{url 'https://maven.aliyun.com/repository/public'}
//        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.2'
    }
}


allprojects {
    repositories {
        maven{url 'https://maven.aliyun.com/repository/public'}
//        jcenter()
    }
}


project.ext.set("compileSdkVersion", 23)
project.ext.set("minSdkVersion", 12)
project.ext.set("targetSdkVersion", 23)
project.ext.set("buildToolsVersion", "24.0.0")
本来打算改顺序,把google()放前面的
但是发现此处的allprojects
都缺少google 或许是这个原因?
Put google() repository at the very first line of dependencies. It will work.
去加上,先不调整顺序
allprojects {
    repositories {
        maven{url 'https://maven.aliyun.com/repository/public'}
//        jcenter()
        google()
    }
}
点击重试
结果:
问题依旧。
去调整顺序
build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.


buildscript {
    repositories {
        google()
        maven{url 'https://maven.aliyun.com/repository/public'}
//        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.2'
    }
}


allprojects {
    repositories {
        google()
        maven{url 'https://maven.aliyun.com/repository/public'}
//        jcenter()
    }
}


project.ext.set("compileSdkVersion", 23)
project.ext.set("minSdkVersion", 12)
project.ext.set("targetSdkVersion", 23)
project.ext.set("buildToolsVersion", "24.0.0")
结果:
即可解决问题。
【总结】
此处根目录中
build.gradle
allprojects {
    repositories {
        maven{url 'https://maven.aliyun.com/repository/public'}
//        jcenter()
        google()
    }
}
编译报错:
ERROR: Failed to resolve: play-services
原因:找不到google()部分的东西。
解决办法:放到最开始,或者说 jcenter=public的前面。
具体操作:改为
allprojects {
    repositories {
        google()
        maven{url 'https://maven.aliyun.com/repository/public'}
//        jcenter()
    }
}
即可。
且,参考:
【已解决】Mac中Android Studio中gradle的库下载速度慢
可以优化为,更换阿里云的源,用于加速下载
完整配置是:
build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.


buildscript {
    repositories {
//        google()
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/public' }
//        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.2'
    }
}


allprojects {
    repositories {
//        google()
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/public' }
//        jcenter()
    }
}


project.ext.set("compileSdkVersion", 23)
project.ext.set("minSdkVersion", 12)
project.ext.set("targetSdkVersion", 23)
project.ext.set("buildToolsVersion", "24.0.0")
即可。

转载请注明:在路上 » 【已解决】Android Studio中编译rcsjta报错:ERROR Failed to resolve play-services

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
93 queries in 0.185 seconds, using 23.36MB memory