B2BÍøÂçÈí¼þ

 ÕÒ»ØÃÜÂë
 Á¢¼´×¢²á ÉóºËÍøÕ¾ºÅ:QQ:896757558
ËÑË÷
²é¿´: 9|»Ø¸´: 0
´òÓ¡ ÉÏÒ»Ö÷Ìâ ÏÂÒ»Ö÷Ìâ

loadDex ¼ÓÔØ²å¼þºÍTomatoOCRʵÀýÑÝʾ

[¸´ÖÆÁ´½Ó]

889

Ö÷Ìâ

894

Ìû×Ó

6832

»ý·Ö

abc

Rank: 9Rank: 9Rank: 9

»ý·Ö
6832
Ìø×ªµ½Ö¸¶¨Â¥²ã
Â¥Ö÷
loadDex ¼ÓÔØ²å¼þºÍTomatoOCRʵÀýÑÝʾ

˵Ã÷:¿ÉÒÔʹÓð²×¿studio ¿ª·¢³öapk,jar,»òÕßdexʹÓô˷½·¨¼ÓÔØÄ£¿é,
×¢Òâ:²å¼þÖ±½Ó·Åµ½²å¼þÎļþ¼ÐÖÐÈ»ºóÉÏ´«µ½ÊÖ»ú
Ó¢ÎÄ·½·¨: loadDex(plugin)£¬¼ÓÔØ²å¼þµ½ÏµÍ³

²ÎÊý£º

loadDex ¼ÓÔØ²å¼þºÍTomatoOCRʵÀýÑÝʾ B2BÍøÂçÈí¼þ

loadDex ¼ÓÔØ²å¼þºÍTomatoOCRʵÀýÑÝʾ B2BÍøÂçÈí¼þ loadDex ¼ÓÔØ²å¼þºÍTomatoOCRʵÀýÑÝʾ B2BÍøÂçÈí¼þ
plugin:²å¼þÃû³ÆÀýÈçµ¼ÈëµÄ²å¼þΪ p1.dex,Ôò²ÎÊýÃû¾ÍÌîд loadPlugin(¡®p1.dex¡¯)

°¸Àý:

//µ¼ÈëdexÄ£¿é
rhino.loadDex('p1.dex')

//µ¼ÈëapkÄ£¿é
rhino.loadDex('demo.apk')

importClass µ¼Èë²å¼þÖеÄÀà

·½·¨ËµÃ÷:ͨ¹ýÕâ¸ö·½·¨¿ÉÒÔµ¼Èë²å¼þÀï±àдºÃµÄÀà
Ó¢ÎÄ·½·¨:importClass(class);
ÖÐÎÄ·½·¨:µ¼ÈëÀà(ÀàµØÖ·,Àà±ðÃû);
²ÎÊý:
class:ÀàµØÖ· ÀýÈç com.autoapp.pluginsdemo.demo

°¸Àý:

//µ¼Èë²å¼þÎļþ
rhino.loadDex('demo.apk')
//Èç¹ûÐèÒªÒýÓöà¸öapk ÐèÒª¼ÓÉÏÀർÈë
rhino.loadClass("com.autoapp.pluginsdemo.demo")
//ÒýÓÃÀà
importClass(com.autoapp.pluginsdemo.demo);
var demo1=new demo();
printl(demo1.hello());

ʹÓ÷½·¨£º
1.ÏÂÔØ
Á´½Ó: https://www.123pan.com/s/NiUnjv-V8sg3.html
ÌáÈ¡Âë: qhbz

2.ʹÓÃÒÔÏ´úÂëʶ±ðOCR

//¼ÓÔØ²å¼þ

try{
     rhino.loadDex('TomatoOCR.apk')
     sleep.second(1);
     //µ¼ÈëÀà
     rhino.loadClass("com.tomato.ocr.aw.OCRApi")
     importClass(com.tomato.ocr.aw.OCRApi);
}catch(e){
     rhino.clearDex();
     rhino.loadDex('TomatoOCR.apk')
     sleep.second(1);
     importClass(com.tomato.ocr.aw.OCRApi)
}




