ubuntu/centos环境下玩android系统(一): 从编译android开始!

python可以制作安卓软件吗,python可以做安卓app吗 使用kivy开发框架,相比于传统的Android SDK开发来比:一般的Android应用,直接调用Android系统的原生控件,例如:文字渲染(颜色、距离、大小等)交由系统处理。而Kivy,它的各种控件都不是系统原生提供的,而是用OpenGL自己画出来的,所以很作组件需要另行他法。如果说你要开发中大型的Android应用,kivy很多轮子需要单独来造,时间成本和效率成本是很低的但是说如果只是开发一个简单的小应用,还可以可以学习一下。 阅读详情

    ubuntu环境编译android的文章满天飞,但是在centos下的介绍却是少之又少,本文就以centos为例(ubutn 的介绍可以去google,已经实在太多了!),当然ubuntu下会有些不同,但是思路和解决问题的方法是大同小异的!

 

1.安装centos5.x  - centos6均可(我选择的是5.6版本),还是老规矩,安装的时候自定义安装,能勾的都选上,别告诉我你的硬盘不够,如果这样我只能晕了! 

 

2.确保上网OK!否则后面的就够谈了。

 

3.安装git 
yum install zlib-devel 
yum install openssl-devel 
yum install perl 
yum install cpio 
yum install expat-devel 
yum install gettext-devel 
yum install autoconf 
wget http://www.codemonkey.org.uk/projects/git-snapshots/git/git-latest.tar.gz 
tar xzvf git-latest.tar.gz 
cd git-{date} 
autoconf 
./configure --with-curl=/usr/local 
make & make install

 

4.编译器安装,下载一个jdk,本人选择jdk-6u29-linux-i586.bin。

然后,

$ chmod a+x ./jdk-6u29-linux-i586.bin

 

$ ./jdk-6u29-linux-i586.bin

 

两条命令之后,打开/etc/profile编辑,在最后加上,

export JAVA_HOME=/opt/jdk/jdk1.6.0_29
export ANDROID_JAVA_HOME=$JAVA_HOME
export JRE_HOME=/opt/jdk/jdk1.6.0_29/jre
export PATH=/opt/jdk/jdk1.6.0_29/bin:$PATH

然后

$ source /ect/profile

那么编译器已经OK了!

 

5.下载android了,如果git已经顺利安装,这里就很简单了!

$ mkdir ~/bin 
$ PATH=~/bin:$PATH 
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo

$ chmod a+x ~/bin/repo

当然,repo安装在别的目录也是一样的。没有影响,看个人爱好!repo一定要在10K以上,否则你的repo是用不了的。

$ mkdir /opt/android

本人比较喜欢在opt下干事情!

 

$ cd  /opt/android

 

repo init -u https://android.googlesource.com/platform/manifest -b android-2.3.3_r1

 

$ repo sync

这里才真正开始下载,大约10个小时,也就下载完了!

 

6.编译

$ ./build/setupenv.sh

$ lunch 后选择1,当然选别的也行,看你想干什么而定!

$ make

编译的结果就是三个文件,system.img,ramdisk.img,userdata.img

如果是32位系统,估计会遇到点小阻力,可修改如下!

build/core/main.mk,把这个判断部分注释掉:

  #ifneq (64,$(findstring 64,$(build_arch)))

  #$(warning ************************************************************)

  #$(warning You are attempting to build on a 32-bit system.)

  #$(warning Only 64-bit build environments are supported beyond froyo/2.2.)

  #$(warning ************************************************************)

  #$(error stop)

  #endif

 

 修改这几个文件,该回到32位编译环境即可:

  external/clearsilver/cgi/Android.mk

  external/clearsilver/java-jni/Android.mk

  external/clearsilver/util/Android.mk

  external/clearsilver/cs/Android.mk

  把编译选项-m64改成-m32即可

 

prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc: /lib/i686/nosegneg/libc.so.6: version `GLIBC_2.11' not found (required by

prebuilt/linux-x86/toolchain/arm- eabi-4.4.3/bin/arm-eabi-gcc)

make: *** [out/target/product/generic/obj/lib/crtbegin_dynamic.o] 错误 1

这是在32位linux上编译引起的arm-eabi-4.4.3版本问题,所以需要修改arm-eabi-4.4.0:  

 

在build/core/combo/TARGET_linux-arm.mk里面, /toolchain/arm-eabi-4.4.3 改成/toolchain/arm-eabi-4.4.0

 

下面,还会遇到

sh: gperf: command not found
calling gperf failed: 32512 at ./makeprop.pl line 96.
make: *** [out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/css/CSSPropertyNames.h] 错误 25

解决方法: $ yum install gperf

 

紧接着,又报错

Install: out/target/product/generic/system/app/Mms.apk
target Executable: BufferQueue_test (out/target/product/generic/obj/EXECUTABLES/BufferQueue_test_intermediates/LINKED/BufferQueue_test)
out/target/product/generic/obj/lib/libOpenSLES.so: undefined reference to `typeinfo for android::SortedVectorImpl'
out/target/product/generic/obj/lib/libOpenSLES.so: undefined reference to `vtable for __cxxabiv1::__vmi_class_type_info'
collect2: ld returned 1 exit status
make: *** [out/target/product/generic/obj/EXECUTABLES/BufferQueue_test_intermediates/LINKED/BufferQueue_test] 错误

解决方法:

a.将system/media/opensles/libopensles下的IAndroidEffect.c文件重命名为IAndroidEffect.cpp

b.将同文件夹下的Android.mk中的IAndroidEffect.c改为IAndroidEffect.cpp

 

如果你还遇到其它问题,可以给我留言,也可发我邮箱javachjh@163.com

 

 

第4章-07-将WebDriver获取的Cookie传递给Requests 在使用Selenium WebDriver获取了浏览器的Cookies之后,你可以将这些Cookies传递给requests库,以便在后续的HTTP请求中使用这些Cookies。这样做可以让你模拟浏览器会话,使得请求看起来像是从之前使用Selenium WebDriver控制的浏览器发出的。 阅读详情

相关推荐

宏基因组功能注释实战:从CAZyme到VFDB的完整流程(含数据库下载与脚本优化)

本文详细介绍了宏基因组功能注释的完整流程,涵盖CAZyme、eggNOG、CARD和VFDB四大核心数据库的实战应用。从环境配置、数据库下载与预处理到注释流程执行与优化,提供了全面的操作指南和脚本优化建议,帮助研究人员高效完成宏基因组数据分析。特别针对CAZyme注释等关键步骤给出了参数优化方案和常见问题排查方法。

weixin_29289821的博客 298

ubuntu 编译 Android 出现的若干错误及解决方法

刚下好 android 源码后马上编译会发现有各种各样的错误,原因是有些依赖包没有装。 为了避免出现以下我遇到的错误,请先安装 jdk1.5,必须是 jdk1.5,不然肯定编译不过的。 然后,在检查以下有没有安装以下依赖包: sudo apt-get install bison libc6-dev-amd64 g++-multilib zlib1g-dev lib64z1-dev ...

baobaoupup 493

矩阵LED和矩阵按键

先说矩阵LED,如图: 下面以行几、列几的表达方法说明 三极管可以当做开关使用 由图可知,如果想让一个LED亮,那么它对应的行和列的三极管都要导通。如果这个矩阵每次只亮一个LED,那么正常写程序没问题。 如果我们想让LED1和LED6亮,其他灯不亮,则需要开启行1、行2、列1、列2,随之带来的问题就是LED2和LED5也会跟着亮起来。 解决方法类似于扫描,因为单片机运行速度很快,可以在很短的时间内开关数次而肉眼看不到。所以我们可以每次只亮一列(排)灯,亮单位时间后关掉同时开启另外一列(排),如此四次一循环

qq_46615634的博客 5797

ubuntu14.04下Andriod2.3.1编译环境的搭建

准备工作:获取andriod2.3.1的源码包,以及对应的jdk1.6.0.26. 1、编译andriod2.3.1需要gcc4.4的版本,但是ubuntu14.04自带的版本比这个高。需要通过以下指令进行设置。 sudo apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib gcc-4.4-multilib cd /usr/binln -s g

clmngu的博客 414

用LightRAG+Ollama搭建本地知识库:从文档上传到智能问答的完整流程

本文详细介绍了如何利用LightRAG与Ollama构建企业级本地知识库,涵盖从文档预处理到智能问答的完整流程。通过实战案例展示,该方案能高效处理海量文档,实现语义搜索与知识图谱关联分析,显著提升信息检索效率。特别适合金融、医疗等领域的技术团队快速搭建智能知识管理系统。

weixin_42535461的博客 215

Sylvester结式法求解多项式方程

Sylvester结式法,结式,消元法,ctfshow 七夕杯 LUCK7,crypto,WriteUp

u010883831的博客 4536

ubuntu生成&设置core文件,调试段错误

在用ubuntu系统编码c++程序时,经常遇到段错误,以下介绍ubuntu系统下如何生成core文件,设置core文件路径,并进行调试core文件,找到段错误原因。

breeze_blows的博客 3222

AGV路径规划实战:如何用Python+ROS实现激光SLAM导航(附避障代码)

本文提供了一份基于Python和ROS实现AGV激光SLAM导航的实战指南。内容涵盖从Docker环境搭建、激光雷达数据处理、Gmapping建图,到Move_Base全局/局部路径规划与TEB局部规划器配置的全流程。重点解析了如何通过参数调优实现稳定导航,并附带了紧急避障代码,帮助开发者快速构建具备自主路径规划与实时避障能力的AGV系统。

pepsi的博客 1236

ubuntu18编译Android5.1源码报错及解决方案集合

转载自https://www.codenong.com/cs106492163/一、“You asked for an OpenJDK 7 build but your version is java version “1.7.0_72” Java™ SE”解决方法:1、、下载OpenJDK7:https://jdk.java.net/java-se-ri/7在这里插入图片描述3、# 修改profile文件。

weixin_43209963的博客 530

“开宝五子棋陪练”-首款开放智能的五子棋习题练习安卓应用

使用Kotlin语言以及Jetpack Compose UI库开发,主要就是写Composable函数,显示棋盘、棋子和一些按钮,响应用户的点击和滑动操作,以及保存和恢复数据。但我针对本应用是用于做题的特殊需求,对该算法库做了一个简单的JNI层封装,方便UI前端Kotlin代码的调用。

weixin_44120030的博客 2400

避坑指南:vue-print-nb打印隐藏元素与空白页的那些事儿

本文深入解析了使用vue-print-nb插件时,打印出现空白页及隐藏元素问题的根本原因与解决方案。核心在于理解浏览器打印原理,并通过CSS媒体查询精准控制样式。文章提供了从重置根元素高度、处理隐藏元素到控制分页的完整避坑指南,帮助开发者彻底解决打印样式难题。

weixin_29008691的博客 437

【GiraKoo】编译错误ld: error: undefined symbol: typeinfo for xxxx

编译时提示ld: error: undefined symbol: typeinfo for xxxx。其中有一种特殊情况,就是xxxx是纯虚类,不需要实现函数,此时需要在函数后面写 = 0标明。xxxx所指向的类型,存在没有被实现的函数。导致该类是imcomplete的。检查xxxx所指向的类型。是否存在某个函数只在h中进行了声明,未提供函数体。

GiraKoo的技术分享 1865

ch32v103xx 烧写

烧写方式 串口uart, usb,swd(wch link)但不建议按此使用,参官方说明。

qq_39239990的博客 637

centos编译android源码,CentOS环境下全志H3 android系统编译,非ubuntu

一、下载H3 orangepi lite的android源码资源-“android sdk source code”,“linux源码”,官方工具;http://www.orangepi.org/downloadresourcescn/获得 H3-homlet-1.0.tar.gz,orangepi_sdk,fakeroot,PhoenixCard_V310_20130618,jdk-6u45-l...

weixin_39917437的博客 433

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

CentOS环境下全志H3 android系统编译

一、下载H3 orangepi lite的android源码资源-“android sdk source code”,“linux源码资源”,tools http://www.orangepi.org/downloadresourcescn/orangepipc/oragepipc_2dfcb470cbf2347de2dbc33e5e.html   获得 H3-homlet-1.0.tar.g

jmlinux的博客 3042

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

ubuntu/centos环境下玩android系统(二): linux下的android模拟器运行!

上一篇完成了Android的编译,想必一定心里痒痒了!这一篇将开始玩转android模拟器! 如果不喜欢在linux下运行 emulator ,可直接看第三篇,第三篇讲述windows下的模拟器,相对linux下,要简单很多!   一.下载Andoird SDK,这次我选择的是android-sdk_r15-linux.tgz 安装很简单,直接解压到opt目录下!最好配制一下PATH,以便

jjavaa的专栏 1万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

VMware多系统环境搭建:Ubuntu/CentOS/Win10双网卡协同配置

虚拟化环境搭建是现代软件开发与系统运维的基础能力,其本质是融合虚拟化原理、网络协议栈、操作系统内核行为与资源调度的系统工程。理解NAT与Host-Only双网卡架构,可兼顾外网访问与内网互通,避免桥接引发的ARP告警或纯NAT导致的服务不可达;掌握Ubuntu 22.04 Server版、CentOS Stream 9及Windows 10专业版的选型逻辑,能规避Desktop版高负载、NetworkManager配置冲突、组策略缺失等典型故障。结合VMware Workstation Pro的快照、克隆与

weixin_33860528的博客 454

编译一个基于debian/ubuntu,centos,arhlinux第三方系统

这边由于操作比较多,整合了许多大佬的教程以及自行的摸索,流程会长一些,可能对于一些程序的错误以及bug可能会忘记提及,不过我印象比较深亦或者是网上几乎找不到答案的bug和错误都会提及。

mumuemhaha的博客 1732

ubuntu搭建android编译环境

ubuntu12.04/14.04安装后搭建android编译环境 注安装的是64位ubuntu系统 1.更新软件仓库和软件升级 将以下代码复制并保存为sh后缀的shell脚本如em_ubuntu_conf.sh 然后执行/bin/bash em_ubuntu_conf.sh #! /bin/bash

halazi100 1500

ubuntu/centos环境下玩android系统(三): windows下的android模拟器运行!

本篇讲述windos下的android sdk,同时要运行模拟器,实在过于简单,就不多费口舌了! 一,下载installer_r16-windows.exe(地址http://download.youkuaiyun.com/detail/jjavaa/3965579)或者更新的也可,然后直接安装, 默认安装在Program Files\Android\android-sdk下,然后开始-》程序-》andr

jjavaa的专栏 2058

Janus Server 在centos7 /ubuntu 下的编译

Ubuntu 下 Janus Server 搭建笔记 1 简介 Janus 是一个开源的,通过 C 语言实现了对 WebRTC 支持的 Gateway;Janus 自身实现得很简单,提供插件机制来支持不同的业务逻辑,配合官方自带插件就可以用来实现高效的 Media Server 服务。 本文主要介绍如何在 Ubuntu 16.04 下搭建起 janus 服务器,实现 janus 官方 Demo 浏览器与 Android APP Demo(janus-gateway-android)之间的音视频通.

hyl999的专栏 832

Linux发行版:CentOS、Ubuntu、RedHat、Android、Tizen、MeeGo

Linux,最早由Linus Benedict Torvalds在1991年开始编写。在这之前,Richard Stallman创建了Free Software Foundation(FSF)组织以及GNU项目,并不断的编写创建GNU程序(此类程序的许可方式均为GPL: General Public License)。在不断的有杰出的程序员和开发者加入到GNU组织中后,便造就了今天我们所看到的Li...

系统运维 2089

Linux/安卓驱动编译常见错误与解决方法

本贴对Linux和安卓系统驱动编译中常见的错误进行记录,并补充相应解决方法,若读者对照此方法无法解决,欢迎补充讨论。 错误一:error: macro "__DATE__" might prevent reproducible builds [-Werror=date-time] 表示当前编译环境会进行编译的 DATE 以及 TIME 进行检查,若有Warnings警告也作为错误处理上报。参考解决方法: 1. 驱动对应的Makefile文件中增加一行:CFLAGS += -Wno-error=date

PC小能手的博客 5034

2023年Termux在老旧安卓设备上的系统部署指南:从小米系统到宝塔面板

本文提供了一份详细的2023年Termux在老旧安卓设备(如小米系统)上的部署指南。内容涵盖从安装配置、开启SSH服务,到部署完整Linux系统及宝塔面板的全过程,并重点解决了安装宝塔面板时遇到的权限等核心问题,旨在帮助用户将闲置安卓设备变身为实用的Linux服务器。

zz67890的博客 1156

关于编译WebRTC Linux/Android版源码的说明

分享下,Linux/Android版本,默认必须在Ubuntu上编译,Debian和Ubuntu是同类型OS,应该也可以,不过我没试过,其他类型部分支持,没有关于CentOS的说明,所有不要在这个系统上捣腾,虽然理论上可以,但可能会碰到很多问题。 另外说明下,Android版只能在Linux上编译(编译工具使用NDK),Windows版只能在Windows上编译(编译工具使用VS2013/VS2015),IOS只能在Mac OS X上编译(编译工具必须使用Xcode 5或者以上版本)。

每一天都有新的希望 2652

关于 Android 上面适用 Ubuntu/CentOS 等通过 NDK+CMAKE 等直接编译 NATIVE 程式的一些建议。

由于最近几个月才到 Android 上面适用 C/C++ 编程序,所以躺了非常多的坑,交了大量的技术、金钱、精力的不必要的学费。 所以本文就把过程中趟的坑及解决办法,列举一些出来,望后面的童靴们,不要在踏入这种深不见底的巨坑里面。 由于我们的程序主要都是靠 C/C++ 11 语言直接实现,原程序是在 Ubuntu 16/18 Linux 上通过CMAKE 3.X + GCC 5.4.X + VSCode C/C++调试并且开发的,所以很多套路还是按照 VC++/GCC 上面的套路在做,移植到 Andro

liulilittle的博客 3191
上一篇: Linux地址映射--线性映射与非线性映射
下一篇: ubuntu/centos环境下玩android系统(二): linux下的android模拟器运行!
刀客777
博客等级 码龄15年 11粉丝 8原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值