Skip to content

۲. اشتباه رایج: اجرا خارج از Perform ​

یکی از خطاهای رایج مبتدیان، تلاش برای دسترسی به Java.use خارج از بدنه Java.perform است. این کار باعث کرش کردن اسکریپت یا دریافت خطای Java API not available می‌شود.

کد فریدا (روش اشتباه - کار نمی‌کند):

javascript
/* این کد خطا می‌دهد! */
try {
    /* خطا: دسترسی به API جاوا ندارید */    
    var Utils = Java.use("com.example.app.Utils")
    console.log(Utils)
} catch (e) {
    console.error("[-] Error: " + e.message) 
    /* خروجی: Error: Java API not available */    
}

چرا کار نمی‌کند؟

چون در خط اول، هنوز اسکریپت شما به ترد اصلی (Main Thread) یا ترد مربوط به جاوا متصل نشده است.

کد درست به این شکل است:

javascript
Java.perform(function() {
    /*  جای درست اینجاست */    
    var Utils = Java.use("com.example.app.Utils")
    console.log(Utils)
})