【轉載】Android Studio jar、so、library項目依賴,原文連接http://zhengxiaopeng.com/2014/12/13/Android-Studio-jar、so、

前言

Android Studio(如下簡稱AS)在13年I/O大會後放出預覽版到如今放出的正式版1.0(PS.今天又更新到1.0.1了)歷時一年多了,雖然Google官方推出的Android開發者的IDE對咱們Android DEV是頗有吸引力的,但考慮到beta版仍是太多問題因此本身主要仍是把AS當作嚐鮮爲主,每放出一個較大更新就下載下來試試,感受仍是挺好的,漸漸用AS的人愈來愈多,Github上的項目也基本是AS的了,Google的sample也採用AS,因此使用Eclipse跟外界交流愈來愈困難啊。到如今android-studio-bundle-135.1629389AS正式版的推出,咱們有理由從Eclipse遷移到AS了。
要遷移到AS中開發那麼要掌握AS中的項目管理是必須的,基本的new project、run什麼的就不提了,這篇文章記錄我在AS中在項目中解決jar包、library項目依賴、so動態連接庫的問題,版本控制Git、SVN等這篇文章不涉及。這麼多廢話後下面開始。java

Eclipse跟AS的不一樣

從Eclipse到AS不要帶着在Eclipse中的主觀色彩去在AS中使用,從項目的構成到構建是不一樣的,下面列舉在Eclipse和AS中的一些概念的區別:android

WorkSpace和Project

Eclipse的WorkSpace和AS的Project說的能夠說是一個東西,也就是說你能夠把在AS中的Project理解爲WorkSpace。
因此你在AS中new一個Project至關於在Eclipse中重開了一個WorkSpace,注意第一個箭頭,顯示模式爲Project,建議剛用AS時用這種,方便了解裏面的文件結構。android-studio

Project和Module

跟上面同樣,Eclipse中的一個個project也就是至關於AS中的一個個module。上圖的module_1和module_2就是咱們習慣的eclipse中的一堆project了,把顯示模式換爲Android以後就更爲直觀了:

最下面的就是AS中整個Project中全部Gradle的配置了,固然包括全部module的配置了,括號的名字就表示build.gradle對應的配置對象。瀏覽器

Properties和Module Setting

Eclipse中的Properties也是跟AS的Module Setting對應的

能夠看到這裏能夠像在Eclipse的Properties中同樣在這裏配置一些東西,好比在Module Setting裏給Module添加依賴(dependencies)信息也是能夠的,而且能夠直接搜maven的項目依賴。安全

jar

明白了上面的三點就能夠很快上手了。首先就來講最簡單的添加jar包。app

  • 能夠跟在Eclipse中同樣,把jar包往Module裏扔,再在jar右鍵add as library就能夠了,而後最後在你的Module文件夾(像上面的module_1)右鍵make module一下就能夠在代碼裏用jar裏的東西了。
  • 也能夠本身手動到module裏的build.gradle裏添加dependencies,上面的方法作的方法本質上就是這種。
1
2
3
4
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile fileTree(dir: 'D:\\repositories\\libs\\java', include: ['*.jar'])
}

dir能夠是電腦上的目錄文件。eclipse

library項目

