Android Studio / Gradle - 无法将表示法转换为文件或URI

时间:2016-10-24 18:20:32

标签: android android-studio gradle

我在StackOverflow上发现了很多这个版本,但我找到的答案都没有帮助,有些甚至犯了更多错误。但是在forking a project from GitHub之后编辑了Gradle和SDK版本时,我遇到了这个错误:

Error:(70, 0) Cannot convert the provided notation to a File or URI: [C:\Android Projects\Personal\VoidMessenger\build\intermediates\proguard-files\proguard-android.txt-2.2.0, C:\Android Projects\Personal\VoidMessenger\proguard.cfg].
The following types/formats are supported:
 - A String or CharSequence path, for example 'src/main/java' or '/usr/include'.
- A String or CharSequence URI, for example 'file:/usr/include'.
- A File instance.
- A URI or URL instance.

这是在我将项目从GitHub导入Android Studio,并将SDK和构建版本更改为25并将Gradle版本更改为2.2.0之后。这是我的build.gradle和我的settings.gradle。

的build.gradle:

    apply plugin: 'com.android.application'
    apply plugin: 'witness'
    buildscript {
    repositories {
        maven {
            url "https://repo1.maven.org/maven2"
        }
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.0'
        classpath files('libs/gradle-witness.jar')
    }
    }

    repositories {
    maven {
        url "https://repo1.maven.org/maven2/"
    }
    jcenter()
    mavenLocal()
    }

    android {
    compileSdkVersion 25
    buildToolsVersion '25.0.0'

    defaultConfig {
        versionCode 1
        versionName "0.1"

        minSdkVersion 9
        targetSdkVersion 25

        try{
            buildConfigField "String", "BUILD_GIT_COMMIT", "\"" + 'git rev-parse --short HEAD'.execute().text.trim() + "\""
        }
        catch(IOException e){
            buildConfigField "String", "BUILD_GIT_COMMIT", '""'
        }
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }

    packagingOptions {
        exclude 'LICENSE.txt'
        exclude 'LICENSE'
        exclude 'NOTICE'
        exclude 'asm-license.txt'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/NOTICE'
    }

    signingConfigs {
        release
    }

    buildTypes {
        debug {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard.cfg'
            testProguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard.cfg'
        }
        release {
            minifyEnabled true
            proguardFiles = buildTypes.debug.proguardFiles
            testProguardFiles buildTypes.debug.testProguardFiles
            signingConfig signingConfigs.release
        }
    }

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }
        androidTest {
            java.srcDirs = ['test/androidTest/java']
        }
        test {
            java.srcDirs = ['test/unitTest/java']
        }
    }

     lintOptions {
        abortOnError false
        }
      }

    tasks.whenTaskAdded { task ->
        if (task.name.equals("lint")) {
        task.enabled = false
    }
    }

    def Properties props = new Properties()
    def propFile = new File('signing.properties')

    if (propFile.canRead()){
    props.load(new FileInputStream(propFile))

        if (props !=null &&
        props.containsKey('STORE_FILE')     &&
        props.containsKey('STORE_PASSWORD') &&
        props.containsKey('KEY_ALIAS')      &&
        props.containsKey('KEY_PASSWORD'))
        {
        android.signingConfigs.release.storeFile = file(props['STORE_FILE'])
        android.signingConfigs.release.storePassword = props['STORE_PASSWORD']
        android.signingConfigs.release.keyAlias = props['KEY_ALIAS']
        android.signingConfigs.release.keyPassword = props['KEY_PASSWORD']
    } else {
        println 'signing.properties found but some entries are missing'
        android.buildTypes.release.signingConfig = null
    }
}else {
    println 'signing.properties not found'
    android.buildTypes.release.signingConfig = null
}

