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

2024-02-21

我对 Android 电子邮件应用程序中缺少的一个简单功能感到恼火。由于此应用程序发布为开源 https://github.com/android/platform_packages_apps_email我可以很容易地解决这个问题。

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

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

我想在清单中更改应用程序的包名称,但事情并不那么简单:您还必须将所有类移到新包中。此外,正如您在Android清单 https://github.com/android/platform_packages_apps_email/blob/master/AndroidManifest.xml,应用程序定义新的权限(com.android.email.permission.READ_ATTACHMENT)以及其他在安装修改后的包时导致重复错误的事情。这些权限在源代码中作为字符串引用。

手动修改每个文件然后调试每个错误真的是解决我的问题的唯一方法吗?这些修改也会使引入新版本的电子邮件应用程序变得非常困难,因为我已经修改并移动了每个文件。


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

这将是必需的。

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

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

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

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

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

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何修改并重新发布 AOSP 应用程序? 的相关文章

随机推荐