前些天,打开了几年前的一个Android Studio app项目,使用安卓虚拟机仿真app崩溃,怀疑是不是中间升级过Android Studio导致异常的,马上脑子一热卸载了,结果上次踩过的坑,一个没少又踩一次,谨以此文记录谨防再次踩坑(其实是中间改过Module的gradle,把安卓模拟器需要的so文件过滤了),安装之前先卸载,卸载干净很麻烦,可参考网上其他人的记录。
1.最新的版本,已经不支持WIN7了,所以我选择安装2021年3月12日发布的4.1.3版本 ,这个4.1.3是根据Android Gradle Plugin(AGP) 版本命名的吧,最新的版本已经改成各种动物了😄 ,另外注意最新的API34需要的AGP版本很高
Android Studio Giraffe | 2022.3.1 | Android Developers
1.选择硬件对应的SDK Platforms ,默认会安装最新版本的,我取消了。
2.选择对应的SDK Tools
3.把CMAKE和NDK勾选上,会默认安装对应的版本,如果出错,可以手动选择降低版本,Google USB Driver 也可以勾上。
4.点小恐龙同步一下项目
5.新建安卓模拟器,注意虽然SDK我们用的API30,实际上模拟器支持要低的多,这里我们选择API24,成功就又可以愉快的玩耍了。
6.现在的studio版本自带java,不需要单独安装了。我遇到java -version正常,javac不正常的。自己下载了个adb,adb devices之后,再测就好了
7. adb devicess 找不到设备,Android Studio就找不到真机仿真。后来我发现重启的时候能找到设备,并且启动之后PC能显示主板的文件夹,说明USB硬件一切正常。把开发者模式下的默认USB配置,由“文件传输”改为“不进行数据传输”。这个时候识别到了adb设备如下图所示,不再是MTP设备。还解决不了,就重新安装一下adb驱动
8.把so文件搞出来
9.上机测试,真机或模拟器
10.把旧项目的SDK和NDK版本(如指定)改一下, 以节约一下硬盘空间,这并不是个好习惯,我这次踩坑的起因就是这个习惯 😓
11.调试完成后,把我需要的arm64-v8a复制出来,重新做个正规app调用它,注意两个studio项目的名称。
12.对于安卓系统的非标准外设,要想从Android Studio操作需要libsu开源库,可以修改源码.rc文件赋予0666权限,永久赋权,轻松访问底层。可以上网的设备考虑到安全性,可以考虑系统添加脚本,搞成oneshot模式的系统服务,需要时打开,不需要时关闭。
系统脚本参考:
Android 8.1RK平台增加自定义脚本,修改文件权限 - 代码先锋网
Android 新增可执行脚本方式总结_#!/vendor/bin/sh-CSDN博客
Android 系统添加脚本_seclabel u:r:shell:s0-CSDN博客