Android studio 使用過(guò)程中的問(wèn)題方案和小貼士(一)

一 编整、問(wèn)題方案

  • 報(bào)錯(cuò)問(wèn)題

Error:Execution failed for task ':app:mergeDebugResources'.
> Error: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException:
Error:java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException:


A:這里可能是因?yàn)辄c(diǎn)9圖片的問(wèn)題,找到對(duì)應(yīng)圖片并打開(kāi)离福,勾上showbadpatch可以修改點(diǎn)9圖片問(wèn)題


  • 報(bào)錯(cuò)問(wèn)題

Gradle 'AndroidUsbCamera-master' project refresh failed
Error:Configuration with name 'default' not found.

如圖:

Paste_Image.png

A:導(dǎo)致上面的問(wèn)題可能是由于以下導(dǎo)致:
    a年鸳、settings.gradle包含了不正確的目錄:include ":目錄名"
    b、app目錄下build.gradle文件目錄不正確:compile project(':目錄名')
    c、引入的第三方庫(kù)下是否包含build.gradle文件

  • 報(bào)錯(cuò)問(wèn)題

Installation failed with message Failed to finalize session : INSTALL_FAILED_INVALID_APK: Split lib_slice_9_apk was defined multiple times. It is possible that this issue is resolved by uninstalling an existing version of the apk if it is present, and the

A: 大意就是要說(shuō)lib_dependencies_apk這個(gè)東西定義了多次鳍寂,要我們點(diǎn)擊ok卸載重裝,但是點(diǎn)擊OK情龄,還是運(yùn)行不了:
a迄汛、清理項(xiàng)目之前編譯好的.class文件,重新編譯文件

點(diǎn)擊build->clean project ,然后再點(diǎn)擊 rebuild project。

b骤视、刪除ide自動(dòng)生成的一些文件鞍爱,刪除.gradle , .idea , build 三個(gè)文件夾

  • 報(bào)錯(cuò)問(wèn)題

文件本地查看沒(méi)問(wèn)題,Android Studio上查看的時(shí)候里面的數(shù)據(jù)全錯(cuò)亂

A:緩存問(wèn)題专酗。

a:清除緩存重啟studio - 》 File —> Invalidate Cahes/ Restart
b:刪除 項(xiàng)目路徑下的 .gradle .idea 文件, 以及 app 目錄下的build文件睹逃,然后重新編譯
c:清除build緩存 Clean 后 Rebuild一下
d:找到C 盤(pán)。用戶目錄。.AndroidStudio版本號(hào) .AndroidStudio3.3\system\cache 文件夾沉填,關(guān)閉studio后將其刪除

  • 報(bào)錯(cuò)問(wèn)題


    微信截圖_20200413193710.png

    A:引用androidX沖突問(wèn)題
    在gradle.properties文件中加:

android.useAndroidX=true
android.enableJetifier=true

  • 報(bào)錯(cuò)問(wèn)題


    微信截圖_20200820201254.png

A:代理配置問(wèn)題

打開(kāi) ~/.gradle/gradle.properties (如果是windows的話應(yīng)該在
C:\Users\用戶\.gradle\gradle.properties)疗隶,把https的兩行注釋掉即可,重啟AS翼闹。

image.png
  • 報(bào)錯(cuò)問(wèn)題

Program type already present: org.apache.commons.codec.Decoder

A:引用重復(fù)jar包問(wèn)題

1斑鼻、navigate ->class ->查詢

20190416173555396.png

2、 雙擊尋找重復(fù)jar包位置 然后通過(guò)以下方式之一處理:
(1)刪除重復(fù)jar包問(wèn)題猎荠;

20190416172957123.png

(2)用exclude解決,大概意思就是去掉 你不需要的類 如:

20190416173444703.png

二坚弱、小貼士

<一> 導(dǎo)入別人的項(xiàng)目如何更改Gradle版本跟自己的相匹配

我們?cè)趯?dǎo)入別人的項(xiàng)目時(shí),經(jīng)常會(huì)卡在這個(gè)界面关摇,如下圖所示:


Paste_Image.png

  這是由于在首次導(dǎo)入項(xiàng)目的時(shí)候AS默認(rèn)是使用 gradle-wrapper-properties 中默認(rèn)的設(shè)置史汗,它會(huì)從網(wǎng)上下載所需要的對(duì)應(yīng)版本的 gradle。這時(shí)我們只要把默認(rèn)的加載修改為我們本地有的就ok了拒垃。即修改gradle-wrapper-properties 文件,同時(shí)修改build.gradle對(duì)應(yīng)的dependencies中classpath路徑停撞,如圖所示:

Paste_Image.png
Paste_Image.png

另一種方法就是下載對(duì)應(yīng)的Gradle版本,并修改AS配置的Gradle路徑使之對(duì)應(yīng)悼瓮。

<二> 如何在AS中導(dǎo)入android的framework.jar包

