AutoJS 自動化スクリプト プロジェクトを迅速に構築するためのテンプレート フレームワーク共有

  • このプロジェクトは、AutoJS 自動化スクリプト プロジェクトを迅速に構築するためのテンプレート フレームワークです: https://github.com/TonyJiangWJ/AutoScriptBase

  • 現在実装されている機能は以下の通りです。

    • グラフィカルな構成
    • 複数の異なるスクリプトがフォアグラウンドでプリエンプトされるのを防ぐためのマルチスクリプト実行スケジューリング RunningQueueDispatcher
    • LockableStorageロックの相互排他という目的を達成するために、マルチスクリプト ロックのサポートをカプセル化し 、書き込みをブロックし、書き込みが成功したかどうかを返します。
    • テキストおよび ID コントロールに基づいた通常の検索ツールをカプセル化し WidgetUtils、コントロールの待機、一致するコントロールのバッチ取得などをサポートします。
    • ログ ツールは LogUtilsログをファイルに保存でき、ログ レベル error\warn\info\log\debug をサポートし、異なるレベルのログがコンソールに異なる色で表示され、ログ ファイルを開いた後、ログ ファイルは異なるファイルに書き込まれます。
      • ログはファイルへの同期書き込みとファイルへの非同期書き込みをサポートしていますが、これを書き込むのは単にダブル バッファリングと非同期書き込みを実現するためです。
      • 非同期ログ ファイルはすぐにはファイルにフラッシュされず、スクリプトが完全に実行されるまで完全には書き込まれません。
      • したがって、パフォーマンスが必要な場合は、非同期モードを有効にすることを選択し、それ以外の場合は同期モードを使用します。
    • github release api スクリプト手動更新機能をサポート 
    • ルートの自動判定と自動実行操作のバリアフリーをサポート Automator
    • テキストフローティングウィンドウツールをカプセル化します。 FloatyUtil
    • デバイスの自動ロック解除をサポートし、拡張カスタムロック解除もサポートします
    • 画面を自動的にロックするためのシミュレートされたジェスチャをサポートし、拡張されたカスタム ロック画面コードをサポートします
    • Alipay ジェスチャーロック解除をサポート
    • Timers 作者 SuperMonster003のコードによるタイミング タスクの追加のサポート 
    • TryRequestScreenCapture 作者からの スクリーンショットの許可を承認するための自動クリックをサポート SuperMonster003
    • 構成情報のインポートとエクスポートおよび構成情報の暗号化をサポート
    • アクセシビリティ機能はADBの認可後自動的にサポートされますので、ADBの詳しい使い方についてはGoogleやBaiduなどでご自身でご確認ください。別のソフトウェアの場合は、パッケージ名を自分で置き換えてください。Pro バージョンは、 以下から 入手org.autojs.autojspro できます。 context.getPackageName()
    adb シェル pm 許可 org.autojs.autojs android.permission.WRITE_SECURE_SETTINGS
    • ADBの詳しい使い方
    • CommonFunction 実行時データの保存、カウントダウン遅延などの一般的なメソッドをカプセル化します。 
    • lib/autojs-tools.dex 更新用の一部の Java メソッドは にカプセル化されており、スクリプトの実行パフォーマンスを最適化するために使用されます。ソース コードについては、auto-js-toolsを参照してください。
    • 実行すると、 unit/获取当前页面的布局信息.js 現在のページのコントロール テキストと ID 情報を表示して、スクリプトの開発を容易にすることができます。
  • 詳細は各jsファイルの説明情報を参照してください。

開発ノート

    1. このリポジトリをダウンロードする
    1. config.js の CONFIG_STORAGE_NAME と を 変更しますPROJECT_NAME
      // プロジェクトごとに異なる storageName を設定する必要があります。そうしないと、構成情報が混乱します。
      let CONFIG_STORAGE_NAME = 'autoscript_version' 
      let PROJECT_NAME = 'AutoJS Scaffolding'
    1. メインのビジネスロジックコードの開発  、コンテンツ作成など main.js の 置き換えメソッドは 以下を参照してください。mainLoop()core/MainRunner.js
      function MainRunner() { 
    
        this.exec = function () { 
          // メインのビジネス ロジックを実行
        } 
      } 
      module.exports = new MainRunner()

    次に、次のよう main.js に電話します。

      let mainExecutor = require('./core/MainExecutor.js') 
    
      //.. main.js の共通コードは、必要に応じて変更することも、そのままにしておくこともできます。
    
      // 開発モードでは例外キャプチャがラップされないため、これは便利ですエラーメッセージの表示
      if (config.develop_mode) { 
        mainExecutor.exec() 
      } else { 
        try { 
          mainExecutor.exec() 
        } catch (e) { 
          commonFunctions.setUpAutoStart(1) 
          errorInfo('実行例外、1 分後に再起動' + e ) 
          commonFunctions .printExceptionStack(e) 
        } 
      } 
    
      //....
    1. /脚本/次のように、 変更したすべてのコードフォルダーを携帯電話のルートディレクトリに置きます/脚本/AutoScriptBase/
    1. AutoJS ソフトウェアを開き、プルダウンして更新すると表示され、クリックして入力し てAutoScriptBase実行します main.js
    • 5.1 スクリプトの実行はアクセシビリティ サービスに依存します。自動ポップアップ インターフェイスで AutoJS のアクセシビリティ権限を有効にするか、スクリプトが ADB 認証を通じて直接アクセシビリティ権限を自動的に取得できるようにしてください。
    • 5.2 さらに、その他の必要なアプリケーション権限は次 后台弹出界面 显示悬浮窗 修改系统配置(可选) のとおりです。

開発援助

  • オンライン カラー ピッキング ツール:画像 Base64 カラー ピッキング
  • オンライン多点カラーピッキングパス生成: 多点カラーピッキング補助ツール
  • 機能拡張サポートのロック解除:unit/获取锁屏界面控件信息.js
  • 現在、画像のリアルタイム二値化などの 機能は 1 つだけありtest/visual_test/可视化测试工具.js 、実行後にプロンプ​​トに従うだけです。
  • ビジュアル構成ツールは webvie および vue フレームワークに基づいて実装されています。H5 コンテンツは vue_configs の下にあります。新しい構成項目は2 つのファイルvue_configs/js/commponets/configuration.js のみ 変更できconfig.js 、その他の公開ファイルは無視できます。vueを知っている場合は、必要に応じて変更できます

おすすめ

転載: blog.csdn.net/m0_55125030/article/details/113838532