最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

android studio 新手入門教程(二)項目的導(dǎo)入教程圖解

 更新時間:2017年12月20日 10:16:18   作者:揚州慢  
這篇文章主要介紹了android studio 新手入門教程(二)項目的導(dǎo)入教程圖解,需要的朋友可以參考下

上篇文章介紹了AS的一些常用設(shè)置方法,當工具調(diào)教妥當后,自然就要開始項目的開發(fā)啦。從零開始新建一個項目,這個簡單,不必多說,這篇博客會分享我從舊平臺eclipse導(dǎo)入項目到AS的過程,以及遇到的一些問題并如何解決。開篇先粗略的提一些需要注意的地方。 ##結(jié)構(gòu)目錄 和eclipse不同,在android 視圖下的項目目錄分為java,res和manifests。

 

  • manifests目錄存放清單文件,不必多說。
  • java目錄會默認生成三個文件夾,其中test為在本機執(zhí)行單元測試代碼的目錄, androidTest為在Android設(shè)備上執(zhí)行單元測試代碼的目錄,第一個不帶后綴的目錄就是存放我們代碼的目錄。
  • res目錄存放資源文件,包括圖片資源文件、layout布局等,這個和eclispe類似,但有個新東西:mipmap目錄,進入會看到里面存放著app的啟動圖標。

查看官方文檔,看到這么一句:

To avoid these display issues, apps should use the mipmap/ resource folders for launcher icons. The Android system preserves these resources regardless of density stripping, and ensures that launcher apps can pick icons with the best resolution for display. 出處:http://developer.android.com/tools/projects/index.html#mipmap

大意是為了避免設(shè)備顯示問題,app應(yīng)該使用mipmap目錄存放應(yīng)用圖標。所以app的啟動圖標應(yīng)該放置在mipmap文件夾中,至于其他的用處還不是很清楚,之前也遇到過導(dǎo)入eclipse項目時.9圖片報錯,網(wǎng)絡(luò)上有人說.9圖應(yīng)該放在mipmap里,但是我把.9圖片放到mipmap目錄后仍然不能解決我的問題,最后因為項目里.9圖不多,使用AS的工具重繪后解決了問題。 ##庫依賴 eclipse里添加 存在本地的第三方庫 的方式:

將第三方庫導(dǎo)入workspace- 右鍵項目-android-add Library

AS里添加庫的方式:

導(dǎo)入第三方庫工程到project,第三方庫作為一個新的module存在于project中- File-project structure,選擇項目,添加庫

通過對比可以發(fā)現(xiàn),AS里的project就相當于eclipse里的workspace的概念,module相當于eclipse里獨立的項目。也可以發(fā)現(xiàn),其實二者在依賴存在于本地的第三方庫的操作上是類似的,添加jar包的操作也是一樣,只要把jar包復(fù)制到lib目錄下(切換到Project Files視圖下會看到Lib目錄),然后同樣操作project structure,選擇file dependency后選擇依賴lib庫下剛添加進的jar包即可。

但是如果是添加線上開源庫的話,二者的差距就體現(xiàn)出來了,以往在github上看到優(yōu)秀的開源庫,想要應(yīng)用到自己的項目中,就得先把項目下載下來,然后再添加依賴,雖然操作不繁瑣,但是我漸漸發(fā)現(xiàn)github上越來越多的開發(fā)者都轉(zhuǎn)向AS,不再單獨提供eclipse上使用的版本。這個不贅述,因為想轉(zhuǎn)平臺,能看到這篇博客的朋友,肯定或多或少都有些同感??傊痪湓挘?google大法好 。退eclipse保平安,趕緊轉(zhuǎn)AS吧。 ##初識gradle 在android視圖gradle目錄下,可以看到有多個build.gradle,其中 后綴module + 項目名 的就是平時添加第三方庫時需要配置的gradle文件了,以Github上CircleImageview這個開源庫為示例,其github主頁上有這么一段代碼:

我們唯一要做的,就是將這段代碼拷貝到項目的gradle-dependencies語句塊下

然后點擊工具欄圖標

之后gradle就會自動從遠程倉庫下載該庫所需要的jar包等依賴文件,一鍵搞定,簡直不要太爽!

