記錄使用ubuntu16.04編譯aosp(android8.1與10)遇到的問題

一、前言:

本來打算用wsl來編譯AOSP,但是折騰了好幾天,以失敗告終。后來使用vmware反而成功了。

本篇同樣會把wsl遇到的問題與嘗試記錄下來。

環境:vmware ubuntu16.04。

為什么會使用ubuntu16.04呢,因為在公司有一個項目是android8.1的,推薦使用ubuntu14.04編譯,ubuntu12與16也可以。如果能通過wsl完成編譯,結合共用的文件系統,那就是王炸。由于現在的win10找不到ubuntu16以前的版本,而且ubuntu18不提供openjdk-8-jdk的apt安裝,要到ubuntu20才有,考慮到版本相差太多,有很多配置需要改,為了減少折騰,使用ubuntu16。使用文件appx安裝。

關鍵詞:

jack-server,

===============================分割線=====================================

======================使用vmware ubuntu16編譯成功===========================

===============================分割線=====================================

二、vmware ubuntu16方案

1、先安裝依賴:

sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip libssl-dev? openjdk-8-jdk -y

2、repo同步倉庫,python要用python3.6及以上,編譯時再切換回到python2.7。

  1. wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tar.xz

  2. tar -xvf Python-3.6.8.tar.xz

  3. ./configure --enable-optimizations --prefix=/usr/local/python3

  4. sudo make

  5. sudo make install

  6. ln -s /usr/local/python3/bin/python3 /usr/bin/python3

  7. ln -s?/usr/bin/python3?/usr/bin/python

3、jack-server啟動失敗

為什么jack-server啟動失敗,因為和jdk8版本有關:
https://segmentfault.com/a/1190000039970343

原因就是編譯時用的是open-jdk 8u292,默認禁用了TLSv1, TLSv1.1,
從/etc/java-8-openjdk/security/java.security中取消TLSv1, TLSv1.1 禁用,
?

jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1,RC4, DES, MD5withRSA, \ DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \ include jdk.disabled.namedCurves

(修改后,重啟,編譯通過,立桿見影)

如果出現subcommand未找到,就重新make編譯,多來幾次就能成功。

4、手動開啟與關閉jack-server(一般不需要用,這里記錄下)

./prebuilts/sdk/tools/jack-admin kill-server

./prebuilts/sdk/tools/jack-admin start-server

5、內存不足

由于最開始用8G內存,在最后編譯1512個文件時總是說jvm虛擬機內存不足,最后改為10G,編譯通過。

===============================分割線=====================================

=========================使用wsl ubuntu16編譯失敗============================

===============================分割線=====================================

三、wsl方案(不要用,目前沒解決)

使用wsl種會遇到莫名奇妙的問題,wsl既要升級為wsl2,又要在win10上開始大小寫敏感。

ubuntu16 appx安裝包:

打開power shell,并輸入:

Add-AppxPackage e://Ubuntu_1604.2019.523.0_x64.appx

安裝包百度網盤鏈接:

Ubuntu_1604.2019.523.0_x64.appx

安裝好后,從左下角win圖標的最近安裝中找到。

升級wsl2配置:

1、控制面板開啟功能

2、將以下內容復制到.bat文件中,并以管理員權限執行:
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
3、安裝缺少組件:

wsl_update_x64.msi

4、查看wsl版本并升級

wsl -l -v

wsl --set-version Ubuntu-16.04 2
?

開啟win10下文件夾的大小寫敏感

1、查看是否開啟

fsutil.exe file queryCaseSensitiveInfo e:/Project/w377/code_w403_main

2、設置為開啟


用管理員權限打開cmd,并運行:
fsutil file setCaseSensitiveInfo e:/Project/w377/code_w403_main enable

注意,如果文件夾內有內容,不對子文件夾產生影響。如果開啟后,對該文件夾操作,如創建、復制新文件夾,則會繼承大小寫敏感

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/88215.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/88215.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/88215.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

hiredis window之RFDMap

簡介 RFDMap用于將socket分配映射成連續的文件描述符&#xff0c;同時管理回收的文件描述符&#xff0c;因為ae構架中管理fd與對應事件處理器使用的是數據&#xff0c;fd作為數組下標 結構 #mermaid-svg-zQz2LTrKRi0LQTII {font-family:"trebuchet ms",verdana,arial…

