Android动态加载资源

Android动态加载资源,android,android-resources,dex,Android,Android Resources,Dex,我正在尝试使用下载我的应用程序中的JAR/APK。我想将我的应用程序模块化,这样我就可以下载用户可能需要的UI流,而不是将它们一起发送到我的主应用程序中 加载实际的类效果很好,我设法加载了一些UI组件,可以将它们添加到主机活动中 我的问题是,显然我无法访问或添加资源(字符串、绘图、布局)到我下载的包中,因为它们不随主机APK提供。可以为我的可下载JAR/APK动态加载资源吗?你可以“动态”下载任何你想要的资源,将它们放在你选择的目录中,然后在你的应用程序中使用它们。这就是我目前在应用程序中所做的

我正在尝试使用下载我的应用程序中的JAR/APK。我想将我的应用程序模块化,这样我就可以下载用户可能需要的UI流,而不是将它们一起发送到我的主应用程序中

加载实际的类效果很好,我设法加载了一些UI组件,可以将它们添加到主机活动中


我的问题是,显然我无法访问或添加资源(字符串、绘图、布局)到我下载的包中,因为它们不随主机APK提供。可以为我的可下载JAR/APK动态加载资源吗?

你可以“动态”下载任何你想要的资源,将它们放在你选择的目录中,然后在你的应用程序中使用它们。这就是我目前在应用程序中所做的。我认为您不能将它们与项目中的资源放在同一个目录中,但这有关系吗

但是怎么做呢?在下载的代码中,如果我执行anywhere R.string.my_string,则主机应用程序的R文件不包括my_string。事实上,它将成为一个常量,可能指向一个非常不同的字符串。我知道,因为我已经试过了,结果出来的绳子完全不同。布局资源也是如此。我还缺少每个设备配置的Androids动态布局选择。不,您不能轻松地在R文件中包含您自己的资产。但如果你下载了这些资产,你就不必下载了。将字符串和png文件下载到Environment.getExternalStorageDirectory()+“/assetsDir”,然后从那里读取它们。你不能在R文件中包含东西,因为R文件是在编译时生成的,而不是在运行时生成的。我理解并且同意。所以解决这个问题的唯一方法是从/assetsDir中提取并使用它们?我将不得不编写自己的资源加载,这是我试图避免的,因为我可能会丢失不同屏幕和配置的动态资源加载。还有其他想法吗?您可以为不同的屏幕分辨率/尺寸等创建不同的AssetDir,并将该目录的名称放入相应的/res/values/strings.xml文件中。所有这些的缺点是,您将所有资源加载到手机上,而不仅仅是该类型手机的资源。您找到解决方案了吗???看起来像是另一个问题的重复,请查看答案: