android源码编译

Android编译环境折腾记

六月ゝ 毕业季﹏ 提交于 2019-11-29 03:59:33
一、Ubuntu编译Android4.4.4 1.平台:realtek RTD2984(Android4.4.4)   第一次安装了ubuntu14.04.5,官网下载的iso,官网下的jar,编译android4.x需要安装jdk6,更高的版本会有问题,baidu到很多搭建环境的步骤,这个不多说,在win7下使用EasyBCD引导安装的ubuntu,1TB硬盘果断装了双系统,事实证明没删掉win7是个多么明智的决定,在jdk方面,android4.4比4.0要多配置一个javap,其他都一样 1 update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.6.0_43/bin/java" 1 2 update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.6.0_43/bin/javac" 1 3 update-alternatives --install "/usr/bin/javadoc" "javadoc" "/usr/lib/jvm/jdk1.6.0_43/bin/javadoc" 1 4 update-alternatives --install "/usr/lib/mozilla/plugins

Azkaban 3.x 编译及部署

时光总嘲笑我的痴心妄想 提交于 2019-11-29 03:11:27
一、Azkaban 源码编译 1.1 下载并解压 Azkaban 在 3.0 版本之后就不提供对应的安装包,需要自己下载源码进行编译。 下载所需版本的源码,Azkaban 的源码托管在 GitHub 上,地址为 https://github.com/azkaban/azkaban 。可以使用 git clone 的方式获取源码,也可以使用 wget 直接下载对应 release 版本的 tar.gz 文件,这里我采用第二种方式: # 下载 wget https://github.com/azkaban/azkaban/archive/3.70.0.tar.gz # 解压 tar -zxvf azkaban-3.70.0.tar.gz 1.2 准备编译环境 1. JDK Azkaban 编译依赖 JDK 1.8+ ,JDK 安装方式见本仓库: Linux 环境下 JDK 安装 2. Gradle Azkaban 3.70.0 编译需要依赖 gradle-4.6-all.zip 。Gradle 是一个项目自动化构建开源工具,类似于 Maven,但由于采用 Groovy 语言进行项目配置,所以比 Maven 更为灵活,目前广泛用于 Android 开发、Spring 项目的构建。 需要注意的是不同版本的 Azkaban 依赖 Gradle 版本不同,可以在解压后的 /gradle

在Ubuntu 18.04编译Android 8.1

心已入冬 提交于 2019-11-28 20:12:30
感谢博主 :https://blog.csdn.net/qq_42889470/article/details/81463559 硬件要求: 越高越好,不建议在虚拟机内编译 内存越大越好,推荐200G,在这里就不赘述怎么安装ubuntu双系统了,网上教程很多,有时间写一教程出来 传送门 推文: 传送门 安装并配置git sudo apt-get install git -y git config --global user.name "your name" git config --global user.email "your@example.com" 安装repo sudo apt install repo -y sudo apt-get install curl -y 下载repo工具 mkdir ~/bin PATH=~/bin:$PATH curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo chmod a+x ~/bin/repo 若下载不了,用下面的方法(推荐) git clone https://mirrors.tuna.tsinghua.edu.cn/git/git-repo cp ~/git-repo/repo ~/bin/ chmod a+x ~/bin/repo

解决ERROR: No toolchains found in the NDK toolchains folder for ABI with prefix: mipsel-linux-android

左心房为你撑大大i 提交于 2019-11-28 17:52:49
在下载XposedBridge源码编译的时候出现 No toolchains found in the NDK toolchains folder for ABI with prefix: mipsel-linux-android 错误 查找资料发现不少伙伴也遇到了,但是解决的办法有多种,这里略作总结 首先产生这个问题的原因是因为官方不推荐使用 mipsel-linux-android 了,所以gradle没有支持,但是旧版本的项目编译无法通过 解决方式1(不推荐): 亲测无用,因为官方新版的ndk已经没有 mipsel 了,不死心的可以在这个地址下载(需要访问google) ndk下载地址 下载自己需要的版本解压 然后将 mips64el-linux-android 放到如下目录 这个还是有点麻烦的,并且不适用,因为需要访问google的Android官网并且下载的东西有点大(不到1G),从这里也可以看出SDKManager下载的东西并不全 解决方式2: google 不推荐使用 mipsel ,但是很多库还是检测它是否存在,如果不存在就报错,其实可以创建空文件夹或者 ln -s arm-linux-androideabi-4.9 mipsel-linux-android 其实都一样占个位置而已防止检测不通过编译失败, 这种方式也不推荐,因为官方都放弃了,还用它干什么呢

在Ubuntu上下载、编译和安装Android4.0.3 source与 kernel 源码

徘徊边缘 提交于 2019-11-28 12:13:04
首先要注意的是:在进行环境变量的 配置或者涉及到跟目录有关的操作时一定要注意你自己的目录是什么,你自己的android source放在哪个目录下,不要完全copy我的PATH的路径 。 说明 :home/dell/ WORKING_DIRECTORY --我所有的android源码都放在这个目录中,而且还在这个目录下建立了一个kernel目录,将内核源码放在里面。即,我的内核目录是:home/dell/WORKING_DIRECTORY /kernel/ 一、下载编译内核源码 1、下载内核源码 http://my.oschina.net/u/561492/blog/88903 2、设置环境变量 打开用户目录下的.bashrc文件,在后面添加如下代码 export PATH=$PATH:~/ android/source /prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin export ARCH=arm 注意:你自己的android源码不一定是放在 /android/source下,所以要找到自己的android源码目录 如: export PATH=$PATH:~/WORKING_DIRECTORY/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin 3、设定交叉编译参数 打开