RustFS一款Rust 驅動的 高性能 分布式存儲系統

演示地址&#xff1a;https://play.rustfs.com/browser 訪問賬號&#xff08;默認 rustfsadmin&#xff09;。 訪問密鑰&#xff08;默認 rustfsadmin&#xff09;。 下載mc https://dl.min.io/client/mc/release可以直接在 Linux 系統上安裝 mc&#xff08;&#xff0c;然后訪…

微軟 Bluetooth LE Explorer 實用工具的詳細使用分析

微軟 Bluetooth LE Explorer 實用工具的詳細使用分析 文章目錄 微軟 **Bluetooth LE Explorer** 實用工具的詳細使用分析1. **工具定位與核心功能**2. **關鍵特性與更新**3. **使用場景示例**4. **系統要求與依賴**5. **與專業工具對比**6. **局限性**7. **實踐建議**結論以下是…

centos 7.6安裝mysql8

在 CentOS 7.6 上安裝 MySQL 8.0.42 的步驟如下&#xff0c;基于搜索結果中的最新信息&#xff1a; 下載 MySQL 8.0.42 安裝包 https://dev.mysql.com/downloads/mysql/從 MySQL 官方網站下載 mysql-8.0.42-1.el7.x86_64.rpm-bundle.tar 文件&#xff1a; 官方下載地址&#xf…

CentOS7更換阿里云yum源

問題&#xff1a;剛剛在本地安裝了CentOS7虛擬機&#xff0c;使用yum安裝vim軟件時&#xff08;最小化安裝只有vi沒有vim&#xff09;出現下面的報錯原因 &#xff1a;CentOS7 已于2024-6-30停止維護&#xff0c;官方鏡像源已不可用&#xff0c;可以更換為阿里云鏡像源解決&…

UE5內置插件 AnimToTexture 簡單入門

開啟插件 首先安裝插件&#xff0c;然后重啟。打開顯示插件內容我們就可以找到插件自帶的轉換內容將骨骼網格體轉換為頂點動畫有兩種方式&#xff1a; 最簡單的記錄每個頂點的位置然后通過切換拾取顏色偏移實現記錄骨骼的變換&#xff0c;然后通過貼圖去修改骨骼位置計算 這兩種…

如何搭建Appium環境?

&#x1f345; 點擊文末小卡片&#xff0c;免費獲取軟件測試全套資料&#xff0c;資料在手&#xff0c;漲薪更快1、安裝Java Development Kit&#xff08;JDK&#xff09;前往Oracle官網下載JDK。在https://www.oracle.com/java/technologies/javase-jdk11-downloads.html 找到…

Android kotlin 協程的詳細使用指南

Android Kotlin 協程的詳細使用指南&#xff0c;結合核心概念、實戰場景和最佳實踐&#xff1a;一、協程基礎概念?協程本質?協程是輕量級線程&#xff0c;通過掛起/恢復機制實現并發&#xff0c;相比線程節省90%以上的內存開銷。其核心優勢在于結構化并發和掛起函數的協作式調…

什么是 AMR 格式?簡鹿音頻轉換器輕松批量轉換 AMR 為 MP3

AMR 格式是一種比較特殊但又常見的音頻格式&#xff0c;而MP3 格式則是大家耳熟能詳的通用音頻格式。那么&#xff0c;它們之間有什么區別&#xff1f;又該如何把 AMR 文件轉換成更常用的 MP3 呢&#xff1f;下面我們就來通俗地了解一下。一、什么是 AMR 格式&#xff1f;AMR&a…

C++11 std::move與std::move_backward深度解析

文章目錄移動語義的革命性意義std::move&#xff1a;正向范圍移動函數原型與核心功能關鍵特性與實現原理適用場景與代碼示例危險區域&#xff1a;重疊范圍的未定義行為std::move_backward&#xff1a;反向安全移動函數原型與核心功能關鍵特性與實現原理適用場景與代碼示例重疊范…

訂單初版—2.生單鏈路中的技術問題說明文檔

