黑马程序员技术交流社区

标题: 类似QQ游戏大厅静默安装apkandroid动态加载未安装的apk [打印本页]

作者: 张然龙    时间: 2014-7-17 17:23
标题: 类似QQ游戏大厅静默安装apkandroid动态加载未安装的apk
自己给自己备注的学习资料:
一:一个安装的apk里面的一个TestA要去调用一个放在sd卡上的没安装的apk里面的TestB。
二:TestBActivity运行会报错,大伙不用管,只要拿到TestBActivity运行后的apk,放倒sd卡上就行(注意跟MainActivity里路径的对比),然后运行TestA。点击button就会调用到testb.apk里的类了~~
三:特别强调一点:1.我们知道一个activity具有严格意义上的生命周期必须要在ActivityThread里面去创建,所以通过   DexClassLoader加载的ActivityB是没有生命周期的,它也就是一个普通的类;
2.有人会问,为什么还要让ActivityA 来加载ActivityB,而不是直接ActivityA去load 另外一个类比如classC呢? 这个问题很简单,因为我们在打包成APK的时候,有activity会更方便和直观(自己去体会)。简单的游戏,往往一个activity就够了。那么ActivityA 也仅仅只需要加载一个类实例。
3.假如调用的罪过testB.apk里类要多次跳转就会报空指针异常了,因为我们把它看得太强大了。这里面不能再去跳转了,因为这个Activity是一个普通的类(通过反射后得来的),已经没有Activity的特性了,应该是可以有多个View的,但是只能通过new来得,而不是layout
四:关于静默安装一个完整的有生命的activity,要root手机才能,跳过root步骤的方法还没实现,查了很多资料说Ubuntu系统中调试源码就可以实现静默安装了,我Ubuntu系统还没装起来没法调试,据说就算是在Ubuntu系统调试源码也要root手机,关于这点还没确认,麻烦知道的童鞋提醒下。用Ubuntu系统调试源码到底需要不需要root手机~~~



   



源码:[attach]48989[/attach]

类似qq加载未安装的apk.rar

77.57 KB, 下载次数: 150


作者: 一个人的行李~L    时间: 2014-9-2 16:44
不错,很值得学习!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2