然而gradle爽是爽,但是后續(xù)也會提到在導(dǎo)入項目時因為gradle版本不同而出現(xiàn)一些麻煩的地方。 ##導(dǎo)入Eclipse項目 上面說了如何依賴庫,但有些朋友需要開發(fā)舊項目而不是新建項目,光導(dǎo)入eclipse項目時報的錯都夠喝一壺了,更別提如何正確的依賴庫,所以接下來就示范一下如何正確的導(dǎo)入eclipse的項目。不同項目會出現(xiàn)的問題不盡相同,這里權(quán)且算是拋磚引玉,給大家提供一些解決問題的思路。 首先在eclipse里,右鍵-export,導(dǎo)出項目的gradle目錄

選中要導(dǎo)出的項目,一路next,最后一步建議force overriding一欄打勾(我理解為是已存在gradle文件,選中的話將強制重寫),導(dǎo)出成功后會出現(xiàn)提示:

請選擇以下目錄: ...build.gradle,不要導(dǎo)入Eclipse項目本身!

別人我不知道,反正我是照著這個提示在AS里導(dǎo)入目錄下的build.gradle文件,然后結(jié)果就把整個工作目錄里的項目都給導(dǎo)入了(╯‵□′)╯︵┻━┻。什么鬼!一定是我打開的方式不對!后來在AS里嘗試

導(dǎo)入時選擇項目本身,而不是build.gradle文件,這才導(dǎo)入成功。但是不要高興的太早,這才只是麻煩的開始。 ###問題1 找不到類

解決辦法:找不到相關(guān)的類,定位到代碼,發(fā)現(xiàn)是recyclerview的一些類報錯,于是猜測是因為依賴的問題,在項目依賴庫里添加recyclerview庫,問題解決!

###問題2 庫重復(fù)依賴

錯誤提示中可以看到是因為有多個同名的庫報錯,因為我從eclipse導(dǎo)出項目時就自帶了supportV7的recyclerview的庫,而我剛剛有添加了新的recyclerview庫,所以二者重復(fù)依賴了,解決辦法很簡單,去除之前的recyclerview依賴即可,問題解決! ###問題3 清單文件合并出錯 Manifest merger failed

整個報錯信息是這樣的:

java.lang.RuntimeException: Manifest merger failed : uses-sdk:minSdkVersion 1 cannot be smaller than version 7 declared in library [com.android.support:appcompat-v7:23.2.1] D:\studioCode\NewOneBuy\lib_CircleImageView\build\intermediates\exploded-aar\com.android.support\appcompat-v7\23.2.1\AndroidManifest.xmlSuggestion: use tools:overrideLibrary="android.support.v7.appcompat" to force usage

可以看到是是因為circleimageview的minSdkVersion低于appcompatV7定義的version而導(dǎo)致的清單文件合并出錯,提示中也告訴了我們解決方法,只要在circleimageview的清單文件中配置好即可。

###問題4 程序包不存在

這個問題也簡單,定位到相關(guān)的代碼,使用快捷鍵:ctrl+alt+O, 去除無效的導(dǎo)包即可。 ###問題5 重復(fù)文件(jar包) Duplicate files

提示信息中也標明了是在File1,F(xiàn)ile2中兩個不同的庫含有相同的文件(jar包)導(dǎo)出出錯,在prodect視圖下查看lib目錄,可以看到確實是有重復(fù)文件

解決問題也很簡單:刪除jar包,去除依賴即可

###問題6 finished with non-zero exit value 2

What went wrong:Execution failed for task ':newOneBuy:transformClassesWithDexForDebug'.> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files (x86)\Java\jdk1.8.0_60\bin\java.exe'' finished with non-zero exit value 2

這個沒看懂錯誤原因,但是最后通過在項目的module的build.gradle里添加配置multiDexEnabled true后解決了問題,但是不知其所以然。

defaultConfig {
 applicationId "com.example.newonebuy" 
 minSdkVersion 11 
 targetSdkVersion 21 
 multiDexEnabled true
}

問題7 SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable

出現(xiàn)該問題的原因是在環(huán)境變量未正常配置,右鍵我的電腦 -> 屬性 -> 高級設(shè)置 -> 環(huán)境變量

  • 添加 ANDROID_HOME,值為 sdk 的安裝目錄
  • 在 Path 變量的值后面添加 %ANDROID_HOME%/tools;%ANDROID_HOME%/platform-tools;
  • 重啟 Android Studio

問題8 提示 BuildToolsVersion 或 Gradle Version 錯誤

