1

我刚刚完成了我的应用程序的构建,一切运行良好。所以我决定也创建一个精简版。我将我的 android 项目转换为一个 android 库,并创建了一个 lite 项目和一个完整的项目,每个项目都引用了该库。

我以这种方式运行了我的完整版本,效果很好。然后我尝试运行我的精简版,它抱怨“SecurityException: Not allowed to bind to service Intent...”

它指的是我从每个活动绑定到的本地服务。

我猜是因为该服务在两个应用程序中具有相同的包名称,所以精简版应用程序会感到困惑并尝试连接到完整应用程序的服务......

我怎样才能在尽可能少的干扰的情况下解决这个问题?

4

1 回答 1

0

好吧,看到我没有得到任何回复......我想我会分享我最终做了什么。如果部署在两个应用程序中,我对需要唯一包名称的服务的怀疑是正确的。

因此,我现在只有一个 android 项目,而不是一个库和两个项目。在其中我有一个静态标志常量,我根据我想要运行的内容进行更改。在一种情况下,我生成了一个关闭标志的 APK。然后我为整个项目重命名包(eclipse重构)并生成另一个打开标志的APK。

当标志打开时,应用程序的某些部分被锁定(所以是精简版)。当它关闭时,它是完整版。

完成后,我将恢复为基础并删除所有更改。

这不是我希望的理想解决方案,但只需一分钟即可完成。所以这没什么大不了的。

于 2012-10-30T22:55:41.157 回答