入职小白随笔之高通项目编译流程

喜夏-厌秋 提交于 2019-11-28 07:14:18
声明:本文来自我的导师wangjie. 本文主要包含以下内容 一、查看项目所在分支 二、切换到目标分支 三、查看当前所在分支 四、编译Android源码 五、source Android 编译环境 六、lunch 所需的编译项目 七、单编 模块 八、push 模块 验证修改是否生效 一、查看项目所在分支 git branch -a 表示:查看并列出当前项目所有分支 高通项目举例如下: wangjie@wangjie:/wangjie/Qualcomm_p/E5527M_MSM8917_QM215_r26/LA.UM.7.6.2/LINUX/android$ git branch -a * linux_android_development master remotes/origin/A/B_update_linux_android_development remotes/origin/HEAD -> origin/master ... ... remotes/origin/secure_linux_android_development remotes/origin/streamlined_code_engineering wangjie@wangjie:/wangjie/Qualcomm_p/E5527M_MSM8917_QM215_r26/LA.UM.7.6.2/LINUX

Android JNI MAC OS环境配置

左心房为你撑大大i 提交于 2019-11-27 14:22:54
Android JNI MAC OS环境配置 http://whbzju.github.io/blog/2013/06/01/android-jni-config/ JUN 1ST, 2013 | COMMENTS 前言—JNI技术简介 JNI是Java Native Interface的缩写,即“Java本地调用”,它是Java世界和Native世界的中介桥梁。其中Native世界一般指C/C++的世界。众所周知,Java是一种跨平台的语言,即Java编写的应用与平台无关。但是,计算机的世界在Java出现之前已经发展了很久,有很多优秀健壮的代码可以复用。比如Linux下的好多驱动模块、文件系统等。Java若去重新实现这些功能,未免费力不讨好,落下重复造轮子的名声。通过JNI技术,使用这些Native的模块,便成了一个折中的办法。同时,Java的世界依靠虚拟机构建,而虚拟机是native语言实现,并且虚拟机运行在具体的平台上,所以虚拟机本身是无法做到平台无关。通过JNI技术,可能做到在Java层的平台无关,即在Java层,底层的细节完全被屏蔽掉了。综合来讲,JNI技术一直支撑这Java世界,只不过我们平时接触的较少。 在Android的世界里,不允许纯C/C++的程序出现,但是它支持JNI,通过JNI来实现java和C/C++的交互。因此,JNI对于需要接触到Android源码

Android源码下载

a 夏天 提交于 2019-11-27 13:41:19
文章目录 1.下载 步骤 2. 代码编译 3) 模拟运行 1.下载 步骤 wget -c -t 0 https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar tar -xvf aosp-latest.tar repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-9.0.0_r40 repo sync 对于第三步 对于想下载的源码可以访问这个网址: 代号、标记和细分版本号 2. 代码编译 运行: source build/envsetup.sh lunch 15 (我选的是模拟器 x86de 一个 分支) make -j8 编译完成 3) 模拟运行 直接运行 命令 emulator 使用别的 模拟器运行 待续```` 参考文件: 清华大学开源软件镜像站 https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/ 来源: https://blog.csdn.net/qq_27061049/article/details/99684182

自己对鸿蒙的理解

﹥>﹥吖頭↗ 提交于 2019-11-27 13:06:04
相对于Android系统,鸿蒙系统做出了这些优化 1.用华为推出的IDE开发可以自动适配各种设备,手机和电视、手表等等 2.推出方舟编译器可以使开发出的应用运行在不同的操作系统上(对cpu机器指令的适配):Android系统慢的原因主要是因为虚拟机对源码的编译、解释耗时,细数Android版本变化中从dalvik虚拟机到ART都是致力优化虚拟机的编译解释时间: Android 1.0(2008 年):采用一个名为 Dalvik 的虚拟机,并且集成了一个解释器。当 App 运行时,就会调用这个解释器,对代码进行逐句解释,速度很慢。 Android 2.2(2010 年):引入 JIT(Just In Time)即时编译机制,当 App 运行时,会将用户经常使用的功能编译为机器能直接执行的 010101 机器码,不用一句一句地去翻译。当出现不常用的功能时,再调用解释器来翻译;这样速度加快,但每次启动 App 都要重新编译一次,不能一劳永逸。 Android 5.0(2014 年 10 月):将虚拟机 Dalvik 换成 ART(Android Run Time),将 JIT 的编译器替换成 AOT(Ahead of Time)。如此,App 在下载后安装到手机上时同时把能编译的代码先编译成机器听得懂的 101010;剩下不太好翻译的代码,就在用户使用时再叫醒解释器来翻译。如此

AOSP 预置 APP

耗尽温柔 提交于 2019-11-27 08:28:54
Android 系统预置 APP 是做 Framework 应用开发经常经常会遇到的工作,预置 APP 分为两种,一种是直接预置 APK,一种是预置带有源码的 APP。 预置 apk 示例说明 以 .apk 示例,在 AOSP/packages/apps 新建名为 的文件,放入 ***.apk,再新建 Android.mk,内容如下: LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_MODULE := < your app folder name > # 签名 LOCAL_CERTIFICATE := < desired key > # 指定 src 目录 LOCAL_SRC_FILES := < app apk filename > LOCAL_MODULE_CLASS := APPS # 该模块的后缀,不用定义 #LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX) include $(BUILD_PREBUILT) 解释: LOCAL_PATH := $(call my-dir) 每个 Android.mk 文件必须以定义 LOCAL_PATH 为开始,它用于在开发 tree 中查找源文件。