2016-04-14 2 views
1

У меня есть проект студии Android, и я пытаюсь перенести град из стабильной версии 2.0.0 в экспериментальную версию 0.7.0-beta1:ошибка портирования gradle: 2.0.0 до gradle-experimental: 0.7.0-beta1?

Это рабочий код внутри моего модуля тегов Android my 2.0 +0,0 Gradle код:

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.3" 

    defaultConfig { 
     applicationId "com.test.myapp" 
     minSdkVersion 15 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 

     ndk { 
      moduleName "myNativeLib" 
     } 
    } 

    sourceSets.main { 
     jniLibs.srcDir 'src/main/libs' //set .so files location to libs 
     jni.srcDirs = [] //disable automatic ndk-build call 
    } 

    tasks.withType(JavaCompile) { 
     compileTask -> compileTask.dependsOn ndkBuild 
    } 

    task runSwig(type: Exec, description: 'Run swig config') { 
     workingDir 'src/main' 
     commandLine 'cmd', '/c', 'swig.bat' 
    } 

    Properties props = new Properties() 
    props.load(new FileInputStream(file(project.property("KeyStore.properties")))) 

    signingConfigs { 
     storeSignature { 
      storeFile = file(props['KEYSTORE']) 
      storePassword = props['KEYSTORE_PASSWD'] 
      keyAlias = props['KEYSTORE_MYAPP'] 
      keyPassword = props['KEYSTORE_MYAPP_PASSWD'] 
     } 
    } 

    buildTypes { 
     def SERVER_URL = "SERVER_URL" 
     debug { 
      debuggable true 
      jniDebuggable true 
      buildConfigField "String", SERVER_URL, "\"http://testusound.eastus.cloudapp.azure.com/androidbackend/checkjson\"" 
      versionNameSuffix getMasterName() + "." + getDate() 
     }   

     release { 
      signingConfig signingConfigs.storeSignature 
      debuggable false 
      jniDebuggable false 
      minifyEnabled false 
      buildConfigField "String", SERVER_URL, "\"http://www.usound.co/androidbackend/checkjson\"" 
      versionNameSuffix getMasterName() 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

Теперь вот моя попытка переписать мой код для expermiental pluggin 0.7.0-бета1:

model { 
    android { 
     compileSdkVersion 23 
     buildToolsVersion "23.0.3" 

     defaultConfig.with { 
      applicationId "com.test.myapp" 
      minSdkVersion.apiLevel 15 
      targetSdkVersion.apiLevel 23 
      versionCode 1 
      versionName "1.0" 
     } 

     ndk { 
      moduleName "myNativeLib" 
     } 

     tasks.withType(JavaCompile) { 
      compileTask -> compileTask.dependsOn ndkBuild 
     } 

     task runSwig(type: Exec, description: 'Run swig config') { 
      workingDir 'src/main' 
      commandLine 'cmd', '/c', 'swig.bat' 
     } 

     buildConfigFields.with { 
      create() { 
       type "String" 
       name "SERVER_URL" 
       value "\"http://www.myserver.com/backend/checkjson\"" 
      } 
     } 

     buildConfigFields.with { 
      create() { 
       type "String" 
       name "TEST_SERVER_URL" 
       value "\"http://www.mytestserver.com/backend/checkjson\"" 
      } 
     } 

     sources { 
      main { 
       jni { 
        source { 
         srcDir "src" 
        } 
       } 
       jni.srcDirs = [] //disable automatic ndk-build call 
      } 
     } 

     buildTypes { 
      debug { 
       debuggable true 
       jniDebuggable true 
       buildConfigField $("android.buildConfigFields.TEST_SERVER_URL") 
       versionNameSuffix getMasterName() + "." + getDate() 
      } 
      release { 
       signingConfig = $("android.signingConfigs.mySignature") 
       debuggable false 
       jniDebuggable false 
       minifyEnabled false 
       buildConfigField $("android.buildConfigFields.SERVER_URL") 
       versionNameSuffix getMasterName() 
       proguardFiles.add(file('proguard-rules.pro')) 
      } 
     } 
     Properties props = new Properties() 
     props.load(new FileInputStream(file(project.property("KeyStore.properties")))) 
    } 

    android.signingConfigs { 
     create("mySignature") 
     storeFile = file(props['KEYSTORE']) 
     storePassword = props['KEYSTORE_PASSWD'] 
     keyAlias = props['KEYSTORE_MYAPP'] 
     keyPassword = props['KEYSTORE_MYAPP_PASSWD'] 
    } 
} 

я получаю эту ошибку ошибки с signingConfigs:

Error:Attempt to read a write only view of model of type 'java.lang.Object' given to rule 'android.signingConfigs { ... } @ app\build.gradle line 165, column 5' 

в моем коде будет эта строка:

android.signingConfigs { 

мои подписи конфиги я использую файл с именем keystore.properties, расположенные под моей основной папке (я хотел бы сохранить его таким образом в отдельный файл, поэтому я не загружаю данные подписи хранилища ключей в git, поэтому я не ставил ключи подписи подписи, как в текущих экспериментальных проектах gradle).

Что мне здесь не хватает? Как написать конфиги подписи для использования свойств, загруженных из файла? Поскольку я просто попадаю в экспериментальный град, не стесняйтесь давать мне несколько примеров или информацию, которую вы считаете полезной.

ответ

0

Материал после создания должен быть в наборе {} 's

android.signingConfigs { 
    create("mySignature") { // <-- needed 
     storeFile = file(props['KEYSTORE']) 
     storePassword = props['KEYSTORE_PASSWD'] 
     keyAlias = props['KEYSTORE_MYAPP'] 
     keyPassword = props['KEYSTORE_MYAPP_PASSWD'] 
    } // <-- needed 
} 
Смежные вопросы