虽然m1来开发android是挺有优势的,苦于google目前还没有支持m1芯片的android studio版本(包括测试版) 截稿日期2021-5-14,所以我们当下可以选择idea2021,原生支持m1,而且编译速度运行效率更快(同时也会让你失去摸鱼时间),不过也不是直接安装idea就可以直接用,接下来就注意几个需要注意的点。
1.导入设置问题
千万别全部倒入setting.jar所有配置,如果你之前用的x86 pc的话,包括x86版本的mac之类的。最好收集自己的改动的选项单独导出,不然真的会有一些不可描述的bug。
2. android sdk的问题
这个比较容易解决,可以先安装mac intel版本的Android studio (后面还有用到),先不要用它打开任何project(除非你能忍受10年前老爷机做开发的速度),直接下载sdk和引导即可。用idea其实也可以下载android sdk ,但是可能有一些小问题。(下载sdk的时候不要下载模拟器 ,以及模拟器工具)
3. sdk配置问题
android sdk配置直接复制android studio sdk manager 里面的路径就可以,本文重要的是配置jdk路径
如果你遇到以下问题
以下问题出现在集成kapt插件的kotlin mvvm项目里,其他情况暂不包含,另外情况可联系我讨论
库文件缺失,class找不到
[ERROR java.lang.ClassNotFoundException: javax.xml.bind.JAXBException [duplicate]](https://stackoverflow.com/questions/65009201/error-java-lang-classnotfoundexception-javax-xml-bind-jaxbexception)
反射处理包编译错误
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:kaptDebugKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptExecution
> java.lang.reflect.InvocationTargetException (no error message)
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.1.1/userguide/command_line_interface.html#sec:command_line_warnings
BUILD FAILED in 7s
30 actionable tasks: 6 executed, 24 up-to-date
解决办法
1.首先在idea里引用android studio自带的jdk。 没错是android studio,因为idea自带的jar是aarch64版本,也就是arm64位支持的,他和x86的库有一些不一样,引用as的jdk是为了用x86的版本,也可以自己去甲骨文官网下载官方版本,建议是java11 本文不做介绍。
2.png
2.然后在以下这几个位置选择添加到的版本,在可以选择project sdk的地方一定要选,它可以随着项目引入sdk的变动而动态变化
1.png
3.png
3.gradle 设置,android studio里面一直把这个省略了,所以有一些人不知道,编译版本和gradle运行环境也需要保持一致
gradle.png
4.设置完成可以运行 运行之前别忘了clean 。不过缺点就是跑一个项目有多个java进程,一个intel 一个apple的
act.png
截稿,有疑问可以留言告诉我