我对股票android电子邮件应用程序缺乏一个简单的功能感到恼火。当这个应用程序以open source发布时,我可以很容易地解决这个问题。
问题:如何以我和其他用户可以安装修改后的EMail应用程序(无root访问权限)的方式发布此修改?我尝试了以下方法:
我虽然在清单中更改应用程序的包名称,但它并不那么简单:您还必须将所有类移动到新包中。此外,正如您在AndroidManifest中看到的,应用程序定义了新权限(com.android.email.permission.READ_ATTACHMENT
)以及在安装修改后的包时导致重复错误的其他因素。这些权限是源中的字符串引用。
手动修改每个文件然后调试每个错误真的是我问题的唯一解决方案吗?由于我修改并移动了每个文件,因此这些修改也会使新版本的EMail应用程序变得非常困难。
答案 0 :(得分:3)
我想改变清单
中应用程序的包名称
这是必需的。
您还必须将所有类移动到新包中
不一定。 R
将生成到清单中声明的包中,因此您需要安排导入R
类。如果适用,您将需要更新清单本身以使用完全限定的类名而不是裸类名。
此外,正如您在AndroidManifest中看到的那样,应用程序定义了新的权限(com.android.email.permission.READ_ATTACHMENT)以及在安装修改后的包时导致重复错误的其他内容。
完全可以定义现有权限。我不知道你在哪里/如何得到“重复错误”。
手动修改每个文件然后调试每个错误真的是我问题的唯一解决方案吗?
或多或少。请参阅上面的“不一定”段落。
由于我修改并移动了每个文件,这些修改也会使新版本的EMail应用程序变得非常困难。
您是决定开始此任务的人,而不是将您的更改提供给现有的开源邮件应用程序,例如K-9 Mail(多年前也分叉了AOSP电子邮件应用程序),或者AOSP电子邮件应用程序本身(通过AOSP contribution process)。
答案 1 :(得分:2)
这个话题可能陈旧,但我想我会分享我为子孙后代做的事情。我能够使用上面的信息修改浏览器源并创建我自己的应用程序版本(可以与股票应用程序并行安装)。我做了什么:
最后一步需要几次尝试,但这只是构建,安装,启动和检查LogCat以查找错误的引用。