如何修改和重新发布AOSP应用程序?

the*_*ega 6 android package

我对股票android电子邮件应用程序缺乏一个简单的功能感到恼火.由于此应用程序作为开源发布,我可以很容易地解决这个问题.

问题:如何以我和其他用户可以安装修改后的EMail应用程序(无root访问权限)的方式发布此修改?我尝试了以下方法:

  1. 通过大量复制,我能够使用标准的Eclipse/ant工具链构建EMail应用程序,而无需使用make-scripts的ASOP工具链.
  2. 现在安装此应用程序会导致错误,因为已经安装了包(显然,我没有更新的歌唱键)
  3. 在设备上禁用电子邮件应用程序也没有帮助,我仍然无法安装我的新应用程序.

我虽然在清单中更改应用程序的包名称,但它并不那么简单:您还必须将所有类移动到新包中.此外,正如您在AndroidManifest中看到的,应用程序定义了新的权限(com.android.email.permission.READ_ATTACHMENT)以及在安装修改后的包时导致重复错误的其他因素.这些权限是源中的字符串引用.

是手动修改每个文件,然后调试每个错误真的是我的问题的唯一解决方案?由于我修改并移动了每个文件,因此这些修改也会使新版本的EMail应用程序变得非常困难.

Com*_*are 3

我想更改清单中应用程序的包名称

这将是必需的。

您还必须将所有类移至新包中

不必要。R将生成到清单中声明的​​包中,因此您需要安排导入该类R。如果适用,您将需要更新清单本身以使用完全限定的类名而不是裸类名。

此外,正如您在 AndroidManifest 中看到的,应用程序定义了新权限 (com.android.email.permission.READ_ATTACHMENT) 以及其他在安装修改后的包时导致重复错误的内容。

定义现有权限是完全可能的。我不知道你在哪里/如何得到“重复错误”。

手动修改每个文件然后调试每个错误真的是解决我的问题的唯一方法吗?

或多或少。请参阅上面的“不一定”段落。

这些修改也会使引入新版本的电子邮件应用程序变得非常困难,因为我已经修改并移动了每个文件。

您是决定开始这一任务的人,而不是将您的更改贡献给现有的开源邮件应用程序,例如 K-9 Mail(几年前也派生了 AOSP 电子邮件应用程序)或 AOSP 电子邮件应用程序本身(通过AOSP 贡献流程)。