Android Gradle 项目出现的问题:
1、gradle版本不一样
2、gradle编译方式不一样
3、gradle 工具不一样
一、Gradle 版本不一样
1、版本不一样
在工程的gradle/wrapper下,有个gradle-wrapper.properties文件,里面有说明使用的gradle版本。
#Mon Aug 10 15:22:55 CST 2015
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip
(1)在Mac电脑中,直接下载当前gradle-2.4-all.zip。放入 ./gradle/wrapper/dists/gradle-xx(版本)-all.zip
./gradle/wrapper/dists/gradle-xx(版本)-all.zip/xxxxx(随机码) 准确位置
(2)直接导入时,选择本地下载的gradle。
二、gradle编译方式不一样
http://www.tuicool.com/articles/iMBbEf (详细讲解了这个问题)
Gradle DSL method not found: ‘runProguard()’
runProguard函数已经被废弃并且停止使用了
改成minifyEnabled
即如下的配置
buildTypes { release { minifyEnabled false // 替代的方式 ...... } }
runProguard —> minifyEnabled
jniDebuggBuild –> jniDebuggable
zipAlign –> zipAlignEnabled
2,Library projects cannot set applicationId
新版本不能使用applicationId来定义库module的包名了,要定义在manifest
defaultConfig { applicationId "cn.flakor.lib" <---- 删除这行 minSdkVersion 15 targetSdkVersion 19 versionCode 1 versionName "1.0" }
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="cn.flakor.lib">
...
利用flavor重命名包名
android { ... productFlavors { flavor1 { applicationId 'cn.flakor.newname' } }
apply plugin: 'com.android.application' android { compileSdkVersion 22 buildToolsVersion '22.0.1' defaultConfig { applicationId 'dean.demo' minSdkVersion 21 targetSdkVersion 21 versionCode 1 versionName '1.0'
} buildTypes { release { apply plugin: 'announce' minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } productFlavors { } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:recyclerview-v7:21.+' compile 'com.android.support:cardview-v7:21.+' }
三、gradle 工具不一样
build tool是android官方提供的,一般来说向下兼容(但不绝对)
sample出现的时候,build tool版本就是那时候的版本,
sample出现的时候,build tool版本就是那时候的版本,
所以项目设置的version可能就是楼主看到的那样,改成你现在有的build tool版本号,一般只要这个版本大于原来的就行了。
compileSdkVersion 22 buildToolsVersion '22.0.1'