//³õʼ»¯
var ocr= new OCRApi();
ocr.setContext(context);

//½ØÍ¼ºÍʶ±ð
var img=screen.screenShot(screen.getScreenWidth()/2,screen.getScreenHeight()/2,100)
printl(img)
var res=ocr.ocrBase64(img.toBase64(),-1);
printl(res)

ÒÔÏÂÊÇÍøÓÑÌṩµÄ·â×°°¸Àý

¸´ÖÆvar TM = {};


/*================================== ocrÀà ==================================*/
//¼ÓÔØ²å¼þ
//rhino.loadDex('TomatoOCR.apk',"armeabi-v7a")
rhino.loadDex('TomatoOCR.apk')
//µ¼ÈëÀà
try {
  //¶à²å¼þµ÷ÓñØÐëµ¼ÈëÀà
  rhino.loadClass('com.tomato.ocr.aw.OCRApi');
  importClass(com.tomato.ocr.aw.OCRApi)
} catch (error) {
  FZ.printll(error)
}


var ocr = new OCRApi();

let rec_type = "ch-3.0";
//×¢£ºch¡¢ch-2.0¡¢ch-3.0°æ¿ÉÇл»Ê¹Ó㬶Բ¿·Ö³¡¾°¿ÉÊʵ±µ÷Õû
//-- "ch"£ºÆÕͨÖÐÓ¢ÎÄʶ±ð£¬1.0°æÄ£ÐÍ
//-- "ch-2.0"£ºÆÕͨÖÐÓ¢ÎÄʶ±ð£¬2.0°æÄ£ÐÍ
//-- "ch-3.0"£ºÆÕͨÖÐÓ¢ÎÄʶ±ð£¬3.0°æÄ£ÐÍ
//-- "cht"£º·±Ì壬"japan"£ºÈÕÓ"korean"£ºº«Óï
ocr.setContext(context, rec_type);

// ÊÔÓðælicense´ÓȺÖлñÈ¡»òÕßÍøÅÌÖлñÈ¡
let license = "×Ô¼ºÕÒ×÷Õß»ñÈ¡"
let flag = ocr.setLicense(license);
//printl(flag)
// flag= -1: ÎÞЧlicense
// flag= 0 : ¹ýÆÚlicense
// flag= 1 »ò µ½ÆÚÈÕÆÚ : ÊÔÓÃlicense»òÕýʽlicense

ocr.setDetBoxType("rect")  // µ÷Õû¼ì²âÄ£Ðͼì²âÎı¾²ÎÊý- ĬÈÏ"rect": ÓÉÓÚÊÖ»úÉϽØÍ¼Îı¾¾ùΪ¾ØÐÎÎı¾£¬´Ó¸Ã°æ±¾Ö®ºó¾ù¸ÄΪrect£¬"quad"£º¿É׼ȷ¼ì²âÇãбÎı¾
ocr.setDetUnclipRatio(1.9)  // µ÷Õû¼ì²âÄ£Ðͼì²âÎı¾²ÎÊý - ĬÈÏ1.9: Öµ·¶Î§1.6-2.5Ö®¼ä
ocr.setRecScoreThreshold(0.3)  // ʶ±ðµÃ·Ö¹ýÂË - ĬÈÏ0.1£¬Öµ·¶Î§0.1-0.9Ö®¼ä
ocr.setReturnType("json")
// ·µ»ØÀàÐÍ - ĬÈÏ"json": °üº¬µÃ·Ö¡¢×ø±êºÍÎÄ×Ö£»
//"text"£º´¿ÎÄ×Ö£»
//"num"£º´¿Êý×Ö£»
//×Ô¶¨ÒåÊäÈëÏëÒª·µ»ØµÄÎı¾£º".£¤1234567890"£¬½öÖ»·µ»ØÕâЩÄÚÈÝ

var type = 3;
// type ¿É´«¿É²»´«
// type=0 : Ö»¼ì²â
// type=1 : ·½Ïò·ÖÀà + ʶ±ð
// type=2 : ֻʶ±ð
// type=3 : ¼ì²â + ʶ±ð

