国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
淺談Android Studio3.0更新之路(遇坑必入)

序言:作為這個世界上走在最前沿的生物“猿”,怎么能對新事物一無所知呢,10月26日,隨著Android 8.1 Oreo的預(yù)覽版發(fā)布,Android Studio3.0正式版也發(fā)布了,作為Android開發(fā)的猿們我們應(yīng)該早就知道谷歌在今年5月的開發(fā)者大會上就說了要支持Kotlin語言,所以這次更新一個比較大的點就在于支持Kotlin語言了,下面就跟著LZ的腳步來探索一下AS3.0吧

相信很多人很早就體驗過谷歌爸爸放出來的體驗版本了,雖然說正式版已經(jīng)出了,但是很多人也不敢輕易貿(mào)然的更新,因為怕會掉進(jìn)坑里出不來(真是一只膽小的猿,鑒定完畢)

安裝

如果你從Android Studio內(nèi)部點擊更新的話,會跳轉(zhuǎn)到Android的官網(wǎng),沒有梯子的同學(xué)可以去這個網(wǎng)站下載更新:


Android Studio3.0正式版安裝過程中遇到的問題

1、Gradle Sync failed:

1
2
Gradle sync failed: Cause: com.android.build.gradle.api.BaseVariant.getOutputs()Ljava/util/List;
Consult IDE log for more details (Help | Show Log) (8s 123ms)

其實一開始不是這個錯,最開始是一個redownload的一個錯,后來LZ把2.3版本的給刪了,緩存給清除了,然后就變成這個錯了。既然有錯,那就解決唄,順手百度了一個,下面看看stackoverflow的解決方案



這個方法確實也適用于我,把ButterKnife降級之后就OK了。如果有其他更好的解決方法,歡迎私信我,有償給發(fā)紅包?!耙粋€問題的解決是為了更好的迎接下一個問題的出現(xiàn)”——魯迅

解決方案1:把項目中依賴的ButterKnife降級到8.4.0
解決方案2:把gradle plugin版本降低至2.3.3 重新編譯下就可以了(這里感謝吊兒郎當(dāng)小黑青年)

2、Unable to resolve dependency for:


第一眼看這個錯的時候我以為我setting.gradle中沒有依賴appCommon,看完之后明明確實依賴了,而且這是一個老項目,在AS2.3版本的時候很正常,然后我就知道這又是一個坑,無奈的又去上了一把Internet,然后試過網(wǎng)上說的在buildTypes中加入preview節(jié)點,然而并沒有什么卵用,查了半天還是沒有找到解決的方法,后來看著這段報錯信息的時候,我看到了signingConfigs,我想到gradle中好像有這么個節(jié)點,抱著試一試的態(tài)度我刪了那個節(jié)點,然后,臥槽臥槽臥槽,可以成功編譯了,這是不是有一種躺著過坑的趕腳。如果有其他更好的解決方法,歡迎私信我,有償給發(fā)紅包

解決方案:把項目中的signingConfigs節(jié)點刪除掉就好了,如果你擔(dān)心多渠道打包的事情,那么就用打包工具吧。

以下是群里的朋友遇到的一些問題:

3、app:transformDexArchiveWithExterLibsDexMergeForDebug


解決方案:將電腦中的.gradle目錄刪除掉(清除掉gradle緩存)重新build。

參考stackoverflow

解決方案詳解在這里

4、gradle打包,自定義apk名稱代碼報錯(Cannot set the value of read-only property 'outputFile' )

1
2
Error:(56, 0) Cannot set the value of read-only property 'outputFile' for ApkVariantOutputImpl_Decorated{apkData=Main{type=MAIN, fullName=debug, filters=[]}} of type com.android.build.gradle.internal.api.ApkVariantOutputImpl.
<a href="openFile:D:\eclipseCode\ipay-android\xinlebao\build.gradle" rel="external nofollow" >Open File</a>

解決方案:修改文件名代碼請這樣寫

1
2
3
4
5
android.applicationVariants.all { variant ->
        variant.outputs.all {
          outputFileName = "xinlebao_${defaultConfig.versionName}_${releaseTime()}.apk"
        }
      }

解決方案:在gradle.properties中關(guān)閉APPT2 編譯

5、AAPT2 編譯報錯 AAPT2 error

復(fù)制代碼 代碼如下:

Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details

解決方案:在gradle.properties中關(guān)閉APPT2 編譯

1
android.enableAapt2=false

注:如果是eclipse轉(zhuǎn)到as上的項目,可能沒有g(shù)radle.properties文件,請在項目根目錄中手動創(chuàng)建

6、apt插件問題(Error:Cannot choose between the following configurations of project :mylibrary:)

1
2
3
4
5
6
7
Error:Cannot choose between the following configurations of project :mylibrary:
- debugApiElements
- debugRuntimeElements
- releaseApiElements
- releaseRuntimeElements
All of them match the consumer attributes:

解決方案:如下

1
2
3
4
5
6
7
8
//1.在project的build.gradle中刪除
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
//2.在module的build.gradle中刪除
apply plugin: 'android-apt'
//3.將module的build.gradle文件中的dependency
apt 'com.jakewharton:butterknife-compiler:8.1.0'
//改為
annotationProcessor 'com.jakewharton:butterknife-compiler:8.1.0'

