天天看點

M1 Mac 開發Android遇到的坑點與我的解決方法前言開發工具完事

M1 Mac 開發Android遇到的坑點與我的解決方法

  • 前言
  • 開發工具
    • Q:Android studio能用嗎?
    • Q:IDEA好用嗎?
    • Q:IDEA編譯不成功,怎麼辦?
    • Q:IDEA運作項目到手機不成功,怎麼辦?
    • Q:XML檔案無法預覽,怎麼辦?
    • Q:kotlin coroutines協程庫無法使用?
    • Q:遇到androidx:room相關的報錯
  • 完事

前言

我的第一篇“爆款文章”還是用我的第一台白蘋果電腦作為主角寫的,Macbook pro 2015 13寸丐版更換512G固态流程記錄,期間因為電池膨脹的問題,換了2018款i5+32g記憶體的Mac mini,用起來還是爽歪歪的,大記憶體加持,多開工程無壓力,但是說缺點也是有的,首當其沖的就是藍牙問題,經常斷鍊,如果Wi-Fi連的是5G頻段就會好些。詳細的問題和解決方法,可以檢視b站賽洛斯潘的視訊 新Mac Mini 2018款三個月使用深度評測(上),新Mac Mini 2018款三個月使用深度評測(下)。

去年蘋果釋出M1電腦的時候,描述的藍圖太美麗了,忍不住買了一台air丐版,拿到手測試了一下工程的編譯時間,就把Mac mini給賣了(現在回想起來,覺得自己就是個傻比。。。)

循例說下M1的優缺點:

1、溫度低,安靜;

2、續航猛,放假一兩天根本不需要充電器,就算需要充電,随便找個Android 快充就能頂上,畢竟原裝充電器也就30w;

3、硬碟讀寫快,APP打開速度快;

缺點:

1、軟體适配雖然整體來說還是比較快的,但是有些雖然說适配出來了,但是BUG還是不少的,還有對我來說最重要的Android studio,始終沒有做arm版的,蛋疼,最近想參加Google的jetpack挑戰賽,要用compose UI庫,完全搞不了,心累了。

開發工具

Q:Android studio能用嗎?

A:能用,但不好用,很卡,大工程頻繁崩潰,輸入内容都卡,滾動目錄樹也卡,除了編譯快,其他一無是處;

解決方法:使用arm版的idea進行Android開發;下載下傳位址:https://www.jetbrains.com/zh-cn/idea/,找到下載下傳位置,選擇apple Silicon版本下載下傳。

M1 Mac 開發Android遇到的坑點與我的解決方法前言開發工具完事

Q:IDEA好用嗎?

A:能用,也不好用,解決了卡頓的問題,敲代碼特别舒服,但記憶體占用特别高;此外,還有不少BUG,下面會提到;

Q:IDEA編譯不成功,怎麼辦?

A:使用arm版的JDK;下載下傳位址:https://www.azul.com/downloads/zulu-community/?os=macos&architecture=arm-64-bit&package=jdk

M1 Mac 開發Android遇到的坑點與我的解決方法前言開發工具完事

然後在項目中調用,打開Project Structure

M1 Mac 開發Android遇到的坑點與我的解決方法前言開發工具完事

找到你的SDK位址;

M1 Mac 開發Android遇到的坑點與我的解決方法前言開發工具完事

Q:IDEA運作項目到手機不成功,怎麼辦?

A:在訪達中,應用程式/IntelliJ IDEA CE.app/顯示包内容

M1 Mac 開發Android遇到的坑點與我的解決方法前言開發工具完事

找到lib檔案夾

M1 Mac 開發Android遇到的坑點與我的解決方法前言開發工具完事

前往https://github.com/xerial/sqlite-jdbc/releases下載下傳最新的sqlite-jdbc檔案,從3.32.3.3版本開始支援M1晶片,下載下傳下來jar包後,放進剛剛的lib檔案夾中,并删除舊的sqlite-jdbc檔案;回到工程中,重新clean後編譯一次就可以了;

Q:XML檔案無法預覽,怎麼辦?

A:這個問題,比較麻煩,目前我發現是在使用androidx的時候出現,以前的v4,v7不會有問題,應該是IDEA的支援比較落後;

先打開你的項目根目錄的build.gradle檔案,修改com.android.tools.build:gradle版本為4.0.0;

buildscript {
    ext.kotlin_version = "1.4.21"
    dependencies {
        classpath "com.android.tools.build:gradle:4.0.0"
}
           

再打開APP的build.gradle檔案,修改junit:junit的版本為4.12

dependencies {
    testImplementation 'junit:junit:4.12'
}
           

然後,clean項目,再打開XML預覽,等一會,或者頻繁重新整理就會出現預覽界面了,記得預覽版本要用30以下的。

M1 Mac 開發Android遇到的坑點與我的解決方法前言開發工具完事

編譯或運作後,預覽又回消失,這個時候重新clean項目就好了。非常麻煩,還沒找到更好的方法;

Q:kotlin coroutines協程庫無法使用?

A:這個問題,出現在大于1.3.2版本的協程中,将協程版本改成1.3.2即可;

// Coroutines
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.2"
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.2'
           

Q:遇到androidx:room相關的報錯

A:先确認你的sqlite-jdbc版本大于等于3.32.3.3,然後打開Project Structure,

M1 Mac 開發Android遇到的坑點與我的解決方法前言開發工具完事

選擇Project settings -> Project -> Project compiler output:

将它的值删除,然後确定,重新build項目

M1 Mac 開發Android遇到的坑點與我的解決方法前言開發工具完事

完事

暫時隻想起這些問題,如果您有遇到的問題,可以評論區留言,我如果有遇到并且解決了的話,會更新上來。

最後的最後無比懷念的32G記憶體的Mac mini。。。。