tasks.withType(JavaCompile){
    options.warnings = false
}
dependencies {
    compile 'se.emilsjolander:stickylistheaders:2.7.0'
    compile 'com.jpardogo.materialtabstrip:library:1.0.9'
    compile project (':libs:org.w3c.dom')
    compile 'info.guardianproject.trustedintents:trustedintents:0.2'
    compile 'org.apache.httpcomponents:httpclient-android:4.3.5'
    compile 'com.github.chrisbanes.photoview:library:1.2.3'
    compile 'com.github.bumptech.glide:glide:3.7.0'
    compile 'com.makeramen:roundedimageview:2.1.0'
    compile 'com.pnikosis:materialish-progress:1.5'
    compile 'de.greenrobot:eventbus:2.4.0'
    compile 'pl.tajchert:waitingdots:0.1.0'
    compile 'com.android.support:appcompat-v7:25.0.0'
    compile 'com.android.support:recyclerview-v7:25.0.0'
    compile 'com.android.support:design:25.0.0'
    compile 'com.melnykov:floatingactionbutton:1.3.0'
    compile 'com.google.zxing:android-integration:3.1.0'
    compile project (':libs:com.android.support.support-v4-preferencefragment')
    compile ('com.android.support:gridlayout-v7:22.2.0') {
        exclude module: 'support-v4'
    }

    compile 'com.squareup.dagger:dagger:1.2.2'
    compile ("com.doomonafireball.betterpickers:library:1.5.3") {
        exclude group: 'com.android.support', module: 'support-v4'
    }
    compile 'com.madgag.spongycastle:prov:1.51.0.0'
    provided 'com.squareup.dagger:dagger-compiler:1.2.2'

    compile project (':libs:org.whispersystems.jobmanager')
    compile project (':libs:org.whispersystems.libpastelog:library')
    compile 'org.whispersystems:textsecure-android:1.8.3'
    compile project (':libs:com.amulyakhare.textdrawable:library')
    compile 'me.relex:circleindicator:1.0.0@aar'

    testCompile 'junit:junit:4.12'
    testCompile 'org.assertj:assertj-core:1.7.1'
    testCompile 'org.mockito:mockito-core:1.9.5'
    testCompile 'org.powermock:powermock-api-mockito:1.6.1'
    testCompile 'org.powermock:powermock-module-junit4:1.6.1'
    testCompile 'org.powermock:powermock-module-junit4-rule:1.6.1'
    testCompile 'org.powermock:powermock-classloading-xstream:1.6.1'

    androidTestCompile 'com.google.dexmaker:dexmaker:1.2'
    androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.2'
    androidTestCompile ('org.assertj:assertj-core:1.7.1') {
        exclude group: 'org.hamcrest', module: 'hamcrest-core'
    }
    androidTestCompile ('com.squareup.assertj:assertj-android:1.0.0') {
        exclude group: 'org.hamcrest',        module: 'hamcrest-core'
        exclude group: 'com.android.support', module: 'support-annotations'
    }
}

