Android:将功能推送到应用程序中

时间:2013-12-27 13:53:24

标签: android plugins apk

我正在开发一个Android应用程序,我希望人们购买许可证,并且基于该许可证,我需要将插件推送到我的应用程序。

e.g。如果许可证映射到3个插件(或高级功能),我想在运行时仅将这3个插件推送到应用程序。由于无法像这样的AFAIK更改APK,我不想在一个APK中包含所有功能。

如何维护应用的多个版本,例如高级应用和免费应用,而无需维护多个应用?

最好的问候

1 个答案:

答案 0 :(得分:2)

插件只是没有启动器活动AFAIK的APK。以Facebook为例。应用程序如何知道您是否安装了页面管理器 Messenger ?我只能想到实现这种所谓的基于插件的架构的一种方法,即创建多个APK,每个插件一个,作为一个独立的应用程序。并使用Main APK检查包是否存在于运行时。

public boolean isPackageExisted(String targetPackage){
    List<ApplicationInfo> packages;
    PackageManager pm;
        pm = getPackageManager();        
        packages = pm.getInstalledApplications(0);
        for (ApplicationInfo packageInfo : packages) {
    if(packageInfo.packageName.equals(targetPackage)) return true;
    }        
    return false;
}

如果没有下载并安装包,如果它符合您的标准。

How do I make sure that only my "master" apk is able to call the functions in the plugin apk?

您可以将此添加到您的清单文件中 android:protectionLevel="signature"

您可以更多地了解here

希望这会有所帮助.. :)