frida错误'type': 'error', 'description': "ReferenceError: 'java' is not defined",

问题遇到的现象和发生背景

按照Python3网络爬虫逆向进阶实战学习时,初次使用frida,在运行Python脚本的时候出现了错误错误,一部分是'type': 'error', 'description': "ReferenceError: 'java' is not defined"

问题相关代码

hook_java.js

java.perform(() => {  // perform方法实现hook逻辑
    let MainActivity = java.use("com.germey.apbasic1.MainActivity")
    console.log("start hook")
    MainActivity.getMessage.implementation = (arg1, arg2) => {
        send("Start Hook")
        return '6'
    }
})

hook_java.py


import frida
import sys

CODE = open("Android\\hook_java.js", encoding="utf-8").read()
PROCESS_NAME = "com.germey.appbasic1"  # adb shell ps查看PID


def on_message(message, data):
    print(message)

process = frida.get_usb_device().attach(5724)  # get_use_device获取当前设备,attach挂载对应进程
script = process.create_script(CODE)  # create_script注入Hook脚本
script.on("message", on_message) 
script.load()
sys.stdin.read()
运行结果及报错内容

运行后报错内容如下:

img

我想要达到的结果

按照书中应该点击TEST弹出6

java大小写的问题,把java改成Java即可

app界面

img

java这个变量没有定义,或者忘记从包里面导入