一、安装
1、下载地址: https://www.lfd.uci.edu/~gohlke/pythonlibs/#jpype
2、然后用 pip install ****.whl
3、还需要安装 numpy
4、测试 import jpype,如果报错(ImportError:DLL load failed:找不到指定模块),需要进行如下安装
5、下载链接: https://www.microsoft.com/zh-cn/download/details.aspx?id=48145、下载下来然后安装
二、简单调用
from jpype import *
startJVM(getDefaultJVMPath())
java.lang.System.out.println('hello world')
shutdownJVM()
三、调用jar包(apktool.jar)里面的方法
import os
from jpype import *
class Apktool_util:
apktool_dir = r'E:\python_newdemo\apktool'
fremework_dir = os.path.join(r'E:\python_newdemo', 'media')
def __init__(self, apktool='apktool2.3.4.jar', apkfile_path=None, out_path=None):
self.apkfile_path = apkfile_path
self.out_path = out_path
apktool_path = os.path.join(self.apktool_dir, apktool)
startJVM(getDefaultJVMPath(), "-ea", "-Djava.class.path=%s" % apktool_path)
def get_java_file(self, file_path):
java_file_class = JClass('java.io.File')
return java_file_class(file_path)
def decode(self):
decoder = JPackage("brut.androlib").ApkDecoder()
decoder.setOutDir(self.get_java_file(self.out_path))
decoder.setApkFile(self.get_java_file(self.apkfile_path))
decoder.setFrameworkDir(self.fremework_dir)
decoder.decode()
def build(self):
builder = JPackage('brut.androlib').Androlib()
builder.apkOptions.frameworkFolderLocation = self.fremework_dir
result_apk = os.path.join(self.out_path, 'dist', os.path.basename(self.apkfile_path))
build_out_file = self.get_java_file(result_apk)
builder.build(self.get_java_file(self.out_path), build_out_file)
if __name__ == '__main__':
apk_path = r'C:\Users\Administrator\Desktop\123.apk'
apktool_util = Apktool_util()
apktool_util.apkfile_path = apk_path
apktool_util.out_path = r'E:\python_newdemo\apktool000'
apktool_util.build()