0.基础环境类:笔记本型号:中华长城NF14C硬件平台:飞腾处理器(ArmV8指令集)系统:银河麒麟操作系统V10(SP1)关键词:芯创,麒麟系统,linux,Android,android,手机app,飞腾,arm1.环境搭建好了,但是我们日常的研发过程中还会涉及到手机APP的开发。对于LinuxX86下的版本,androidstudio有官方包,但是飞腾处理器的ARM架构没有直接在安卓官网提供的安装包,包括adb命令行工具。本文通过多方尝试,最终成功完成了AndroidAPP在国产独立系统和处理器上的开发环境,并将过程记录如下,希望能给有相同需求的读者一些启发和帮助。2.Androidstudio2.1前提条件需要先准备java,参考第十篇https://segmentfault.com/a/11...文章内容是安装配置java环境。2.2下载androidstudio不提供arm版本,但是考虑到androidstudio是基于idea研发,Java技术系统,所以从官网下载linux二进制版本下载完成后解压放入需要的位置,在设置过程中运行bin/studio.sh2.3设置2.3.1会提示设置代理,填写socks5代理信息。这里我使用我的V2ray提供的socks5服务。如果不自己做代理,也可以使用下面的代理来解决这个问题。1.东软信息学院mirrors.neusoft.edu.cn端口:802,北京化工大学ubuntu.buct.edu.cn/ubuntu.buct.cn端口:803,中国科学院开源协会mirrors.opencas。cn(mirrors.opencas.org/mirrors.opencas.ac.cn)端口:804,上海GDG镜像服务器sdk.gdgshanghai.com端口:80005,成电mirrors.dormforce.net端口:80其中,镜像源为强烈推荐成电!2.3.2设置studiojdk设置jdk,不要使用自带的jre,使用我们安装的arm版本指定的JDK位置(2021版本最低要求11)/usr/lib/jvm/java-11-openjdk-arm64用户openjdk会出现这个提示。为了可靠,我们可以通过以下方式更改运行时JDK。我们可以下载oraclejdk11二进制包,解压到指定文件夹菜单Help|FindAction,输入JavaRuntimesearch,IDE动作选择BootJavaRuntime。选择我们解压的Oracle11JDK,点击OK,重启androidstudio2.3.3,设置项目编译使用的jdk用户openjdk,就会出现这个提示。为了可靠性,我们可以下载oraclejdk11二进制包,解压到指定文件夹。然后在idea中配置。在startedidea中,点击file->settings打开界面,设置JDK版本如下:在AndroidStudio中打开你的项目,然后选择File>Settings...>Build,Execution,Deployment>BuildTools>Gradleadd刚刚解压保存的jdk2.4安装adb打开终端sudoapt-getinstalladb-y#安装工具,完成后提示位置为/usr/lib/android-sdk/platform-tools/adbadbversion#确认安装2.4.1USB连接调试sudoadbdevices手机打开开发者模式,插上USB线后,让机器连接调试。启用无线调试adbpairisnotavailable,需要在v10sp1上使用adbconnect注意:由于我的网络不是很好,所以我简单测试了一下,但是没有用。后面搞定,添加2.5的sdk设置,启动androidstudio,会出现SDK配置信息(或者通过工具菜单,找到SDK管理进入)。按照向导安装需要的版本,进入IDE后,也可以通过下面的界面进行配置。下载需要的依赖包(这里为了方便,个人习惯是把所有的SDK都下载下来,放到个人家目录Android下)。安装后的效果如下3.项目中的gradle设置以上所有设置完成后,通过向导新建一个测试项目。构建完成后,你会发现GradleSync总是同步不上,这主要是我们目前的情况决定的。这里需要在项目的setting中设置代理信息,通过代理拉取Gradle依赖包。设置gradle编译信息(这里不详细介绍,其他平台都一样),将项目中build.gradle和setting.gradle中的仓库地址全部替换成阿里云。buildscript{repositories{mavenLocal()maven{url'https://maven.aliyun.com/repository/google'}maven{url'https://maven.aliyun.com/repository/gradle-plugin'}maven{url'https://maven.aliyun.com/repository/public'}maven{url'https://maven.aliyun.com/repository/jcenter'}maven{url'https://maven.aliyun.com/repository/center'}}dependencies{classpath'com.android.tools.build:gradle:7.1.0'classpath"com.android.databinding:dataBinder:1.0-rc0"}}allprojects{repositories{mavenLocal()maven{url'https://maven.aliyun.com/repository/google'}maven{url'https://maven.aliyun.com/repository/gradle-plugin'}maven{url'https://maven.aliyun.com/repository/public'}maven{url'https://maven.aliyun.com/repository/jcenter'}maven{url'https://maven.aliyun.com/repository/center'}}}taskclean(type:删除){删除rootProject.buildDir}截至发稿,有两点需要跟进(可以通过cable调试)1.没有wifiadb2.模拟器没有安装成功。貌似是kvm的原因,在3号仓库中没有找到对应的kvmarm版本。adb可以识别,但是idea的联动基本坏掉了。程序只能通过idea编译,然后通过adb手动安装到手机上。这里可能需要官方或热心人员重新编译arm的linuxx86版本(有可能实现集成联动)。麒麟系统专栏:https://segmentfault.com/blog...文章发表于SegmentFault联系邮箱:1179611323@qq.com群:662512340发布日志:20220617首次发布
