首页 > 代码库 > 写一个android内置android程序

写一个android内置android程序

当我们编译完毕android源代码之后,就须要对他做点什么事情,我如今正在看老罗的”Android源代码情景分析”一书。在这里主要是记录一些书中没有说清楚的地方.

相同。我们创建一个HelloWorld程序,以下看一下我的文件夹结构.

技术分享

然后我们就像平时开发android程序一样。在第一个界面中放置一个 Hello World字符串,然后在自己的手机中測试一下。执行成功.好了。后面的工作比較重要.

在这里记录一下Android.mk里面的内容,这个是必须要有的。由于mmm编译的话。须要找到mk文件进行编译.

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_PACKAGE_NAME := HelloAndroid
include $(BUILD_PACKAGE)

我们将这个androidproject拷贝到android源代码文件夹下的/packages/experimental文件夹中,将HelloWorld项目中gen文件夹和bin文件夹中的内容清空.这一步很重要,要不然就会编译错误.同一时候。眼下我还不知道假设有外部依赖的话,怎样去编译这个项目.

以下我们导入单独编译模块的mmm命令.依照老罗的思路,在命令行模式下。进入android源代码根文件夹,执行命令:

source ./build/envsetup.sh

这样。我们就能够使用mmm命令了。我们看一下mmm命令还能够做什么事情.使用以下的命令查看mmm命令的帮助文档.

mmm -help

技术分享

普通情况下基本上就是在mmm命令后面加入程序所在的文件夹路径就可以.

mmm ./packages/experimental/HelloWorld/

编译完毕之后,我们就能够使用make snod命令又一次打包Android系统镜像文件了.

make snod

编译完毕之后,我们又一次执行emulator,就能够看到我们的HelloWorld成为了我们android的内置程序了.

技术分享

<script type="text/javascript"> $(function () { $(‘pre.prettyprint code‘).each(function () { var lines = $(this).text().split(‘\n‘).length; var $numbering = $(‘
    ‘).addClass(‘pre-numbering‘).hide(); $(this).addClass(‘has-numbering‘).parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($(‘
  • ‘).text(i)); }; $numbering.fadeIn(1700); }); }); </script>

写一个android内置android程序