体育资讯网

您现在的位置是:首页 > 分类14 > 正文

分类14

android在源码中编译(Android源代码的编译过程)

hacker2022-06-07 21:36:18分类1491
本文目录一览:1、如何在Android源码下编译自己的项目

本文目录一览:

如何在Android源码下编译自己的项目

在Android Studio代码调试一文中,简单的介绍了代码调试的一些技巧.现在我们来谈谈Android源码编译的一些事.(俺认为,作为android developer人人都应该有一份自己Android源码,这样我们就可以随时对自己有疑惑的地方通过亲手调试来加强理解).

本文适用于Ubuntu 16.04上编译Android 6.0.*,其他情况请酌情处理,自行参考官网吧.

请首先确保自己已经安装了Git.没安装的同学可以通过以下命令进行安装:

sudo apt-get install git

git config –global user.email “test@test.com”

git config –global user.name “test”

如何从android源码中编译webkit

android本来自带了webkit浏览器,但是要对其进行custom就需要android源代码才行,

但是在没有源码的情况下,那么就需要用到ndk了,比如,我是在xoom上做custom webkit的。

虽然ndk提供的库很少,而且没有skia,但是好在有bitmap,这样显示慢了点,没有硬加速,但不是不可能。

webkit需要的第三方库,freetype,png,jpeg,sqlite3等虽然android源码中有,但是ndk没有开放,

因此所有的第三方库,freetype,png,jpeg,sqlite3,cairo,curl,fontconfig,pixman,iconv等

都需要用ndk cross-compile成静态库,然后链接到最终的动态库中。

选择iconv是icu太大,而且没有多语言的需求,选择cairo+pixman是skia的移植性不好,而且cairo支持很多种backend。

编译第三方库需要用到autoconfig,ndk中有如何生成交叉编译链的文档,然后在configure时使用这个工具链就可以了,

但是android用到的是bionic库,因此会有很少的地方需要修改,有些库也不能生成test程序,但是静态库是没问题的。

利用ndk生成的交叉工具链,在加上webkit自带的cmake编译系统,生成webkit的动态库是没有问题的,

当然是webkit的内核,而且有些平台相关的部分代码需要修改,但是只要是以linux平台为基础,修改还是很容易的,

我移植的webkit是先移植到linux平台上,然后移植到android平台上的,所以修改相对少了很多,

但是修改大多都在WebCore/platform下,在选择了的平台相关库后,做相应的配置和修改,

其次是在WebKit目录,这个主要是支持和使用WebCore,因此在需求不是整个浏览器,而只是正常地显示网页时,

还是可以写的比较简单的。

自己可以编译安卓源码吗?

你是说的反编译吗?

拿到apk文件--经过 脱壳(脱掉APP本身的加固)--反编译(apktool)就可以反编译到源码了,一般都是混淆后的,用来学习了解作者的思路还是可以的

发表评论

评论列表

  • 笙沉路弥(2022-06-08 07:27:09)回复取消回复

    览器,但是要对其进行custom就需要android源代码才行,但是在没有源码的情况下,那么就需要用到ndk了,比如,我是在xoom上做custom webkit的。虽然ndk提供的库很少,而且没有skia,但是好在有bitma