2017-01-14 9 views
0

私はオープンソースプロジェクトをインポートしました。プロジェクトを同期すると、次の問題が発生しました。問題を解決する方法がわかりません。ここでパスもbaseDirもnullでも空の文字列でもない

Error:(99, 0) Neither path nor baseDir may be null or empty string. path='null' basedir='/Users/Technologx/Desktop/Android Projects/New/sysexplorer'

は私のbuild.gradleのコードは次のとおりです。

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 25 
    buildToolsVersion '25.0.1' 

    defaultConfig { 
     versionName "1.0" 
     versionCode = 10 
     minSdkVersion 17 
     targetSdkVersion 25 
     vectorDrawables.useSupportLibrary = true 
    } 
    signingConfigs { 
     release 
    } 
    buildTypes { 
     debug { 
      minifyEnabled false 
      shrinkResources true 
      useProguard false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard/proguard-project.pro', 
        'proguard/proguard-google-play-services.pro' 
     } 
     release { 
      signingConfig signingConfigs.release 
      minifyEnabled true 
      shrinkResources true 
      useProguard true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 
        getDefaultProguardFile('proguard-android-optimize.txt'), 
        'proguard/proguard-project.pro', 
        'proguard/proguard-google-play-services.pro' 
     } 
    } 
    flavorDimensions "release", "default" 
    productFlavors { 
     free { 
      applicationId "com.technologx.sysexplorer.free" 
      dimension "default" 
     } 
     pro { 
      applicationId "com.technologx.sysexplorer.pro" 
      dimension "default" 
     } 
     underground { 
      applicationId "com.technologx.sysexplorer.underground" 
      dimension "default" 
     } 
     google { 
      dimension "release" 
     } 
     amazon { 
      dimension "release" 
     } 
     other { 
      dimension "release" 
     } 
    } 
    variantFilter { variant -> 
     def names = variant.flavors*.name 

     if (names.contains("underground") && (names.contains("google") || names.contains("other"))) { 
      variant.ignore = true 
     } 
    } 
    packagingOptions { 
     exclude 'META-INF/LICENSE' 
     exclude 'META-INF/DEPENDENCIES' 
    } 
    lintOptions { 
     abortOnError false 
    } 
    aaptOptions { 
     noCompress 'apk' 
    } 
} 

ext { 
    supportLibVersion = '25.1.0' 
    gmsVersion = '10.0.1' 
} 

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    compile 'com.jaredrummler:android-processes:+' 
    compile 'com.github.mjdev:libaums:+' 
    compile 'org.apache.ftpserver:ftpserver-core:+' 
    compile 'commons-net:commons-net:+' 
    compile "com.android.support:appcompat-v7:${supportLibVersion}" 
    compile "com.android.support:design:${supportLibVersion}" 
    compile "com.android.support:exifinterface:${supportLibVersion}" 
    freeCompile "com.google.firebase:firebase-crash:${gmsVersion}" 
    freeCompile "com.google.firebase:firebase-ads:${gmsVersion}" 
} 

def props = new Properties() 
props.load(new FileInputStream(rootProject.file("keystore.properties"))) 
android.signingConfigs.release.storeFile rootProject.file(props.keyStore) 
android.signingConfigs.release.storePassword props.keyStorePassword 
android.signingConfigs.release.keyAlias props.keyAlias 
android.signingConfigs.release.keyPassword props.keyAliasPassword 

if (getGradle().getStartParameter().getTaskRequests().toString().contains("Free")) { 
    apply plugin: 'com.google.gms.google-services' 
} 

答えて

1

私は問題はこのラインである推測:

android.signingConfigs.release.storeFile rootProject.file(props.keyStore) 

のGradleが可能nullまたは空の文字列がfile()に渡されることを示していますメソッド(props.keyStore変数)。 build.gradleに明示的に定義して初期化する必要があります。または、ファイル(プロジェクトのルートディレクトリ内)に次のようなコンテンツを含める必要があります。

keyStore=your_keystore_file 
keyStorePassword=your_store_pass 
keyAlias=your_alias 
keyAliasPassword=your_alias_pass 
関連する問題