1、國內封網,要設置gradle用代理(痛苦至極) java
gradle clean時會下載須要的文件,若用代理會致使失敗 android
1.針對單個項目設置gradle代理 web
修改項目中的gradle.properties文件,增長配置項: app
systemProp.http.proxyHost=127.0.0.1
systemProp.http.proxyPort=10384 maven
systemProp.https.proxyHost=127.0.0.1
systemProp.https.proxyPort=10384 gradle
2.若是想針對全部的gradle項目設置代理 ui
能夠在GRADLE_USER_HOME下新建文件gradle.properties,而後設置代理。GRADLE_USER_HOME的路徑通常以下: spa
/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:\Users\<username>\.gradle\ (Windows) debug
2、.gradle clean時出現版本不匹配錯誤 代理
Error:Gradle version 1.10 is required. Current version is 2.9. If using the gradle wrapper, try editing the distributionUrl in /Users/username/apps/android/project-android/gradle/wrapper/gradle-wrapper.properties to gradle-1.10-all.zip.Please fix the project's Gradle settings in Gradle settings
解決方法:
build.gradle文件中的
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.9.+' }}
修改爲
classpath 'com.android.tools.build:gradle:1.1.+'
gradle-wrapper.properties文件中的
istributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=http\://services.gradle.org/distributions/gradle-1.10-all.zip
修改爲本機安裝的版本
distributionUrl=http\://services.gradle.org/distributions/gradle-2.9-all.zip
3、gradle build中文亂碼問題
build.gradle文件中配置(放在最後面)
tasks.withType(JavaCompile) { options.encoding = "UTF-8" }
4、build.gradle文件說明
buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.1.+' } } apply plugin: 'com.android.application' dependencies { compile fileTree(dir: 'libs', include: '*.jar') } android { compileSdkVersion 16 buildToolsVersion "22.0.1" signingConfigs { **Config{ storeFile file("D:\\My Documents\\Documents\\mykey\\**keystore") storePassword "***" keyAlias "***" keyPassword "***" } } buildTypes{ release { //混淆開關 minifyEnabled true //是否zip對齊 zipAlignEnabled true //是否打開debuggable開關 debuggable false //是否打開jniDebuggable開關 jniDebuggable false //混淆配置文件 proguardFiles getDefaultProguardFile('proguard-android.txt') //簽名配置 signingConfig signingConfigs.**Config } } //渠道 productFlavors { free { applicationId 'com.clarck.httpclientnew.free' } premium { applicationId 'com.clarck.httpclientnew.premium' } } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } //批量打包--指定配置文件 //不一樣的渠道商對應的各自AndroidManifest //AndroidManifest的application標籤只用配置渠道號的值 //其餘公共配置都放在公共的AndroidManifest.xml中 selfTest { manifest.srcFile 'product/AndroidManifest_selfTest.xml' } MMstore { manifest.srcFile 'product/AndroidManifest_MMstore.xml' } // Move the tests to tests/java, tests/res, etc... instrumentTest.setRoot('tests') // Move the build types to build-types/<type> // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ... // This moves them out of them default location under src/<type>/... which would // conflict with src/ being used by the main source set. // Adding new build types or product flavors should be accompanied // by a similar customization. debug.setRoot('build-types/debug') release.setRoot('build-types/release') } tasks.withType(JavaCompile) { options.encoding = "UTF-8" } }
5、Gradle 管理Eclipse web項目時須要將jar包複製到lib目錄下
task copyJars(type: Copy) { from configurations.runtime into 'lib' // 目標位置 }