天天看点

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。。。。