從Eclipse 轉(zhuǎn)到Android Studio戈毒,必經(jīng) 的一個(gè)過(guò)程就是導(dǎo)入第三方j(luò)ar包,導(dǎo)入普通的jar包方式比較簡(jiǎn)單横堡,網(wǎng)上其他的例子也比較多埋市,但是關(guān)于導(dǎo)入framework.jar包內(nèi)容就比較少。 有時(shí)候開(kāi)發(fā)需要一些依賴framework中隱藏方法的時(shí)候命贴,我們可以導(dǎo)入framework.jar道宅, 編譯的時(shí)候依賴framework, 打包的時(shí)候不打進(jìn)去胸蛛,這在eclipse中實(shí)現(xiàn)方式比較簡(jiǎn)單污茵,這里記錄下Android studio中導(dǎo)入framework.jar包的方式,其他系統(tǒng)jar包的導(dǎo)入方式同理葬项。
1泞当,首先將framework.jar拷貝到項(xiàng)目的/libs文件夾中,然后右鍵framework.jar文件民珍,然后Add as Library ,再選當(dāng)前的module襟士。

Paste_Image.png

  操作之后,在你的Module的build.gradle中會(huì)增加了

Paste_Image.png

這個(gè)時(shí)候我們已經(jīng)添加了framework.jar包嚷量,但是我們還有改變framework.jar的作用域?qū)傩月穑益I你的module,Open Module Setting蝶溶,然后將framework.jar的Scope改為 Provided 嗜历。如圖所示:

Paste_Image.png

改了framework.jar的作用域后,Module的build.gradle也會(huì)有改變,之前的compile files(‘libs/framework.jar’)秸脱,會(huì)變成provided files(‘libs/framework.jar’)落包。

2部蛇,改了framework.jar 的scope后摊唇,再在修改project的build.gradle文件,改成如下所示:

Paste_Image.png

這是在原有的基礎(chǔ)上加了gradle.projectsEvaluted{}里面的內(nèi)容涯鲁,這里要說(shuō)明下”Xbootclasspath/p”后接的路徑巷查,是相對(duì)于當(dāng)前Project的根目錄,例子中的”:app\libs\framework.jar”其中的app為Module名抹腿,libs就是放framework.jar的文件夾了岛请。此時(shí),Make Project就OK了(報(bào)紅也沒(méi)有關(guān)系)警绩。
  如果想調(diào)用jar包里面的方法可能不會(huì)自動(dòng)提示崇败,這個(gè)時(shí)候修改一下module對(duì)應(yīng)的*.iml文件,把framework.jar包的引用放到第一個(gè)肩祥,這時(shí)再調(diào)用方法就可以自動(dòng)提示了后室。

<三> 如何在AS中引用so文件

AS中引用so庫(kù)其實(shí)是比較簡(jiǎn)單的,只需要在Module相應(yīng)的目錄下建立對(duì)應(yīng)的文件夾混狠,命名為jniLibs岸霹,再把相應(yīng)的so文件放進(jìn)去就行了,如圖所示:

QQ截圖20170325190549.png

  至于為什么這么放置将饺,其實(shí)是有一定依據(jù)的贡避,原理如下:
  其實(shí)在AndroidStudio中,我們之所以可以把jar包放在對(duì)應(yīng)模塊的libs目錄下予弧,比如app模塊(也就是通常意義下的主工程了)的libs目錄中刮吧,而不需要再去配置build.gradle文件,就可以正常使用這些jar包掖蛤,是因?yàn)樵贏ndroidStudio中新建項(xiàng)目時(shí)皇筛,系統(tǒng)已經(jīng)在默認(rèn)為我們配置好了gradle,看相應(yīng)模塊下的build.gradle文件的話坠七,一般會(huì)有這么一句:

dependencies { compile fileTree(dir: 'libs', include: ['.jar'])*}

其實(shí)水醋,這句就是告訴gradle,我們的第三方j(luò)ar包在libs目錄下彪置,如果沒(méi)有這一行配置拄踪,那么理論上我們把jar包直接放在libs目錄下其實(shí)是不行的,只不過(guò)新建項(xiàng)目時(shí)系統(tǒng)已經(jīng)為我們配好了拳魁。這里libs是個(gè)相對(duì)路徑惶桐,因?yàn)槲覀兊腷uild.gradle文件本身就在app模塊下,那么這里的libs當(dāng)然也就是指app模塊下的libs,其實(shí)build.gradle文件中所有的路徑都可以寫(xiě)相對(duì)路徑姚糊,我們下邊講的so包的路徑也是只寫(xiě)相對(duì)路徑就可以了贿衍。
  OK,言歸正傳救恨,現(xiàn)在知道jar包的引入原理了贸辈,那么so包為什么要放在這樣的一個(gè)目錄下?能不能放在任意一個(gè)自定義的目錄呢肠槽?當(dāng)然是可以的擎淤。