好了,以上就是最近更新3.0所遇到的一些問題。

Android Studio 3.0

1、.gradle文件

哇塞,問題解決之后就想著趕緊創(chuàng)建一個新的項目來看看有啥變化,首先一個變化比較大的是.gradle文件:


我們可以看到,谷歌爸爸把buildToolsVersion構(gòu)建工具的版本給“干掉了”,在以前的版本中,buildToolsVersion也會給項目的構(gòu)建帶來很多錯,現(xiàn)在谷歌爸爸把它給“干掉了”;還有就是下面的依賴換成了implementation,那么它和compile有什么區(qū)別呢?別著急,喝杯茶聽我細(xì)細(xì)道來:

compile和api

api完全等同于compile,二者沒有區(qū)別。我們大家都知道,隨著Android版本的更新,有很多過時的類和方法,compile亦是如此,我們可以把compile理解成api的過去式。

api和implementation

這兩個是AS3.0版本中新增的指令,下面用一張圖來說明一啊兩者的區(qū)別:


圖片參考

有想詳細(xì)了解的同學(xué),請參考官方的

2、支持Kotlin

還在初學(xué)Kotlin語言的同學(xué)有福了,AS3.0支持將Java代碼直接轉(zhuǎn)成Kotlin代碼,下面我們通過一段VCR來認(rèn)識一下這個功能:


在java文件中,選中你要轉(zhuǎn)換的代碼,然后在頂部選擇Code——>Convert Java File to Kotlin File進(jìn)行轉(zhuǎn)換就好了,轉(zhuǎn)換之后,這就是一個Kotlin文件了。

3、logcat欄

在AS上幾個版本中,在Logcat還是Android Monitor的時候,里面有很多東西,網(wǎng)絡(luò)啊,內(nèi)存啊,CPU啊什么的,AS3.0中,谷歌將其分開了,Logcat就單獨放出來了,之前那個看網(wǎng)絡(luò),內(nèi)存,CPU的單獨拎出來了,一個叫Android Profiler的東西:


是不是很帥,據(jù)說這玩意兒還自帶抓包功能哦(這是LZ最喜歡的一個功能)。只不過默認(rèn)是關(guān)閉的,我們要手動把它開起來。進(jìn)入Run——>Edit Configurations,然后把下面這個鉤上就好了:


需要注意的是,你項目中的API版本得是API26以下,而且你的手機(jī)版本得是Android5.0以上才能使用抓包功能。開啟之后,我們來抓個包試試吧:


在手機(jī)上發(fā)起一次網(wǎng)絡(luò)請求,NETWORK那一欄會發(fā)生明顯的變化,我們選擇那個區(qū)域進(jìn)行抓包,可以看到請求了一個接口MainServlet(如果該區(qū)域下會請求多個接口,則會一一列出來),然后我們點擊MainServlet,就會出現(xiàn)后臺傳過來的Json,Header之類的信息,怎么樣,是不是很屌,以后再也不用再麻煩測試幫你抓包了,也不用再裝什么其他軟件了。CPU和MEMORY也一樣,都具有記錄當(dāng)前頁面的數(shù)據(jù),你也可以根據(jù)它所記錄的數(shù)據(jù)進(jìn)行相應(yīng)的分析。這兩個就不展示了,有興趣的同學(xué)可以更新之后自己玩玩。最后需要注意的是開啟這個之后會降低應(yīng)用程序的構(gòu)建速度,因此只有在你要開始對應(yīng)用程序進(jìn)行概要分析時,再啟用它。

4、文件管理器

AS3.0中,文件管理器工具允許和你的AS連接的手機(jī)無縫交互,你可以在AS3.0上查看,復(fù)制并刪除設(shè)備上的文件。當(dāng)檢查由應(yīng)用程序創(chuàng)建的文件或是要講文件傳輸?shù)皆O(shè)備時,非常有用:

1
2
3
4
data/data/app_name/
包含存儲在內(nèi)部存儲上的應(yīng)用程序的數(shù)據(jù)文件
sdcard/
包含存儲在外部用戶存儲上的用戶文件 (圖片等)


5、支持Java8

同樣,喜歡寫lambda的同學(xué)也有福利了,這次AS的改版支持了Java8,可以直接將Java代碼格式成lambda格式的,但是你得給你的項目設(shè)置成支持Java8,右鍵你的module,選擇open Module Settings,進(jìn)去之后按照如下設(shè)置就可以了:


這樣你就能使用lambda表達(dá)式了,系統(tǒng)會自動提醒你哪里可以轉(zhuǎn)換成lambda表達(dá)式,是不是好智能:

原文鏈接:http://www.jianshu.com/p/15afb8234d19?utm_source=tuicool&utm_medium=referral

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
android studio 3.0 升級 項目遇到的問題及更改思路(問題小結(jié))
Android Studio 3.0新建工程問題
必會 | 手把手帶你體驗Android Studio 3.0的新功能
使用Cordova將您的前端JavaScript應(yīng)用打包成手機(jī)原生應(yīng)用
Android Studio導(dǎo)入第三方類庫的方法
Android Studio之gradle的配置與介紹
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服