// Ö»¼ì²âÎÄ×ÖλÖãºtype=0
// È«ÆÁʶ±ð: type=3»òÕß²»´«type
// ½ØÈ¡µ¥ÐÐÎÄ×Öʶ±ð£ºtype=1»òÕßtype=2
/*================================== ocrÀà ==================================*/

/*================================== ocr·â×° ==================================*/
// tmstr=""    ʶ±ðµÄÎÄ×Ö
// tmsize=[]    ʶ±ð°Ù·Ö±ÈÇøÓò
// tmclick=true/false   ÊÇ·ñµã»÷
// tmcoor1, tmcoor2   Æ«ÒÆ×ø±ê·¶Î§
// tmslee     µã»÷ºóÐÝϢʱ¼ä
TM.tmocrʶ±ð = function (tmstr, tmsize, tmclick, tmcoor1, tmcoor2, tmslee) {
  //ËÄÉáÎåÈëÈ¡Õû£¬°Ù·Ö±È×ø±ê×ªÕæÊµ×ø±ê
  var tma = Math.round(tmsize[0] * wdh)
  var tmb = Math.round(tmsize[1] * hgt)
  //var tmc = Math.round(tmsize[2] * wdh)
  //var tmd = Math.round(tmsize[3] * hgt)
  //printl(tmsize[0])
  //printl(tma)
  var img0 = screen.screenShotFull()
  sleep.millisecond(10)
  //°Ù·Ö±È²Ã¼ô
  var img = img0.cutImagePercent(tmsize[0], tmsize[1], tmsize[2], tmsize[3])
  sleep.millisecond(10)
  //var img = screen.screenShot(screen.getScreenWidth() / 2, screen.getScreenHeight() / 2, 100)
  var result3 = ocr.ocrBase64(img.toBase64(), type);
  //printl(result3)
  try {
    if (result3 != "") {
      var result3 = JSON.parse(result3)
      var point = this.findStrCenter(result3, tmstr)//ʶ±ð
      //printl(point[0], point[1])
      if (point[0] >= 0) {
        FZ.printll(tmstr)
        var tme = point[0] + tma
        var tmf = point[1] + tmb
        printl(tme, tmf)
        if (tmclick == true) {
          hid.click(tme + rand.randNumber(tmcoor1, tmcoor2), tmf + rand.randNumber(tmcoor1, tmcoor2))
          sleep.millisecond(tmslee)
        }

        img0.recycle()
        img.recycle()
        return true
      } else {

        img0.recycle()
        img.recycle()
        return false
      }
    }
  } catch (err) {
    printl(err)
  }
}

//ÇøÓòÕÒ×Ö·µ»Ø×ø±ê
TM.tmocrʶ±ð×ø±ê = function (tmstr, tmsize) {
  //ËÄÉáÎåÈëÈ¡Õû£¬°Ù·Ö±È×ø±ê×ªÕæÊµ×ø±ê
  var tma = Math.round(tmsize[0] * wdh)
  var tmb = Math.round(tmsize[1] * hgt)

  var img0 = screen.screenShotFull()
    sleep.millisecond(10)
    //°Ù·Ö±È²Ã¼ô
    var img = img0.cutImagePercent(tmsize[0], tmsize[1], tmsize[2], tmsize[3])
    sleep.millisecond(10)
    //var img = screen.screenShot(screen.getScreenWidth() / 2, screen.getScreenHeight() / 2, 100)
    var result3 = ocr.ocrBase64(img.toBase64(), type);
    //printl(result3)
    try {
        if (result3 != "") {
            var result3 = JSON.parse(result3)
            var point = this.findStrCenter(result3, tmstr)//ʶ±ð
            //printl(point[0], point[1])
            if (point[0] >= 0) {
                FZ.printll(tmstr)
                var tme = point[0] + tma
                var tmf = point[1] + tmb
                printl(tme, tmf)
                var poin = [tme, tmf]

                img0.recycle()
                img.recycle()
                return poin
            } else {

                img0.recycle()
                img.recycle()
                return false
            }
        }
    } catch (err) {
        printl(err)
    }
}


