2012-10-26 41 views
1

我刚刚完成我的应用程序的构建,并且一切都运行良好。所以我决定创建它的精简版。我将我的android项目转换为android库,并创建了一个lite项目和一个完整的项目,每个项目都引用该库。精简版应用程序无法启动,因为它无法绑定到服务(完整版本也安装)

我以这种方式运行了我的完整版本,它效果很好。然后我尝试运行我的精简版,它抱怨“SecurityException:不允许绑定到服务意图...”

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

我猜测,因为该服务在这两个应用相同的包名,精简版的应用程序会很困惑,并试图连接到全面应用的服务...

我怎样才能解决这个用尽可能少破坏尽可能?

+0

不错的问题... – swinefeaster

回答

0

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

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

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

一旦完成,我恢复到基础并清除所有更改。

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

+0

我面临同样的问题。 –

相关问题