其實(shí)在build.gradle中,默認(rèn)會(huì)有一些這樣的配置:

   sourceSets { 
                main {
                         jniLibs.srcDirs = [**'src/main/jniLibs'**] 
                         aidl.srcDirs = [**'src/main/aidl'**]
                }
   }

這些配置在你新建工程之后秸仙,在build.gradle文件中默認(rèn)是沒(méi)有的嘴拢,因?yàn)槟J(rèn)就是這樣的,當(dāng)然也就不寫(xiě)也可以寂纪,當(dāng)然你寫(xiě)出來(lái)也沒(méi)錯(cuò)席吴。意思是so包就去src/main/jniLibs目錄下找,aidl文件默認(rèn)就到src/main/aidl目錄下找捞蛋。當(dāng)然還有許多其它的配置孝冒,你還可以配置你的AndroidManifest.xml文件在哪里,還可以配置你的Java代碼在哪里襟交,如果你不配的話都會(huì)有一個(gè)默認(rèn)值迈倍,這里只是以jniLibs和aidl為例而已。
  看到這里你應(yīng)該就明白了捣域,為什么把so包直接放到src目錄下的main目錄下的jinLibs目錄就可以了啼染,而不需要配置gradle文件了,因?yàn)橄到y(tǒng)默認(rèn)就會(huì)到這個(gè)目錄下找焕梅,如果你想把so包放在一個(gè)你喜歡的地方迹鹅,比如直接放在app目錄下的myJniLibs目錄下,那你只需要把上面內(nèi)容改成:

   sourceSets { 
                main {
                       jniLibs.srcDirs = ['myJniLibs']
                       aidl.srcDirs = ['src/main/aidl']
                }
   }

這樣就可以了贞言。明白了原理斜棚,似乎一切都明了了,同理该窗,如果不想把a(bǔ)idl文件放在默認(rèn)目錄下弟蚀,也可以改aidl.srcDirs的值,如果不想把java代碼放在默認(rèn)目錄酗失,就可以改java.srcDirs的值义钉,如果不想把資源文件放在默認(rèn)目錄下,就可以改res.srcDirs的值规肴。捶闸。夜畴。還有幾個(gè),同學(xué)們慢慢去研究吧删壮,如果你想把目錄結(jié)構(gòu)改的跟eclipse下的工程一樣贪绘,就改這里的值就可以了。

mark

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末央碟,一起剝皮案震驚了整個(gè)濱河市税灌,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌硬耍,老刑警劉巖垄琐,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件边酒,死亡現(xiàn)場(chǎng)離奇詭異经柴,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)墩朦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)坯认,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人氓涣,你說(shuō)我怎么就攤上這事牛哺。” “怎么了劳吠?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵引润,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我痒玩,道長(zhǎng)淳附,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任蠢古,我火速辦了婚禮奴曙,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘草讶。我一直安慰自己洽糟,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布堕战。 她就那樣靜靜地躺著坤溃,像睡著了一般。 火紅的嫁衣襯著肌膚如雪嘱丢。 梳的紋絲不亂的頭發(fā)上薪介,一...
    開(kāi)封第一講書(shū)人閱讀 51,631評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音屿讽,去河邊找鬼昭灵。 笑死吠裆,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的烂完。 我是一名探鬼主播试疙,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼抠蚣!你這毒婦竟也來(lái)了祝旷?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤嘶窄,失蹤者是張志新(化名)和其女友劉穎怀跛,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體柄冲,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡吻谋,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了现横。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片漓拾。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖戒祠,靈堂內(nèi)的尸體忽然破棺而出骇两,到底是詐尸還是另有隱情,我是刑警寧澤姜盈,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布低千,位于F島的核電站,受9級(jí)特大地震影響馏颂,放射性物質(zhì)發(fā)生泄漏示血。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一饱亮、第九天 我趴在偏房一處隱蔽的房頂上張望矾芙。 院中可真熱鬧,春花似錦近上、人聲如沸剔宪。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)葱绒。三九已至,卻和暖如春斗锭,著一層夾襖步出監(jiān)牢的瞬間地淀,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工岖是, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留帮毁,地道東北人实苞。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像烈疚,于是被迫代替她去往敵國(guó)和親黔牵。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 原文地址:Android Studio 簡(jiǎn)單介紹和使用問(wèn)題小結(jié) Google在2013的I/O開(kāi)發(fā)者大會(huì)上引入的該...
    如若成楓閱讀 2,200評(píng)論 0 3
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理爷肝,服務(wù)發(fā)現(xiàn)猾浦,斷路器,智...
    卡卡羅2017閱讀 134,659評(píng)論 18 139
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,163評(píng)論 25 707
  • Android Studio正式版早已經(jīng)發(fā)布了灯抛,默認(rèn)使用Gradle構(gòu)建金赦,GitHub上80%的Android項(xiàng)目...
    流哲羽閱讀 2,876評(píng)論 1 13
  • NSString NSString copy 沒(méi)有生成新的字符串 NSString mutableCopy 生成了...
    cod_mm閱讀 259評(píng)論 0 0