用了一段時間的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
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "medusa.theone.waterdroplistview"
minSdkVersion
targetSdkVersion
versionCode //各種版本配置
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包的名字和路徑。