乐趣区

关于python:python调用jar包内方法

JPype 简介:JPype 是一个可能让 python 代码不便地调用 Java 代码的工具
jpype 装置:pip install jpype1    (装置时要在后边加 1)


jvmPath = jpype.getDefaultJVMPath()
jvmPath 获取 jvm.dll 门路

jarpath = './tools/unidbg-android.jar'
jarpath 要调用的 jar 包门路

jpype.startJVM(jvmPath, "-ea", "-Djava.class.path=%s" % jarpath,"-Dfile.encoding=utf-8",convertStrings=True)

startJVM() 函数的作用是启动 JAVA 虚拟机(实例化)-Dfile.encoding=utf-8 当运行后果与调试时不同时增加
convertStrings 示意是否将 java 类型字符串转换为 python 中的字符串类型
当有依赖的 JAR 包存在时,肯定要应用 -Djava.ext.dirs 参数进行引入

JClass = jpype.JClass('com.DU_APP.DU_sign')(False)
类实例化 False: 如果类没有传参数能够不必写

JClass.encodeByte(sb2).strip('"')
调用办法,有参数传参

jpype.shutdownJVM()     #敞开虚拟机 
退出移动版