大綱1.生單鏈路的業務代碼2.生單鏈路中可能會出現數據不一致的問題3.Seata AT模式下的分布式事務的原理4.Seata AT模式下的分布式事務的讀寫隔離原理5.Seata AT模式下的死鎖問題以及超時機制6.Seata AT模式下的讀寫隔離機制的影響7.生單鏈路使用Seata AT模式的具體步驟8.生單鏈…

跨平臺ROS2視覺數據流:服務器運行IsaacSim+Foxglove本地可視化全攻略

任務目標 本教程將完整實現&#xff1a; 在服務器無頭模式下運行IsaacSim&#xff0c;并在本地顯示GUI界面 通過IsaacSim的ROS2 Bridge發布圖像數據 在本地Foxglove中實時可視化服務器端的ROS2數據流 實現步驟 1. 服務器無頭運行IsaacSim 本地GUI顯示 在服務器端執行&am…

【機器學習筆記Ⅰ】 8 多元梯度下降法

多元線性回歸的梯度下降法詳解 多元線性回歸&#xff08;Multiple Linear Regression&#xff09;是多個自變量&#xff08;特征&#xff09;與一個因變量&#xff08;目標&#xff09;之間的線性關系建模&#xff0c;梯度下降法用于優化模型參數&#xff08;權重和偏置&#x…

C++——從結構體到類與對象

C 類與對象詳解&#xff1a;從結構體到面向對象編程C 的面向對象編程&#xff08;OOP&#xff09;核心是 類&#xff08;Class&#xff09; 和 對象&#xff08;Object&#xff09;。類是用戶自定義的數據類型&#xff0c;用于封裝數據&#xff08;屬性&#xff09;和操作數據的…

專題:2025數據資產AI價值化:安全、戰略與應用報告|附400+份報告PDF、原數據表匯總下載

原文鏈接&#xff1a;https://tecdat.cn/?p42885 在數字經濟加速滲透的今天&#xff0c;數據作為核心生產要素的價值愈發凸顯。上市公司作為經濟高質量發展的微觀主體&#xff0c;其數據價值化進程不僅關乎企業自身競爭力&#xff0c;更折射出中國產業數字化轉型的深度與廣度。…

泛微虛擬視圖-數據虛擬化集成

文章目錄一、核心概念對比二、功能特性對比1. 數據操作能力2. 業務邏輯支持3. 性能表現三、技術實現差異1. 虛擬表單實現原理2. 視圖實現原理四、典型應用場景對比1. 虛擬表單適用場景2. 視圖適用場景五、配置與管理對比六、性能優化差異虛擬表單優化策略視圖優化策略七、企業級…

Ubuntu 下 MySql 使用

1.開發背景開發項目需要使用到數據庫&#xff0c;相對于輕量級的 SQLite&#xff0c;MySql 相對復雜一下&#xff0c;但是可以遠程訪問&#xff0c;還是比較舒服的。2.開發需求Ubuntu 安裝 MySql 服務端&#xff0c;Window 客戶端訪問 Ubuntu 數據庫。3.開發環境Ubuntu20.04 W…

QT開發技術 【qt應用限制只能啟動一個】

限制 Qt 程序只能啟動一個實例 在開發 Qt 應用程序時,可能需要限制程序只能運行一個實例,以避免重復啟動。以下是實現這一功能的幾種常用方法。 使用 QSharedMemory 限制單實例 通過共享內存判斷是否已有程序運行,如果存在則退出當前實例。 #include <QApplication&g…

Android 禁用beam傳輸

1、打開/packages/apps/Nfc/src/com/android/nfc/beam/BeamManager.java找到startBeamReceive、startBeamSend方法public boolean startBeamReceive(Context context,HandoverDataParser.BluetoothHandoverData handoverData) {synchronized (mLock) {if (mBeamInProgress) {re…

基于 ETL 工具實現人大金倉數據庫的數據遷移與整合實操指南

在企業數字化轉型的浪潮下&#xff0c;數據已經成為企業發展的核心資產。人大金倉數據庫憑借其穩定可靠的性能&#xff0c;在國內眾多企業中得到了廣泛應用。但隨著業務的不斷拓展和系統的更新迭代&#xff0c;數據遷移與整合的需求也日益凸顯。無論是將人大金倉數據庫的數據遷…