Android Studio打開外部工程可能會遇到的問題

????由于目標工程的開發(fā)環(huán)境和本機的運行環(huán)境差異,打開/導入的過程可能會遇到諸多問題沽瞭,常見的問題如下举反。


Android Studio導入項目會一直卡在Building gradle project info界面

????出現(xiàn)這個問題是因為項目所使用的gradle與Android Studio自帶的gradle版本不一致脱货,導致需要下載該項目需要的gradle版本,直至下載完成蚤认。由于國內網絡因素,該下載過程會非常緩慢糕伐,可通過如下方式解決砰琢。

????首先查詢待導入工程的開發(fā)gradle版本號,該version號可以在工程下的gradle\wrapper下的gradle-wrapper.properties文件內查詢良瞧。至Gradle官網地址(http://services.gradle.org/distributions/)直接下載對應或者更新的gradle版本陪汽,如為單機使用,下載bin.zip版本即可褥蚯。

????刪除工程下的gradle文件夾挚冤,打開工程時會提示“沒有gradle設置文件,是否需要下載”赞庶,此時選擇cancel训挡,進入手動設置gradle模式。將gradle的路徑選擇到AS安裝目錄下歧强,如C:\Program Files\Android\Android Studio\gradle澜薄,選擇相應的gradle版本。之后工程會進入正常的打開階段摊册,打開過程會自動執(zhí)行工程sync過程肤京。sync執(zhí)行完成后即打開工程成功,否則可能引發(fā)如下問題茅特。

Gradle sync failed: This Gradle plugin requires Studio 3.0 minimum

????出現(xiàn)該問題是因為目標工程開發(fā)時的AS版本較當前運行版本更新忘分,此時需要將該運行環(huán)境的依賴版本改到當前運行版本下棋枕,即當前的AS版本。

在AS中打開工程文件饭庞,其中的build.gradle中包含

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "classpath ‘com.android.tools.build:gradle:3.0.0’"

其中的version號表示的是當前gradle運行環(huán)境的版本號戒悠,即AS的版本號,這里是3.0.0表示該工程建立時舟山,gradle是在AS3.0.0版本下運行的绸狐。如果AS的版本號停留在2.3.3,則將之改為2.3.3再sync工程即可累盗。sync執(zhí)行完成后即打開工程成功寒矿,否則可能引發(fā)如下問題。

Gradle sync failed: Could not find method implementation() for arguments [directory ‘libs’] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

????這個問題同樣是由于目標工程的開發(fā)環(huán)境和當前運行環(huán)境不同造成的若债。

? ? 由于在較新的開發(fā)環(huán)境中可以直接implementation()的部分符相,在當前的運行環(huán)境下仍有待編譯,此時轉到implementation()所在的文件蠢琳,即build.gradle(Module:app)啊终,注意這里的build.gradle和上文的同名文件并不相同,上文修改當前運行AS版本的為build.gradle(Project: 工程名)傲须。從名稱可以看出蓝牲,build.gradle(Project: 工程名)是針對整個工程的,而build.gradle(Module:app)是針對當前模塊的泰讽,當工程下包含多個模塊時(有時有很多模塊作為引用庫存在)例衍,就會有多個build.gradle(Module:app),Module后跟的是模塊名已卸,單模塊的工程默認名稱為app佛玄,后續(xù)添加的模塊需要在名稱上加以區(qū)分。

????將build.gradle(Module:app)下所有的implementation()替換為compile累澡,注意是所有的梦抢,因為還可能出現(xiàn)諸如androidTestImplementation、testImplementation等implementation()的鏡像愧哟,其中的Implementation關鍵字都需要用compile替換惑申。替換完成后再次執(zhí)行sync。

????我在這里sync依舊失敗翅雏,原因是導入的工程目標運行環(huán)境(targetSdkVersion)是26圈驼,即Android8.0,而AS2.3.3開發(fā)的項目僅支持SdkVersion最大至25的工程(Android7.0)望几。如要在當前環(huán)境下繼續(xù)執(zhí)行該工程绩脆,除了要將targetSdkVersion改到26以下,還需要將后面的dependencies下的內容同步修改。我從一個之前做的工程里拷貝了這部分dependencies的內容靴迫。再次sync后成功惕味,編譯通過。但是這種方法僅限于導入工程中沒有涉及到新版本的功能玉锌,如果已經使用了新開發(fā)環(huán)境的方法或者涉及到新功能名挥,那么還是將運行環(huán)境(AS版本)升級到最新版保險。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末主守,一起剝皮案震驚了整個濱河市禀倔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌参淫,老刑警劉巖救湖,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異涎才,居然都是意外死亡鞋既,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進店門耍铜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來邑闺,“玉大人,你說我怎么就攤上這事棕兼《妇耍” “怎么了?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵程储,是天一觀的道長。 經常有香客問我臂寝,道長章鲤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任咆贬,我火速辦了婚禮败徊,結果婚禮上,老公的妹妹穿的比我還像新娘掏缎。我一直安慰自己皱蹦,他們只是感情好,可當我...
    茶點故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布眷蜈。 她就那樣靜靜地躺著沪哺,像睡著了一般。 火紅的嫁衣襯著肌膚如雪酌儒。 梳的紋絲不亂的頭發(fā)上辜妓,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天,我揣著相機與錄音,去河邊找鬼籍滴。 笑死酪夷,一個胖子當著我的面吹牛,可吹牛的內容都是我干的孽惰。 我是一名探鬼主播晚岭,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼勋功!你這毒婦竟也來了坦报?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤酝润,失蹤者是張志新(化名)和其女友劉穎燎竖,沒想到半個月后,有當地人在樹林里發(fā)現(xiàn)了一具尸體要销,經...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡构回,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了疏咐。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片纤掸。...
    茶點故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖浑塞,靈堂內的尸體忽然破棺而出借跪,到底是詐尸還是另有隱情,我是刑警寧澤酌壕,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布掏愁,位于F島的核電站,受9級特大地震影響卵牍,放射性物質發(fā)生泄漏果港。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一糊昙、第九天 我趴在偏房一處隱蔽的房頂上張望辛掠。 院中可真熱鬧,春花似錦释牺、人聲如沸萝衩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽猩谊。三九已至,卻和暖如春祭刚,著一層夾襖步出監(jiān)牢的瞬間预柒,已是汗流浹背队塘。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留宜鸯,地道東北人憔古。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像淋袖,于是被迫代替她去往敵國和親鸿市。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,851評論 2 361

推薦閱讀更多精彩內容