我应该如何分叉AOSP应用程序?

Gav*_*vin 6 android android-source

背景

我正在研究拨号器应用程序.我愿意使应用程序opensource.我努力分叉AOSP拨号器应用程序(链接).

但是,我以前没有经历过AOSP申请.几个小时后,我发现它非常困难.

方法尝试

我正在使用Android Studio工作.我已将AOSP组件的资源和源代码复制为我项目中的模块.依赖关系可以解决.

主要困难

  1. 依赖性过多.从make文件(链接),拨号器依赖于ContactsCommon(链接),InCallUI(链接),android-common(链接),vcard(链接)等.我尝试通过导入这些模块解决依赖关系.然而,出现了更多的问题.

  2. 只有权限才能被授予系统应用程序.

  3. 有些方法只能由系统应用程序看到.它们对用户应用程序是隐藏的.

  4. 具有重复名称和产品属性的字符串资源.我已经读过它们应该在预编译时处理.但是,是否可以使用Gradle处理它们?

目标

我的目标是发布类似于ExDialer(链接)的增强型拨号器应用程序.我没有制作另一台拨号器来替换自定义ROM中的原始拨号器.

因此,根本不需要许多依赖性和权限.我只是不知道如何分离AOSP应用程序的"系统"部分和"用户"部分.

提议的方法

我很可能会复制和修改资源和源代码,而不是分支原始的AOSP拨号器.他们是否有更好的方法来分配AOSP应用程序,从而重用现有资源和源代码?