這是因為本地的 BuildTools 版本和 Gradle 版本與你正在導(dǎo)入的項目的版本不一致導(dǎo)致的問題。關(guān)于如何解決這個問題在下一篇 eclipse再見,android studio 新手入門教程(三)Github(.ignore忽略規(guī)則)的使用 里有講到,請移步觀看。

在導(dǎo)入之前,看著一行又一行紅彤彤的報錯我的內(nèi)心是崩潰的,但其實只要耐著性子根據(jù)提示逐個排查,遇到不懂的就谷歌,畢竟這都是些很初級的問題,總是會解決的。最近生活里的煩心事不少,在碼代碼時漸漸能感受到一種很奇妙的感情。在代碼的世界里,1是1,0是0,只要你愿意付出心血,錯誤總會消失,bug總會修復(fù)。不像現(xiàn)實世界,很多事情人心難測,即便人心可測本心也難移,很多時候會感覺到深深的無力和無可奈何。

不多扯了,這篇先分享這些吧。下篇博客會分享一下在AS上使用github進行版本控制的一些事,還有在導(dǎo)入module時因為gradle版本而導(dǎo)致的一些問題。

另外最近看到kotlin這門新興的語言似乎挺有意思,等到下個項目嘗試一下看kotlin能否高效、有效的解決一些問題,如果后面有什么收獲,也有寫出來分享的。

總結(jié)

以上所述是小編給大家介紹的android studio 新手入門教程(二)項目的導(dǎo)入教程圖解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Android可篩選的彈窗控件CustomFiltControl

    Android可篩選的彈窗控件CustomFiltControl

    這篇文章主要為大家詳細介紹了Android可篩選的彈窗控件CustomFiltControl,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • android Launcher AppWidget添加步驟介紹

    android Launcher AppWidget添加步驟介紹

    大家好,本篇文章主要講的是android Launcher AppWidget添加步驟介紹,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • android讀寫sd卡操作寫入數(shù)據(jù)讀取數(shù)據(jù)示例

    android讀寫sd卡操作寫入數(shù)據(jù)讀取數(shù)據(jù)示例

    這篇文章主要介紹了android讀寫sd卡操作,示例實現(xiàn)了寫入數(shù)據(jù)讀取數(shù)據(jù)的功能,大家參考使用吧
    2014-01-01
  • Android解決View的滑動沖突的方法

    Android解決View的滑動沖突的方法

    這篇文章主要介紹了Android解決View的滑動沖突的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • 深入解析Android中的事件傳遞

    深入解析Android中的事件傳遞

    這篇文章主要介紹了關(guān)于Android中的事件傳遞,文中介紹的非常詳細,相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-03-03
  • Gradle的安裝和環(huán)境變量的配置詳解

    Gradle的安裝和環(huán)境變量的配置詳解

    這篇文章主要介紹了Gradle的安裝和環(huán)境變量的配置詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • Android獲取高清app圖標代碼分享

    Android獲取高清app圖標代碼分享

    這篇文章主要為大家分享了Android獲取高清app圖標代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • android TextView加下劃線的方法

    android TextView加下劃線的方法

    這篇文章主要介紹了android TextView加下劃線的方法,大家可以在項目代碼里試試
    2013-11-11
  • Android?優(yōu)雅的讀寫Excel

    Android?優(yōu)雅的讀寫Excel

    這篇文章主要為大家介紹了Android優(yōu)雅的讀寫Excel實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • Android開發(fā)小技巧篇之集合

    Android開發(fā)小技巧篇之集合

    這篇文章主要介紹了Android開發(fā)-小技巧篇(集合) 的相關(guān)資料,需要的朋友可以參考下
    2016-01-01

最新評論

丰原市| 广昌县| 格尔木市| 桓仁| 姜堰市| 曲松县| 泽普县| 喀什市| 石嘴山市| 沅江市| 东方市| 哈密市| 庄河市| 南昌市| 普安县| 万盛区| 阿城市| 新野县| 涿州市| 轮台县| 蒲城县| 泰安市| 确山县| 扎鲁特旗| 高邑县| 齐齐哈尔市| 读书| 厦门市| 拉孜县| 大化| 绥滨县| 郯城县| 和静县| 曲靖市| 芜湖县| 新野县| 琼海市| 咸丰县| 微山县| 镇平县| 灯塔市|