我开发了具有不同功能模块的android库。任何想使用该库的应用程序都将基于该许可证密钥获得许可证密钥,我必须限制其他模块的使用。
举例说明-带有 1,2,3,4模块的 XYZ SDK 现在的应用程序希望将XYZ SDK用于唯一的1&4模块,因此根据许可证密钥会生成,如何防止访问其他模块(在上述情况下为2&3)?
答案 0 :(得分:1)
如果遇到同样的情况,我将执行以下操作。
通过这种方式,您可以在运行时控制对模块/插件的访问。
如果您很难将库拆分为插件,则可以按照我上面提到的相同步骤进行操作。您还可以抛出IllegalAccessException
,而不仅仅是返回。
答案 1 :(得分:0)
如果您使用的是“设计模式”并遵循“静态工厂”方法,则在初始化库时,基于许可证密钥创建一个方法。
例如,如果您只想访问两个库2,3,则不要初始化其他两个库中的两个库,因此不要初始化,因此无论您要提供什么功能,都可以在初始化阶段定义一个库。