dependencyVerification {
    verify = [
            'pl.tajchert:waitingdots:2835d49e0787dbcb606c5a60021ced66578503b1e9fddcd7a5ef0cd5f095ba2c',
            'com.android.support:appcompat-v7:4b5ccba8c4557ef04f99aa0a80f8aa7d50f05f926a709010a54afd5c878d3618',
            'com.android.support:recyclerview-v7:b0f530a5b14334d56ce0de85527ffe93ac419bc928e2884287ce1dddfedfb505',
            'com.android.support:design:58be3ca6a73789615f7ece0937d2f683b98b594bb90aa10565fa760fb10b07ee',
            'com.android.support:support-v4:c62f0d025dafa86f423f48df9185b0d89496adbc5f6a9be5a7c394d84cf91423',
            'com.android.support:support-annotations:104f353b53d5dd8d64b2f77eece4b37f6b961de9732eb6b706395e91033ec70a',
            'com.android.support:gridlayout-v7:a9b770cffca2c7c5cd83cba4dd12503365de5e8d9c79c479165adf18ab3bc25b',
            'com.doomonafireball.betterpickers:library:132ecd685c95a99e7377c4e27bfadbb2d7ed0bea995944060cd62d4369fdaf3d',
            'com.madgag.spongycastle:prov:b8c3fec3a59aac1aa04ccf4dad7179351e54ef7672f53f508151b614c131398a',
            'com.fasterxml.jackson.core:jackson-annotations:0ca408c24202a7626ec8b861e99d85eca5e38b73311dd6dd12e3e9deecc3fe94',
            'com.fasterxml.jackson.core:jackson-core:cbf4604784b4de226262845447a1ad3bb38a6728cebe86562e2c5afada8be2c0',
            'com.fasterxml.jackson.core:jackson-databind:835097bcdd11f5bc8a08378c70d4c8054dfa4b911691cc2752063c75534d198d',
            'com.github.bumptech.glide:glide:76ef123957b5fbaebb05fcbe6606dd58c3bc3fcdadb257f99811d0ac9ea9b88b',
            'com.github.chrisbanes.photoview:library:8b5344e206f125e7ba9d684008f36c4992d03853c57e5814125f88496126e3cc',
            'com.google.protobuf:protobuf-java:e0c1c64575c005601725e7c6a02cebf9e1285e888f756b2a1d73ffa8d725cc74',
            'com.google.zxing:android-integration:89e56aadf1164bd71e57949163c53abf90af368b51669c0d4a47a163335f95c4',
            'com.googlecode.libphonenumber:libphonenumber:9625de9d2270e9a280ff4e6d9ef3106573fb4828773fd32c9b7614f4e17d2811',
            'com.jpardogo.materialtabstrip:library:c6ef812fba4f74be7dc4a905faa4c2908cba261a94c13d4f96d5e67e4aad4aaa',
            'com.makeramen:roundedimageview:1f5a1865796b308c6cdd114acc6e78408b110f0a62fc63553278fbeacd489cd1',
            'com.pnikosis:materialish-progress:d71d80e00717a096784482aee21001a9d299fec3833e4ebd87739ed36cf77c54',
            'de.greenrobot:eventbus:61d743a748156a372024d083de763b9e91ac2dcb3f6a1cbc74995c7ddab6e968',
            'info.guardianproject.trustedintents:trustedintents:6221456d8821a8d974c2acf86306900237cf6afaaa94a4c9c44e161350f80f3e',
            'com.melnykov:floatingactionbutton:15d58d4fac0f7a288d0e5301bbaf501a146f5b3f5921277811bf99bd3b397263',
            'com.nineoldandroids:library:68025a14e3e7673d6ad2f95e4b46d78d7d068343aa99256b686fe59de1b3163a',
            'com.squareup.dagger:dagger:789aca24537022e49f91fc6444078d9de8f1dd99e1bfb090f18491b186967883',
            'com.squareup.okio:okio:5e1098bd3fdee4c3347f5ab815b40ba851e4ab1b348c5e49a5b0362f0ce6e978',
            'javax.inject:javax.inject:91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff',
            'org.apache.httpcomponents:httpclient-android:6f56466a9bd0d42934b90bfbfe9977a8b654c058bf44a12bdc2877c4e1f033f1',
            'org.whispersystems:axolotl-android:40d3db5004a84749a73f68d2f0d01b2ae35a73c54df96d8c6c6723b96efb6fc0',
            'org.whispersystems:axolotl-java:6daee739b89d8d7101de6d98f77132fee48495c6ea647d880e77def842f999ea',
            'org.whispersystems:curve25519-android:3c29a4131a69b0d16baaa3d707678deb39602c3a3ffd75805ce7f9db252e5d0d',
            'org.whispersystems:curve25519-java:9ccef8f5aba05d9942336f023c589d6278b4f9135bdc34a7bade1f4e7ad65fa3',
            'org.whispersystems:textsecure-android:aec5fc59952d9f5482491091091687816f46be1144342a0244f48fd55d6ab393',
            'org.whispersystems:textsecure-java:b407ca6d1430204dfabf38e27db22d5177409072a9668238bd1877de7676ad3f',
            'se.emilsjolander:stickylistheaders:a08ca948aa6b220f09d82f16bbbac395f6b78897e9eeac6a9f0b0ba755928eeb',
            'com.squareup.okhttp:okhttp:89b7f63e2e5b6c410266abc14f50fe52ea8d2d8a57260829e499b1cd9f0e61af',
    ]

Settings.Gradle:

include 'libs:com.amulyakhare.textdrawable:library',
'libs:com.android.support.support-v4-preferencefragment',
'libs:org.w3c.dom',
'libs:org.whispersystems.jobmanager',
'libs:org.whispersystems.libpastelog:library'

可能发生什么事?此外,在编辑gradle版本之前,我收到错误消息"无法找到'默认'"。但是什么可能导致这篇文章中陈述的错误?

1 个答案:

答案 0 :(得分:1)

"找不到默认值"与一些缺少的项目模块依赖关系有关。这通常发生在从网上下载并且缺少某些模块代码时。这些必须手动添加。