Android 如何在aosp中更改源代码并在其上添加我们自己的应用程序

Android 如何在aosp中更改源代码并在其上添加我们自己的应用程序,android,android-source,Android,Android Source,我刚刚下载了Froyo源代码来修改它,但我不知道从哪里开始。我想知道几个系统应用程序的位置,包括android源代码中的设置。我想在Froyo source中添加我自己的Android应用程序,这样它就可以作为系统应用程序启动。我应该如何进行?提前谢谢 如果您曾经下载过Froyo源代码,请共享文件夹结构。我建议您参考Earence Fernandes的书。在这里,您可以找到一些如何更改Android内部组件的收据。我建议您查看现有的系统应用程序,如Gallery、Phone、Launcher等

我刚刚下载了Froyo源代码来修改它,但我不知道从哪里开始。我想知道几个系统应用程序的位置,包括android源代码中的设置。我想在Froyo source中添加我自己的Android应用程序,这样它就可以作为系统应用程序启动。我应该如何进行?提前谢谢


如果您曾经下载过Froyo源代码,请共享文件夹结构。

我建议您参考Earence Fernandes的书。在这里,您可以找到一些如何更改Android内部组件的收据。

我建议您查看现有的系统应用程序,如Gallery、Phone、Launcher等

创建与现有应用程序类似的文件夹结构,并查看该应用程序下的Android.mk文件

在创建系统应用程序时,这将为您提供一个指针,这将是make命令生成的系统映像的一部分

我知道有几个系统应用程序,比如在 android源代码,但它们在哪里

实际上,这些系统应用程序位于packages/apps/文件夹下

我推荐两种将自己的应用程序添加到AOSP的方法

第一个是amsurana告诉我们的,也就是说,只需了解系统应用程序是如何实现的。如果您从网上下载任何应用程序,只需将该源文件夹添加到
packages/apps/
下,然后创建Android.mk。要创建Android.mk,请参考其他系统应用程序的Android.mk。因为,有些应用程序使用本机代码,有些则不会

第二种方法是,如果应用程序特定于设备,则将源代码添加到/device/{vendor}/{board}/。确保/device/{vendor}/{board}/下的Android.mk具有以下行

include $(call all-makefiles-under,$(LOCAL_PATH))

希望对你有帮助

除了其他应用程序之外,还有一个很好的做法,即不在
软件包/应用程序中添加应用程序,而是在
供应商/{your_vendor}/packages/apps
中添加应用程序,或者作为
{your_dir_name}/packages/apps
的一个选项(如果您不是供应商)。 在这之后,您需要定义您的
Android.mk
文件,如果您想让您的应用程序成为系统,您应该明确地:

 LOCAL_PATH := $(call my-dir)
 include $(CLEAR_VARS)

 # Build all java files in the java subdirectory
 LOCAL_SRC_FILES := $(call all-subdir-java-files)

 # Name of the APK
 LOCAL_PACKAGE_NAME := SuperApplication

 # To put your APK to /system/priv-app    
 LOCAL_PRIVILEGED_MODULE := true
 # Tell it to build an APK
 include $(BUILD_PACKAGE)
我建议几种方法开始探索AOSP源代码:

读取启动器的源代码

有一个确切的应用程序,我建议您查看一下

Launcher是一个有趣的应用程序,用于读取和修改源代码。几个著名的自定义启动器基于AOSP启动器应用程序

您可以在
软件包/应用程序/启动器3
中找到它

读取其他应用程序的源文件

正如其他人所建议的,创建应用程序的一个好方法是查看其他应用程序。其他应用程序,如拨号应用程序、联系人、摄像头等,可以在
软件包/应用程序中找到,这些应用程序使用的一些服务(电话和电信,拨号应用程序使用)可以在
软件包/服务中找到

浏览系统界面

AOSP另一个有趣的部分是
SystemUI
应用程序。它包含一个状态栏和导航栏,可以找到快速设置,可以添加更多有趣的东西,有趣的修改

您可以在
框架/base/packages/SystemUI
中找到它


希望它能帮助别人。

我还推荐嵌入式安卓:我读了“嵌入式安卓”。它解释了系统的工作原理,但如果您需要精确的收据,我建议您使用“安卓系统开发”。这在2019年仍然适用吗?对新安卓系统的书籍有什么建议吗?这是一种宽泛/不明确的方式。从听起来,你真的需要去读一本关于这个主题的书,否则你需要把你的问题浓缩成一个主题,澄清你在问什么。