我们先定义dexPath为外部存储根目录下的dynamic_for_android.jar,即到时候从这里去拿dex文件
dexOutputDir这个变量主要是释放dex文件后的路径,因为我们使用DexClassLoader,上面我说到,这种ClassLoader需要这么一个路径
DexClassLoader dcl 这里,就初始化了一个实例,叫dcl,根据上面对ClassLoader的描述,我们可以一个类名,通过这个实例去找,或者生成该类的字节码
利用反射机制的newInstance()方法初始化一个对象,并用父类引用dy 指向该对象,到此多态的实现条件已满足
这个Activity里有一个按钮,但它的onClick方法,调用的是dy的clickMe()
好了,我们把那个dynamic_for_android.jar包push到sd卡的根目录,执行命令:
adb push dynamic_for_android.jar sdcard/
然后,运行一下程序
点击按钮
请联系网站,了解详细的优惠课程信息~
优质、便捷、省心