2017-08-10 93 views
0

我加入在的build.gradle(模塊:應用程序)執行以下操作:加入productFlavors(模塊:應用)給錯誤

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 25 
    buildToolsVersion "25.0.3" 

    defaultConfig { 
     applicationId "com.sis.newpro" 
     minSdkVersion 22 
     targetSdkVersion 25 
     testInstrumentationRunner 
"android.support.test.runner.AndroidJUnitRunner" 
    } 

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

    } 
} 

productFlavors { 
    prod { 
     buildConfigField 'String', 'URL', '"http://api.abcd.com"' 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:appcompat-v7:25.3.1' 
    compile 'com.android.support.constraint:constraint-layout:1.0.2' 

} 

給出錯誤:(22,0)找不到方法在項目':app'中輸入org.gradle.api.Project類型的參數[build_bqh9qnip9k7nqy2kbpova0vtq $ _run_closure2 @ 5b30b3a7]的productFlavors()。

我做錯過任何事到的build.gradle添加(模塊:應用程序),或者我是否需要添加任何東西的build.gradle(項目:NewProject)以下步驟來創建構建味

+1

發表您的build.gradle文件 –

+0

你在模塊級gradle這個添加productFlavor? –

+0

是的增加了,build.gradle文件也在這裏添加 – Tarumoy

回答

0

將您的productFlavors標記移動到android括號內,它需要是buildTypes的兄弟。


的build.gradle將結束是這樣的:

android { 
    compileSdkVersion 25 
    buildToolsVersion "25.0.3" 

    defaultConfig { 
     applicationId "com.sis.newpro" 
     minSdkVersion 22 
     targetSdkVersion 25 
     testInstrumentationRunner 
     "android.support.test.runner.AndroidJUnitRunner" 
    } 

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

    } 
    productFlavors { 
     prod { 
      buildConfigField 'String', 'URL', '"http://api.abcd.com"' 
     } 
    } 
} 
+1

感謝lottttt – Tarumoy

0

如下:

productFlavors { 

TestFlavourType { 
       applicationId "com.test.flavour" 
       minSdkVersion 17 
       targetSdkVersion 25 
       versionCode 3 
       versionName "1.02" 
       multiDexEnabled true 
       } 

定義源設置不同文件夾中挑選:

sourceSets { 
     main { //Main 
      manifest.srcFile 'src/main/AndroidManifest.xml' - picks from Main 
      java.srcDirs = ['src/main/java'] 
      resources.srcDirs = ['src/main/java'] 
      aidl.srcDirs = ['src/main/java'] 
      renderscript.srcDirs = ['src/main/java'] 
      res.srcDirs = ['src/main/res'] 
      assets.srcDirs = ['src/main/assets'] 
     }    

如果你想保持不同的佈局/風格/字符串u需要定義如下:

TestFlavourType { 
      res.srcDirs = ['src/TestFlavourType/res-TestFlavourType', 'src/CommonLayoutDir/res'] 
      // For resources it will look for the files in this path [src/TestFlavourType/res-TestFlavourType] else it will look in to this [src/CommonLayoutDir/res] 
      assets.srcDirs = ['src/TestFlavourType/assets', 'src/main/assets'] 
     }  
}  

}//productFlavors end 

在src目錄下創建文件夾來維護單獨的佈局文件不同flavors.Please讓我知道,如果有幫助。

+0

感謝您的寶貴意見,但我會在稍後嘗試。 – Tarumoy