Android Studio 全面教程
android studio使用指南[官方完整] ??226頁完整版:http://download.csdn.net/detail/gfg156196/9526435
?android studio全面設(shè)置教程: ? http://download.csdn.net/detail/gfg156196/9085241
歡迎大家評論交流,如有問題,可以留言!!!
常見設(shè)置?
導入第三方主題?
自動提示的設(shè)置?
修改成Eclipse的快捷鍵風格?
拷入java代碼的沖突提醒?
使用Genymotion?
導入Eclipse工程?
程序從運行狀態(tài),直接切換到Debug狀態(tài)?
創(chuàng)建和刪除library?
導入一些library和jar?
同步gradle文件?
Gradle概念:構(gòu)建工具、以Groovy為基礎(chǔ)、主要面向Java?
在工程下的build.gradle配置倉庫?
創(chuàng)建簽名文件并打包?
使用Gradle命令進行打包?
gradlew的原理?
aar包的使用?
AS中導入so庫?
65535問題?
多渠道打包?
導?入Github中的源碼?
其他問題?
??Win10下AS自帶命令行無法使用問題
需要分清兩個概念:Project和Module?
Project:相當于Eclipse中的工作區(qū)的概念,里面可以存在多個Module?
Module:相當于Eclipse中的project,Module可以是library或者application?
每個Module下都有一個build.gradle文件,Project下也有一個build.gradle文件
常見設(shè)置
a)在Setting中,修改主題、修改工程目錄的字體大小。?
b)在Setting中,顯示行號:?
c)設(shè)置注釋模板,File–>Other Setting –> Default Setting?
?
d)在Default Setting中,設(shè)置xml格式,全部勾選,否則換行會有點問題?
e)在Default Setting中,修改編碼方式?
導入第三方主題
網(wǎng)站:http://www.ideacolorthemes.org?
下載的文件是個jar包,選擇File–>Import Settings 選項,然后選擇對應的jar包即可
自動提示的設(shè)置
a)如下圖:?
b)系統(tǒng)提示時,修改大小寫敏感,First letter是首字母大小寫敏感,將鼠標處修改成None即不區(qū)分大小寫?
修改成Eclipse的快捷鍵風格
由于修改成Eclipse風格后,有少部分快捷鍵不能使用需要手動修改,下面是一些快捷鍵的修改。
a)修改Eclipse中的alt + / 的效果;在搜索框中輸入:class name completion,然后選擇“add keyboard shortcut”,修改快捷鍵為alt + / 即可。?
b)Eclipse快捷鍵風格中,如何通過Ctrl + 左鍵單擊 查看方法或類的源碼,如下圖,此處是鼠標相關(guān)的快捷鍵,注意!!!!!?
在Click Pad 處 按住Ctrl + 鼠標左鍵單擊即可,可以在preview看到設(shè)置好的快捷鍵,然后選擇OK?
拷入java代碼的沖突提醒
做如下選擇,這樣當從其他地方拷入代碼時,可以自動導入引用,如果有沖突,會進行詢問(Ask)
使用Genymotion
a)首先需要安裝Genymotion,然后需要AS中添加插件,操作:File–>Setting–>搜索plugins,在界面中點擊下方的 “Browse repostories”,在彈出的窗口搜索“Genymotion”,然后安裝即可。?
b)Genymotion的插件安裝成功后,會出現(xiàn)如下圖標,點擊打開即可,首次運行需配置?
安裝模擬器的路徑?
導入Eclipse工程
Android Studio,點擊左上角File–>New–>Import Project,選擇對應Eclipse工程即可。?
系統(tǒng)會根據(jù)Eclipse工程生成一個AS的工程的副本,在生成過程中會刪除一些不識別的 文件,同時會生成對應的gradle文件。
程序從運行狀態(tài),直接切換到Debug狀態(tài)
點擊下圖所示的按鈕即可。?
創(chuàng)建和刪除library
New–> New Module ,選擇Android Library如下所示:?
刪除Module,首先應該在Project Structure中刪除,然后再右鍵刪除;否則不能刪除。?
?
導入library和jar
在Module下的build.gradle文件中的顯示,如下圖?
同步gradle文件
每當gradle文件有所修改時,需要點擊下圖中的Sync Now 進行同步。
Gradle編譯失敗,會出現(xiàn)如下所示部分,可以點擊Try Again重新編譯?
Gradle概念和介紹
一種構(gòu)建工具、以Groovy為基礎(chǔ)、主要面向Java。?
build.gradle對應的圖形界面就是Project Structure,導入jar包在這兩個地方都可以進行,效果相同;通過這種方式導入的jar包不在libs下面,在External Libraries下?
gradle文件簡介:?
在工程下的build.gradle墻內(nèi)倉庫
默認是jcenter()?
??jcenter對應的網(wǎng)址:https://bintray.com/bintray/jcenter?
可以修改映射倉庫的地址,改為墻內(nèi)的網(wǎng)址。修改工程目錄下的gradle文件,如下圖:?
?
buildscript中的倉庫是在gradle編譯中需要下載的gradle依賴文件的倉庫。?
allprojects中的倉庫是工程中的jar包下載的倉庫
創(chuàng)建簽名文件并打包
操作Build –> Generate Signed APK,然后在下圖中選擇“Create new”,然后按步驟操作即可?
選擇Next,出現(xiàn)如下窗口,然后選擇Build Type和渠道即可。?
使用Gradle命令進行打包
右擊工程,選擇“Open Module Setting”,配置如下信息:?
注意:該窗口的所有標簽對應相應Module下的gradle文件,所有操作會在對應gradle文件中生成相應代碼;使用AS創(chuàng)建的簽名文件的擴展名是jks,不再是keystore了?
配置打包類型及其簽名信息,如下圖:?
上述操作完成后,會在build.gradle中生成對應的配置代碼
然后在AS自帶的命令行中輸入?
gradlew clean?(先clean)?
gradlew assembleRelease進行打包?
??ubuntu上不能直接輸入gradlew命令,需要輸入 ./gradlew?
點擊運行按鈕(綠色箭頭)運行的是:assembleDebug!!!
生成的apk在build/output文件夾下,有兩個文件:app-release.apk、app-release-unaligned.apk(該文件是沒有經(jīng)過zipalign優(yōu)化的apk)
gradlew的原理
a)gradlew會調(diào)用gradle wrapper 找到系統(tǒng)中對應版本的gradle,如果沒有該版本則進 行下載,然后執(zhí)行assembleRelease,可以屏蔽gradle不同版本信息;如果需要直接使 用gradle需要配置環(huán)境變量?
b)工程目錄下gradle/wrapper下有g(shù)radle-wrapper.jar和gradle-wrapper.properties兩個 文件,后者是一個配置文件,該文件配置了所依賴的gradle的相關(guān)信息,該文件中的 distributionUrl是對應的gradle版本信息,當程序運行是會檢查該版本是否存在,如果 不存在則需要到對應網(wǎng)站下載該版本gradle!!!配置文件如下所示:?
?
注意:在File–>Setting–>Gradle中配置的信息只是針對使用AS才生效,如果使用命令 行(包括AS自帶的命令行)則沒有效果
aar包的使用
在gradle中類型為library的Module會自動在該Module下的build\outputs\aar目錄下 生成aar包?
?
然后在AS中選擇File–>New–>New Module,做如下選擇,依賴的添加同library?
AS中導入so庫
1)、AS默認導入so文件放入哪里??
放在src/main目錄下面,在 該目錄下創(chuàng)建目錄jniLibs,這個jniLibs目錄就是AS默認的so文件存放的位置,不需要在gradle文件中做其他配置。?
2)、jar包默認放在module根目錄下的libs目錄下?
3)、 如果jniLibs不放在默認目錄下,放在與libs同級目錄下,此時需要在module下的build.gradle文件的android{}中添加如下代碼:?
此時設(shè)置jniLibs的目錄為”jniLibs“;當前目錄是module的根目錄!!!?
默認配置:jniLibs.srcDirs (‘src/main/jniLibs’)
65535問題
a)方法一:屏蔽檢測,在類型為application的Module下的gradle文件中android{}添加?
?
b)方法二:進行分包?
·添加依賴jar:compile ‘com.android.support:multidex:1.0.0’?
·在每個module中添加:?
defaultConfig { multiDexEnabled true }?
·在自定義的Application中添加:
@Override?
protected void attachBaseContext(Context base) {?
??super.attachBaseContext(base);?
??MultiDex.install(this);
沒有自定義Application如,那么你在AndroidManifest.xml中使用MultiDexApplication即可
多渠道打包
a)清單文件中將android:value設(shè)置成變量?
b)在gradle文件中進行變量定義?
c)然后直接使用命令打包即可,會在build/output目錄下生成不同apk。
導入Github中的源碼
1)導入之前需要查看gradle-wrapper.properties文件?
查看依賴版本,可以更改成本地已經(jīng)存在的版本,避免下載
2)導入工程(Import Project),此時仍然顯示下載,使用任務管理器強制停止AS,到dists/gradle下面找到該工程創(chuàng)建的文件夾,將其中的內(nèi)容刪除,將其他文件夾中的內(nèi)容拷入之后,再重新導入,這樣就不再下載
3)導入后,可能會出現(xiàn)如下問題:?
?
由于已經(jīng)修改過gradle的版本,所以不會是版本問題,則應該是插件問題,?
到工程根目錄下的build.gradle文件中,修改dependencies中的“com.android.tools.gradle”的版本號,可參考自己工程的版本號!!改完之后,點擊右上角的”Try Again“
4)接下來可能會遇到的問題:build tools的問題?
?
修改所有Module下的build.gradle文件中的buildToolsVersion版本,改成自 己電腦中有的版本,可參考自己創(chuàng)建的工程;最好和compileSdkVersion一致!
5)接下來可能會遇到的問題:?
?
解決方案:舊版本使用的倉庫是:mavenCentral(),需要改成最新的jcenter()?
apply plgin是標志module的類型的,不應該出現(xiàn)在工程根目錄下 的build.gradle中,而且其格式應該使用最新的?
apply from不知道什么作用,可以刪除!!?
刪除其他不太對勁的東西
6)編譯通過;Reload工程,運行程序,可能出現(xiàn)問題:?
?
原因:多個module使用了相同的包名
7)接下來的問題:在該類中找不到布局文件?
?
原因:由于res有對應的布局,所以應該是R文件的問題,上個問題中修改包名, 可能多修改了部分內(nèi)容,此時應該檢查R文件的引用?
解決方案:修改R文件的引用
8)參考鏈接:?
http://blog.csdn.net/onlysnail/article/details/45115093
9)總結(jié):出現(xiàn)的問題大部分是gradle相關(guān)的,主要集中在build.gradle中,需要對 gradle有較為全面的理解
其他問題
AS自帶命令行空指針問題:?
描述:報空指針?
原因:由于win10更新了命令行,導致AS無法調(diào)用,IDEA有同樣問題?
解決方案:?
打開系統(tǒng)命令行,右擊標題欄選擇“屬性”–>“選項”–>“使用舊版控制臺”,然后重啟系統(tǒng)即可
參考鏈接
Gradle基礎(chǔ):http://stormzhang.com/devtools/2014/12/18/android-studio-tutorial4/
總結(jié)
以上是生活随笔為你收集整理的Android Studio 全面教程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: xListView的使用步骤
- 下一篇: Android还在用Toast?你Out