Java 里面直接把 .class 文件打包到 .jar 文件里面就可以了,但是 Android 的 Dalvik VM 是不认 Java 的byte code 的,所以不能直接这么打包,而要用 dx 工具转成Dalvik byte code 才可以。当然,dx 工具转了之后,jar 包里面就不是 .class 文件了,而是 .dex 文件。
dx.bat命令使用示例如下:dx.bat --dex --output=ReflectionTestJar_dex.jar ReflectionTestJar.jar。
将处理后的jar包放到android项目的assets目录下。
JarUtil.java源代码
package com.android_test.reflection;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.lang.reflect.Method;
import android.content.Context;
import dalvik.system.DexClassLoader;
public class JarUtil {
/**
* 这个方法所加载的jar包通过ad