博客 / 詳情

返回

麒麟操作系統 (kylinos) 從入門到精通 - 研發環境 - 第十五篇 Android安卓開發環境的搭建(不完美,但可用)

0.基礎環境

類別:筆記本
型號:中國長城 NF14C
硬件平台:飛騰處理器(ArmV8 指令集)
系統:銀河麒麟操作系統 V10(SP1)

關鍵詞:
信創,麒麟系統,linux,安卓,android,移動app,飛騰,arm

1.背景描述

前面,我們將java,go,web的環境都搭建好了,但我們日常研發過程中也會涉及到移動app的研發等。Linux X86下的版本,android studio是有官方的包的,而飛騰處理器的ARM架構,在安卓官網並沒有直接可用的安裝包,包括adb command line tools。
本文通過各類嘗試,最終成功完成在國產自主系統和處理器完成安卓APP的研發環境,並將過程記錄如下,希望能夠給到有相同需要的讀者一些啓示和幫助。

2.android studio

2.1 前提條件

需要先準備好java,請參見第十篇https://segmentfault.com/a/1190000041968411文章內容這裝配置好java環境。

2.2 下載

android studio 沒有提供arm版本,但考慮到android studio基於idea研發,Java技術系統,所以在官網中下載linux二進制版本
圖片.png
下載完成後,解壓放到需要的位置,運行bin/studio.sh
設置過程中

2.3設置

2.3.1會提示設置代理

將socks5代理信息填入
圖片.png
這裏我用socks5服務,如果你自己沒有做代理,也可以用下面的代理解決此問題。
1、東軟信息學院
mirrors.neusoft.edu.cn     端口:80
2、北京化工大學
ubuntu.buct.edu.cn/ubuntu.buct.cn  端口:80
3、中國科學院開源協會
mirrors.opencas.cn (mirrors.opencas.org/mirrors.opencas.ac.cn)    端口:80
4、上海GDG鏡像服務器
sdk.gdgshanghai.com   端口:8000 
5、電子科技大學
mirrors.dormforce.net  端口:80
其中,強烈推薦電子科技大學的鏡像源!

2.3.2 設置studiojdk

設置jdk,不要用自帶的jre,用我們安裝高的arm版的
圖片.png
指定JDK的位置(2021的版本最低要求是11)
/usr/lib/jvm/java-11-openjdk-arm64
圖片.png
用户openjdk會出現這個提示,為了可靠,我們可以通過下面的方式更改運行時JDK,我們可以下載oracle jdk11二進制包,解壓到指定文件夾
圖片.png
菜單Help | Find Action,輸入Java Runtime 搜索,選擇Boot Java Runtime for the IDE action.
圖片.png
圖片.png
選擇我們解壓的Oracle 11 JDK,點確認並重啓android studio

2.3.3 設置項目編譯使用的jdk

用户openjdk會出現這個提示,為了可靠,我們可以下載oracle jdk11二進制包,解壓到指定文件夾,然後在idea裏面進行配置
圖片.png
在啓動的idea裏面,點file->settings打開界面如下
設置 JDK 版本:在 Android Studio 中打開您的項目,然後依次選擇 File > Settings... > Build, Execution, Deployment > Build Tools > Gradle
圖片.png
圖片.png
添加剛解壓的jdk
圖片.png
保存

2.4 安裝adb

打開終端

sudo apt-get install adb -y #安裝工具,完畢後提示位置在/usr/lib/android-sdk/platform-tools/adb
adb version #確認安裝情況

圖片.png

2.4.1 USB連接調試

sudo adb devices

手機上要打開開發者模式,插上USB線後,要允許本機連接調試
圖片.png

2.4.2 adb wifi無線調試

無線調試前提條件: 同一wifi,andriod 11+,SDK>30+(adb versions),同時手機要打開無線調試
adb pair不可用,需要用adb connect 在v10 sp1上。
注:由於本人網絡不是太好,所以簡單測試一下,沒有搞成功。後面搞通了,再補充

2.5 sdk設置

啓動android studio,會出現 SDK配置信息(或通過tool工具菜單,找到SDK管理進入)
圖片.png
根據嚮導安裝需要的版本,進入IDE後,也可以通過下面的界面配置。
圖片.png
下載需要的依賴包(這裏為了方便,我個人習慣是把所有的SDK都下了,放在個人主目錄Android下面)
安裝完畢後的效果如下
圖片.png
圖片.png

3.項目中的gradle設置

在上面所有的設置完成後,通過嚮導新建一個測試項目。建完之後,會發現Gradle Sync老是同步不成功的情況, 這主要還是我們現狀決定。這裏需要在項目的setting裏面設定代理信息,通過代理拉取Gradle依賴包。
設置了gradle編譯信息(這裏不做詳細的介紹了,這些和其他平台一樣的)
圖片.png
將工程中的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'}
    }
}
task clean(type: Delete) {
    delete rootProject.buildDir
}

至發稿時,待後續打通的有以下兩點(通過有線已可以調試)
1.沒有wifi adb
2.沒有裝成功模擬器,似乎原因在kvm,倉庫中也沒有找到對應的kvm arm版本。
3.adb可以識別的,但idea的連動基本上是斷的。只能通過idea將程序編譯好,再通過adb手動安裝至手機。這裏可能需要官方或者有熱情的人員將linux x86的版本重新針對arm編譯一次(可能才能達到一體化連動)

麒麟系統專欄:
https://segmentfault.com/blog/kylinos
文章發表在SegmentFault
聯繫郵箱:1179611323@qq.com
羣:662512340
發行日志:
20220617 首發
20231023 修復排版錯誤

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.