如何访问位于外部加载的apk中的特定于布局的资源?

时间:2012-03-09 23:24:18

标签: android

我正在开发一个应用程序(即:base apk),它可以在需要时从专用服务器上下载第三方apks(即:external apks)。当发生这种情况时,基础应用程序(基本apk)开始以类似于详细描述的here的方式实例化每个先前下载的apk(即:外部apks)。整个过程顺利进行,除非设计这些第三方apks以便利用本地资源(即:res / layout / Layout文件)。在这种情况下,用于访问这些本地资源的第三方apk代码(例如:通过尝试给布局充气,如下所示)无法抛出NULLPointerException(无法找到它们中的每一个)。

我想知道这是不是一个可行的方案。如果是(很可能是我猜)是否有任何直接的解决方案/解决方案,目前我解雇..?

LayoutInflater.from(this.getContext()).inflate(mypackage.external.apk.R.layout_to_be_loaded, this);

谢谢!

1 个答案:

答案 0 :(得分:0)

  

当发生这种情况时,基础应用程序(基本apk)开始以类似于此处详述的方式实例化每个先前下载的apk(即:外部apks)。

这是不安全的,提供了代码注入攻击的可能性。我不会用10英尺的杆子触碰那种技术。

  

有没有直接的解决方案/解决方案,目前我解雇..?

不是真的。您正在从外部未安装的APK中删除字节码并在您的过程中执行它。你也无法以某种方式扯掉资源并将它们与你的资源混合在一起。