用了一段时间的andorid studio 感觉和eclipse 工程构建上有很大的不同,现在说一下导入工程时候遇到的一些问题。
导入eclipse工程就不说了,在网上搜一大片一大片的。
目前github上的工程都是用studio导出的项目。所以要想看源码就要导入到studio中啦。
grandle的环境变量。默认为C盘下的当前用户有.grandle 文件夹,看一下grandle你本机的版本是多少。我的是2.2.1。
- 导入时要先看下载的工程目录中gradle→wrapper→properties,(最好用editplus打开)
- 看distributionUrl 属性末尾的grandle是否和你本机的版本一致。如果不一致改成你本机的版本。
- (grandle貌似向下兼容,没考证)。如果这项没改,导入时候studio会自动下载当前工程所需要的版本。
注:如果你没挂vpn的话最好不要让studio本机自行下载一些jar包什么的,那样会超慢的。。。
在工程文件根目录下有build.grandle文件
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.2.2'
//此处改为本机的grandle 构建版本
//如果不知道。自己新建一个helloWorld
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
另外此文件里还可能会有一些apply plugin属性的插件。把这些插件用 // 注释掉就可以。没什么用。
- 接着看同样是根目录下的setting.grandle文件。
- 其中include属性中包含的是moudle。这个包含谁要看你当前项目是哪个moudle。可以是一个,也可以是多个。include中包含的就是你当前要导入的工程的moudle名字。
注:moudle类似于Eclipse中的Project项目,而studio中的Project类似于Eclipse中的WorkSpace.
下面进入moudle中,我的moudle名字叫app。进入app目录下。找到build.grandle文件。
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "medusa.theone.waterdroplistview"
minSdkVersion 11
targetSdkVersion 20
versionCode 1 //各种版本配置
versionName "1.0"
}
buildTypes {
release {//混淆
minifyEnabled false// 开关默认为false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:20.0.0'
}
- 第一行 android plugs 是固定的。不要更改。老版本是另外一种形式写的。忘记了。。。。。。
- 这其中会有我们以前看到的清单文件中的 buildTools 构建版本 compileSDKversion 编译版本等等。 需要说明的是在这里编写了 各种版本后 ,即使在清单文件中写了构建编译版本等信息也不会执行。
- buildTypes中的release 是混淆。 其中包括混淆开关和混淆文件。
- dependenceies里面都是要用到的jar包的名字和路径。