有了前面跟Eclipse的比較後,相似地像在Eclipse中添加項目依賴同樣,被依賴的項目得是做爲library。在Eclipse中咱們是進入到Properties把這個項目設置爲library(as a library),因此在AS中也是相似的,咱們須要把一個module做爲library(這個module能夠本身新建module也能夠導入module,此外咱們是能夠把一個AS的Project導進成module的或者直接導Project裏的單個module也能夠),完成後到這個module(我這裏是把module_2做爲library)把apply plugin: 'com.android.application'改成apply plugin: 'com.android.library'再而後去掉(刪除)module_2的build.gradle裏的applicationId "com.example.mrzheng.as"(一個library不須要這個,否則make project或make module時會報錯)。
build.gradle(module_2)maven

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
apply plugin: 'com.android.library'
android {
compileSdkVersion 21
buildToolsVersion "21.1.1"
defaultConfig {
minSdkVersion 10
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile( 'proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.2'
}

到這裏先確認下你的project(AS)的settings.gradle裏有沒把module都include進去,沒有的話加上:編輯器

1
include ':module_1', ':module_2'

最後就能夠在module_1裏就添加library依賴(module_2)了。進入module_1的build.gradle,找到dependencies加上compile project(':module_2')
build.gradle(module_1)函數

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.1"
defaultConfig {
applicationId "com.example.mrzheng.as"
minSdkVersion 10
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile( 'proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets {
main {
jniLibs.srcDirs = [ 'libs']
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile fileTree(dir: 'D:\\repositories\\libs\\java', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.2'
compile project(':module_2')
}

如今make module一下就可使用依賴的項目了(module_2)。

so

以前的版本不知道怎麼樣,如今正式版的AS添加so打包進apk裏的lib裏是很簡單的,咱們只須要把so文件放到libs文件夾裏的對應cpu文件夾裏,最後在module的build.gradle里加上jni的sourceSets配置:jniLibs.srcDirs = ['libs'],完整代碼看上面的build.gradle(module_1)代碼片。

END

作完上面的工做,jar包、so動態連接庫、library依賴項目裏的代碼就均可以正常工做了,正常的項目開發已經沒什麼問題。最後給上本博文的源碼:Android Studio jar、so、library項目依賴,導進AS裏後,run module_1便可。
最最後奉上Android Studio快捷鍵大全(大部分來源於:http://ask.android-studio.org/?/article/12):

附錄(IDEA(Android Studio) 快捷鍵)

說明:斜體文字表示,測試時沒有效果或者沒有測試時沒有達到預先條件的狀況下沒有效果。

IDE

按鍵 說明
F1 幫助
Alt+F1 查找文件所在目錄位置
Alt+1 快速打開或隱藏工程面板
Ctrl+Alt+S 打開設置對話框
Alt+Home 跳轉到導航欄
Esc 光標返回編輯框
Shift+Esc 光標返回編輯框,關閉無用的窗口
Shift+Click 關閉標籤頁
F12 把焦點從編輯器移到最近使用的工具窗口
Ctrl+Alt+Y 同步
Ctrl+Alt+S 打開設置對話框
Alt+Shift+Inert 開啓/關閉列選擇模式
Ctrl+Alt+Shift+S 打開當前項目/模塊屬性
Alt+Shift+C 查看文件的變動歷史
Ctrl+Shift+F10 運行
Ctrl+Shift+F9 debug運行
Ctrl+Alt+F12 資源管理器打開文件夾

編輯

按鍵 說明
Ctrl+C 複製當前行或選中的內容
Ctrl+D 粘貼當前行或選中的內容
Ctrl+X 剪切當前行或選中的內容
Ctrl+Y 刪除行
Ctrl+Z 倒退
Ctrl+Shift+Z 向前
Alt+Enter 自動修正
Ctrl+Alt+L 格式化代碼
Ctrl+Alt+I 將選中的代碼進行自動縮進編排
Ctrl+Alt+O 優化導入的類和包
Alt+Insert 獲得一些Intention Action,能夠生成構造器、Getter、Setter、將 == 改成 equals() 等
Ctrl+Shift+V 選最近使用的剪貼板內容並插入
Ctrl+Alt+Shift+V 簡單粘貼
Ctrl+Shift+Insert 選最近使用的剪貼板內容並插入(同Ctrl+Shift+V)
Ctrl+Enter 在當前行的上面插入新行,並移動光標到新行(此功能光標在行首時有效)
Shift+Enter 在當前行的下面插入新行,並移動光標到新行
Ctrl+J 自動代碼
Ctrl+Alt+T 把選中的代碼放在 try{} 、if{} 、 else{} 裏
Shift+Alt+Insert 豎編輯模式
Ctrl+ / 註釋 //
Ctrl+Shift+ / 註釋 /*...*/
Ctrl+Shift+J 合併成一行
F2/Shift+F2 跳轉到下/上一個錯誤語句處
Ctrl+Shift+Back 跳轉到上次編輯的地方
Ctrl+Alt+Space 類名自動完成
Shift+Alt+Up/Down 內容向上/下移動
Ctrl+Shift+Up/Down 語句向上/下移動
Ctrl+Shift+U 大小寫切換
Tab 代碼標籤輸入完成後,按 Tab,生成代碼
Ctrl+Backspace 按單詞刪除
Ctrl+Shift+Enter 語句完成
Ctrl+Alt+J 用動態模板環繞

文件

按鍵 說明
Ctrl+F12 顯示當前文件的結構
Ctrl+H 顯示類繼承結構圖
Ctrl+Q 顯示註釋文檔
Ctrl+P 方法參數提示
Ctrl+U 打開當前類的父類或者實現的接口
Alt+Left/Right 切換代碼視圖
Ctrl+Alt+Left/Right 返回上次編輯的位置
Alt+Up/Down 在方法間快速移動定位
Ctrl+B 快速打開光標處的類或方法
Ctrl+W 選中代碼,連續按會有其餘效果
Ctrl+Shift+W 取消選擇光標所在詞
Ctrl+ - / + 摺疊/展開代碼
Ctrl+Shift+ - / + 摺疊/展開所有代碼
Ctrl+Shift+. 摺疊/展開當前花括號中的代碼
Ctrl+ ] / [ 跳轉到代碼塊結束/開始處
F2 或 Shift+F2 高亮錯誤或警告快速定位
Ctrl+Shift+C 複製路徑
Ctrl+Alt+Shift+C 複製引用,必須選擇類名
Alt+Up/Down 在方法間快速移動定位
Shift+F1 要打開編輯器光標字符處使用的類或者方法 Java 文檔的瀏覽器
Ctrl+G 定位行

查找

按鍵 說明
Ctrl+F 在當前窗口查找文本
Ctrl+Shift+F 在指定環境下查找文本
F3 向下查找關鍵字出現位置
Shift+F3 向上一個關鍵字出現位置
Ctrl+R 在當前窗口替換文本
Ctrl+Shift+R 在指定窗口替換文本
Ctrl+N 查找類
Ctrl+Shift+N 查找文件
Ctrl+Shift+Alt+N 查找項目中的方法或變量
Ctrl+B 查找變量的來源
Ctrl+Alt+B 快速打開光標處的類或方法
Ctrl+Shift+B 跳轉到類或方法實現處
Ctrl+E 最近打開的文件
Alt+F3 快速查找,效果和Ctrl+F相同
F4 跳轉至定義變量的位置
Alt+F7 查詢當前元素在工程中的引用
Ctrl+F7 查詢當前元素在當前文件中的引用,而後按 F3 能夠選擇
Ctrl+Alt+F7 選中查詢當前元素在工程中的引用
Ctrl+Shift+F7 高亮顯示匹配的字符,按 Esc 高亮消失
Ctrl+Alt+F7 查找某個方法的全部調用地方
Ctrl+Shift+Alt+N 查找類中的方法或變量
Ctrl+F12 查找類中的方法
Ctrl+Shift+O 彈出顯示查找內容
Ctrl+Alt+Up/Down 快速跳轉搜索結果
Ctrl+Shift+S 高級搜索、搜索結構

重構

按鍵 說明
F5 複製
F6 移動
Alt+Delete 安全刪除
Ctrl+U 轉到父類
Ctrl+O 重寫父類的方法
Ctrl+I 實現方法
Ctrl+Alt+N 內聯
Ctrl+Alt+Shift+T 彈出重構菜單
Shift+F6 重構-重命名
Ctrl+Alt+M 提取代碼組成方法
Ctrl+Alt+C 將變量更改成常量
Ctrl+Alt+V 定義變量引用當前對象或者方法的返回值
Ctrl+Alt+F 將局部變量更改成類的成員變量
Ctrl+Alt+P 將變量更改成方法的參數

調試

按鍵 說明
F8 跳到下一步
Shift+F8 跳出函數、跳到下一個斷點
Alt+Shift+F8 強制跳出函數
F7 進入代碼
Shift+F7 智能進入代碼
Alt+Shift+F7 強制進入代碼
Alt+F9 運行至光標處
Ctrl+Alt+F9 強制運行至光標處
Ctrl+F2 中止運行
Alt+F8 計算變量值

VCS

按鍵 說明
Alt+ ~ VCS 操做菜單
Ctrl+K 提交更改
Ctrl+T 更新項目
Ctrl+Alt+Shift+D 顯示變化

其它

按鍵 說明
(Ctrl+)F11 標記書籤
Shift+F11 顯示書籤
相關文章
相關標籤/搜索