TM.findStrCenter = function (result_list, data) {
    all_result = []
    for (let i = 0; i < result_list.length; i++) {
        var words = result_list["words"]
        var location = result_list["location"]
        var pos = words.indexOf(data);
        if (pos >= 0) {
            let w_len = words.length
            let d_len = data.length

            let x1 = location[0][0]
            let y1 = location[0][1]
            let x2 = location[2][0]
            let y2 = location[2][1]

            let x = Math.floor((x2 - x1) / w_len * (d_len + 2 * pos) / 2 + x1)
            let y = Math.floor((y2 - y1) / 2 + y1)

            return [x, y]
        }
    }
    return [-1, -1]
}

//ÄÚ´æÊÍ·Å
//ocr.end()

/*================================== ocr·â×° ==================================*/
»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

±¾°æ»ý·Ö¹æÔò

¹Ø±Õ

QQ|»ÓªÏúÈí¼þ×ÛºÏÌÖÂÛ|»ÓªÏúÈí¼þÓÐÎʱشð|»ÓªÏúÈí¼þ½Ì³Ì×¨Çø|»ÓªÏúÈí¼þPOST½Å±¾·ÖÏí|»ÓªÏúÈí¼þÆÕͨ½Å±¾·ÖÏí|»ÓªÏúÈí¼þÈí¼þ×ÊѶ|»ÓªÏúÈí¼þ¾«Æ·Èí¼þ|»ÓªÏúÈí¼þ¸üй«¸æ|ÓªÏúÈí¼þ|B2BÈí¼þ|B2BÍøÂçÈí¼þ ( ¾©ICP±¸09078825ºÅ )±¾ÍøÕ¾¿ª·¢µÄÓªÏúÈí¼þÊÇÒ»¿îеÄÍøÂçÓªÏúÈí¼þ£¬Õâ¿îÓªÏú¿ÉÒÔÈ¥ÍøÕ¾Èí¼þ£¬²©¿ÍÈí¼þ£¬B2BÈí¼þ£¬·ÖÀàÐÅÏ¢Íø·¢Ìù£¬¿ÉÒÔÇÀɳ·¢£¬¿ÉÒÔµ½°Ù¶ÈÎÄ¿âÉÏ´«WORDÎĵµ£¬¿ÉÒÔµ½Ò»Ð©ÊÇÏà²áÍøÕ¾×Ô¶¯ÉÏ´«Í¼Æ¬£¬Õâ¸ö×Ô¶¯·¢ÌûÈí¼þ×Ô´øÔÆÖ©Ö룬¼Ó¿ìÊÕ¼£¬ÓÐ6ÖÖ¶Ô½Ó´òÂë½Ó¿Ú£¬·½±ã£¬Ð§Âʸߣ¬Ëٶȿ죬¶øÇÒ¶ÔÍ϶¯µÄÑéÖ¤ÂëÈ«ÍøµÚÒ»¼Ò¶À¼ÒÖ§³Ö£¬È«²¿Ô­´´¼¼Êõ£¬¶À¼ÒÑз¢£¬Õý°æÔ­´´´ø°æÈ¨Èí¼þ¡£Ñ¡ÔñÍòÄÜÓªÏúÈí¼þ£¬¾ÍÑ¡ÔñÁËÒ»ÖÖ׬ǮµÄЧÂÊ£¬´ÓûÓб»³¬Ô½¹ý£¬Ò»Ö±ÔÚŬÁ¦Ñз¢Ð¼¼Êõ¡£·Å·ÉÃÎÏ룬½â·ÅË«ÊÖ£¬À´µã´´Ò⣬³É¾ÍÄãµÄÃÎÏ룬¾ÍÔÚÍòÄÜÓªÏúÈí¼þ¿ªÊ¼

map2

GMT+8, 2025-7-4 00:43 , Processed in 0.386433 second(s), 33 queries .

¿ìËٻظ´ ·µ»Ø¶¥²¿ ·µ»ØÁбí