Android Gradle同步失败(从github导入项目)

时间:2016-02-08 09:20:42

标签: android android-studio import android-gradle

大家好我从github下载了一个项目,我在android studio中导入,导入后出错了

Gradle sync failed: Cause: assert localProps['keystore.props.file']
       |         |
       |         null
       [ndk.dir:E:\sdk\ndk-bundle, sdk.dir:E:\sdk]
       Consult IDE log for more details (Help | Show Log)

Gradle文件:

signingConfigs {
    release {
        def Properties localProps = new Properties()
        localProps.load(new FileInputStream(file('../local.properties')))
        def Properties keyProps = new Properties()
        assert localProps['keystore.props.file'];
        keyProps.load(new FileInputStream(file(localProps['keystore.props.file'])))
        storeFile file(keyProps["store"])
        keyAlias keyProps["alias"]
        storePassword keyProps["storePass"]
        keyPassword keyProps["pass"]
    }
}

buildTypes {
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), file('proguard-project.txt')
        signingConfig signingConfigs.release
    }

    publicBeta.initWith(buildTypes.release)
    publicBeta {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), file('proguard-project.txt')
        versionNameSuffix " Beta " + versionProps['betaNumber']
    }

    publicDebug.initWith(buildTypes.publicBeta)
    publicDebug {
        debuggable true
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), file('proguard-project.txt')
        versionNameSuffix " Debug Beta " + versionProps['betaNumber']
    }
}

}

我真的不知道该怎么做。

有人有任何建议吗?。

2 个答案:

答案 0 :(得分:6)

在项目的根文件夹中,您应该有keystore.propertieslocal.properties个文件。

keystore.properties应该是这样的:

store=/path/to/your.keystore
alias=your_alias
pass=your_password
storePass=your_keystore_password

local.properties中,添加最后一行。

ndk.dir=/Users/username/Library/Android/sdk/ndk-bundle    
sdk.dir=/Users/username/Library/Android/sdk
# Add the line below
keystore.props.file=../keystore.properties 

请参阅a commit here或查看the modified project

或者如果您需要快速修复,只需将gradle脚本与标准版本相同,即可将此块替换为:

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion

        versionCode 1
        versionName "1.0"
    }

    lintOptions {
        abortOnError false
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

答案 1 :(得分:-1)

当我收到这样的错误时,那是因为我使用的是JDK8,而导入的github repo使用的是JDK7。

同时确保您拥有" Android支持信息库"从SDK Manager安装>附加功能。