探秘腾讯android手机游戏平台之不安装游戏apk直接启动法http://blog.zhourunsheng.com/2011/09/
Android用DexClassLoader实现动态调用ja包(此方法是无法加载activity、service等Android特有的累,就算是在Android项目的AndroidManifest中定义也没用。) http://blog.csdn.net/cheligeer1988/article/details/13774271
http://www.cnblogs.com/over140/archive/2011/11/23/2259367.html思考:通过apkA启动apkB后,apkB中的Activity是否就不能再使用setContentView(R.layout.main);的方式来初始化自己的布局?以及在apkB的Activity中,不能再通过R.的形式来在B中使用资源?
- apkB中不能用setContentView(R.layout.main);的方式来初始化自己的布局
- asset中的资源文件无非就是图片,音视频资源和其他格式的文件,一种方式可以通过R.x系统的方式,还有就是通过File读取的方式进行访问,也即IO方式。在这里通过File的inputstream流读取资源文件,而不能用R的方式引用,因为上下文环境已经不同!
在实践的过程中大家都会发现资源引用的问题,这里重点声明两点:
1. 资源文件是不能直接inflate的,如果简单的话直接在程序中用代码书写。
2. 资源文件是不能用R来引用的,因为上下文已经不同了,腾讯的做法是将资源文件打包(*.pak文件和APK打包在一起),虽然APK是没有进行安装,但是资源文件是另外解压到指定文件夹下面的,然后将文件夹的地址传给了第三方应用程序,这样第三方应用程序通过File的inputstream流还是可以读取和使用这些资源的。