java反射调用String[] wrong number of arguments异常解决

时间:2021-10-26 23:14:00
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package apkeditor.test;

import apkeditor.util.MySignApk;
import java.lang.reflect.Method;

public class TestSign {

    public static void main(String[] args) throws Exception {

        //http://www.codeif.com/post/400/  java反射调用wrong number of arguments异常解决
        
        String cmd = "key.pem key.pk8 D:\\github\\apkeditor\\doc\\testdata\\mlgx_unsign.apk D:\\github\\apkeditor\\doc\\testdata\\mlgx_sign.apk";
        System.out.println(cmd);
        String[] datas = cmd.split(" ");

        //Caused by: java.util.zip.ZipError: jzentry == 0, jzfile = 87699808, 可能是jdk版本问题
        Class class1 = Class.forName("com.android.signapk.SignApk");
        // public static void main(String[] args) {
        Method method1 = class1.getMethod("main", new Class[]{String[].class});
        method1.setAccessible(true);
        method1.invoke(class1, (Object) datas);

        MySignApk.main(datas);

    }
}