eclipse adt 搭建gradle的一些問題


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' // 目標位置
}
相關文章
相關標籤/搜索