这个事情我也是搞了将近一个礼拜,因为是第一次接触Android源码开发,所以速度比较慢。

首先,要清除原有Home和Launcher,具体如下

步骤①

 

 

删除源码\packages\apps\Launcher2文件夹

 

 

步骤②

 

 

打开build\target\product\core.mk

 

删除行“Launcher2 \”

 

 

步骤③

 

 

打开out\target\product\sabresd_6dq\obj\APPS

 

删除Launcher2_intermediates

 

使用find命令搜索out目录,是否存在其他的Launcher2_intermediates相关编译文件夹,有则直接删除

 

 

步骤④

 

 

打开源码\development\samples\Home\AndroidManifest.xml并删除以下代码(如果没有development文件夹,请先进行两次编译)

 

<category android:name="android.intent.category.HOME" />

 

 

步骤⑤

 

 

重新编译则没有系统Launcher,准备将需要的Launcher放入系统中

 

然后就是难点,把自己的App烧进去,我的过程是这样的

步骤①

 

 

将自己的App源代码文件夹放入packages\app目录并确保自己的App的Activity的有以下权限:

 

<category android:name="android.intent.category.HOME" />

 

<category android:name="android.intent.category.DEFAULT" />

 

 

步骤②

 

 

在packages\apps\[App名称]目录下添加Android.mk文件

 

可以参考packages\apps\Calculator目录下的Android.mk的格式来制作

 

 

步骤③

 

 

控制台进入安卓源码目录,执行以下命令:

 

. build\envsetup

 

mm packages\apps\[App名称]

 

提示编译通过且没有出现[Nothing done]则表示通过

 

如果出现错误提示,请检查是否为root用户,以及app文件是否存在test项目(Android Studio的测试项目)

 

如果还有错误请参照其他系统App(如Launcher2和Calculator)等进行修改

 

或者根据App的结构进行修改,不同结构版本修改方法可能不同

 

通过后可以再使用“mmm packages\apps\[App名称]”命令做快速检查

 

 

步骤④

 

 

打开build\target\product\core.mk

 

找到行“Browser \”另起一行添加“[App名称] \”

 

 

步骤⑤

 

 

重新编译两次,烧写后直接出现app画面则为成功

如果不成功建议先找个好改的系统App先来测试,我一开始就是用ExactCalculator来测试的

步骤①

 

 

拷贝源码\packages\apps\ExactCalculator文件夹,并重命名为TestApp

 

删除源码\packages\apps\ExactCalculator文件夹

 

 

步骤②

 

 

打开build\target\product\core.mk

 

编辑行“ExactCalculator \”→“TestApp \”

 

 

步骤③

 

 

打开out\target\product\sabresd_6dq\obj\APPS

 

删除ExactCalculator_intermediates

 

使用find命令搜索out目录,是否存在其他的ExactCalculator_intermediates相关编译文件夹,有则直接删除

 

 

步骤④

 

 

打开\packages\apps\TestApp\Android.mk

 

修改LOCAL_PACKAGE_NAME = TestApp

 

 

步骤⑤

 

 

将自己的App源代码文件夹放入packages\TestApp\AndroidManifest.xml并在Activity内添加以下权限:

 

<category android:name="android.intent.category.HOME" />

 

<category android:name="android.intent.category.DEFAULT" />

 

 

步骤⑥

 

 

控制台进入安卓源码目录,执行以下命令:

 

. build\envsetup

 

mm packages\apps\[App名称]

 

提示编译通过且没有出现[Nothing done]则表示通过

 

 

步骤⑦

 

 

编译系统并烧写,开机出现计算器则OK