一、前言:

本来打算用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;数据迁移与整合的需求也日益凸显。无论是将人大金仓数据库的数据迁…