Files
AutoJs6/.readme/template_readme.md
2025-01-01 17:15:17 +08:00

347 lines
22 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!--suppress HtmlDeprecatedAttribute, HttpUrlsUsage -->
<div align="center">
<p>
<img src="https://s1.imagehub.cc/images/2023/03/07/af8ed087c9d354b9ab6142aae7bbafb6.png" alt="autojs6-banner_800×224" border="0" width="704" />
</p>
<p>{{ text_autojs6_synopsis }}</p>
<p>
<a href="http://download.autojs6.com"><img alt="GitHub release (latest by date)" src="https://img.shields.io/github/v/release/SuperMonster003/AutoJs6"/></a>
<a href="http://issues.autojs6.com"><img alt="GitHub closed issues" src="https://img.shields.io/github/issues/SuperMonster003/AutoJs6?color=009688"/></a>
<a href="http://commit.autojs6.com/99a1d8490fac5b6d55f6f183db59ad833a2064ed"><img alt="Created" src="https://img.shields.io/date/1636632233?color=2e7d32&label=created"/></a>
<br>
<a href="https://github.com/mozilla/rhino"><img alt="Rhino" src="https://img.shields.io/badge/rhino-1.7.16--snapshot-A24232"/></a>
<a href="https://developer.android.com/studio/archive"><img alt="Android Studio" src="https://img.shields.io/badge/android%20studio-2022.1+-B64FC8"/></a>
<br>
<a href="https://www.codefactor.io/repository/github/SuperMonster003/AutoJs6"><img alt="CodeFactor Grade" src="https://www.codefactor.io/repository/github/SuperMonster003/AutoJs6/badge"/></a>
<a href="https://www.jetbrains.com/?from=AutoJs6"><img alt="JetBrains supporter" src="https://img.shields.io/badge/supporter-JetBrains-ee4677"/></a>
<a href="http://project.autojs6.com/blob/master/LICENSE"><img alt="GitHub License" src="https://img.shields.io/github/license/SuperMonster003/AutoJs6?color=534BAE"/></a>
</p>
</div>
******
### {{ h3_languages_with_ascii }}
******
{{ p_languages_all_supported_for_readme }}:
{{ placeholder_ul_languages_all_supported }}
******
### {{ h3_introduction }}
******
{{ p_introduction_autojs_definition }}.
{{ p_introduction_autojs_released_information }}.
{{ p_introduction_autojs6_is_based_on_autojs }}.
{{ p_introduction_related_autojs_table_announce }}:
| <span style="word-break:keep-all;white-space:nowrap">{{ table_header_introduction_related_autojs_project }}</span> | <span style="word-break:keep-all;white-space:nowrap">{{ table_header_introduction_related_autojs_app_name }}</span> | <span style="word-break:keep-all;white-space:nowrap">{{ table_header_introduction_related_autojs_developer }}</span> | <span style="word-break:keep-all;white-space:nowrap">{{ table_header_introduction_related_autojs_development_start_date }}</span> | <span style="word-break:keep-all;white-space:nowrap">{{ table_header_introduction_related_autojs_development_end_date }}</span> |
|:------------------------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------------------------:|
| <span style="word-break:keep-all;white-space:nowrap">[Auto.js](https://github.com/hyb1996/Auto.js)</span> | <span style="word-break:keep-all;white-space:nowrap">[Auto.js](https://github.com/TonyJiangWJ/Auto.js/commit/268ec8895bbfa28fc7715154eb15b1c1eaaefd14#diff-5e01f7d37a66e4ca03deefc205d8e7008661cdd0284a05aaba1858e6b7bf9103R2)</span> | <span style="word-break:keep-all;white-space:nowrap">[hyb1996](https://github.com/hyb1996)</span> | <span style="word-break:keep-all;white-space:nowrap">`2017/01/27`</span> | <span style="word-break:keep-all;white-space:nowrap">`2020/03/13`</span> |
| <span style="word-break:keep-all;white-space:nowrap">Auto.js Pro 7</span> | <span style="word-break:keep-all;white-space:nowrap">Auto.js</span> | <span style="word-break:keep-all;white-space:nowrap">[hyb1996](https://github.com/hyb1996)</span> | <span style="word-break:keep-all;white-space:nowrap">`2019/03/13`</span> | <span style="word-break:keep-all;white-space:nowrap">`2019/07/08`</span> |
| <span style="word-break:keep-all;white-space:nowrap">Auto.js Pro 8</span> | <span style="word-break:keep-all;white-space:nowrap">AutoJsPro</span> | <span style="word-break:keep-all;white-space:nowrap">[hyb1996](https://github.com/hyb1996)</span> | <span style="word-break:keep-all;white-space:nowrap">`2019/10/13`</span> | <span style="word-break:keep-all;white-space:nowrap">`2021/07/24`</span> |
| <span style="word-break:keep-all;white-space:nowrap">[Auto.js](https://github.com/TonyJiangWJ/Auto.js)</span> | <span style="word-break:keep-all;white-space:nowrap">[Auto.js&#160;M](https://github.com/TonyJiangWJ/Auto.js/commit/268ec8895bbfa28fc7715154eb15b1c1eaaefd14#diff-5e01f7d37a66e4ca03deefc205d8e7008661cdd0284a05aaba1858e6b7bf9103R2)</span> | <span style="word-break:keep-all;white-space:nowrap">[TonyJiangWJ](https://github.com/TonyJiangWJ)</span> | <span style="word-break:keep-all;white-space:nowrap">`2019/11/21`</span> | <span style="word-break:keep-all;white-space:nowrap">-</span> |
| <span style="word-break:keep-all;white-space:nowrap">[AutoX](https://github.com/kkevsekk1/AutoX)</span> | <span style="white-space:pre">[Autox.js](https://github.com/kkevsekk1/AutoX/commit/8143e4ed893d4af05d22aa791b83a962f9959873#diff-5e01f7d37a66e4ca03deefc205d8e7008661cdd0284a05aaba1858e6b7bf9103R2)</span> | <span style="word-break:keep-all;white-space:nowrap">[kkevsekk1](https://github.com/kkevsekk1)</span> | <span style="word-break:keep-all;white-space:nowrap">`2020/07/24`</span> | <span style="word-break:keep-all;white-space:nowrap">-</span> |
| <span style="word-break:keep-all;white-space:nowrap">[Auto.js Pro 9](https://pro.autojs.org/)</span> | <span style="word-break:keep-all;white-space:nowrap">AutoJsPro</span> | <span style="word-break:keep-all;white-space:nowrap">[hyb1996](https://github.com/hyb1996)</span> | <span style="word-break:keep-all;white-space:nowrap">`2021/03/28`</span> | <span style="word-break:keep-all;white-space:nowrap">`2023/02/09`</span> |
| <span style="word-break:keep-all;white-space:nowrap">[AutoJs6](https://github.com/SuperMonster003/AutoJs6)</span> | <span style="word-break:keep-all;white-space:nowrap">[AutoJs6](https://github.com/SuperMonster003/AutoJs6/commit/a8ce1b9acb541e9736c33134be3194c3148a15a3#diff-833a46a97033e77558372a2dce103fd6fee29aaaa899f610022a7aece592ee7bR27)</span> | <span style="word-break:keep-all;white-space:nowrap">[SuperMonster003](https://github.com/SuperMonster003)</span> | <span style="word-break:keep-all;white-space:nowrap">`2021/12/01`</span> | <span style="word-break:keep-all;white-space:nowrap">-</span> |
| <span style="word-break:keep-all;white-space:nowrap">[AutoX](https://github.com/kkevsekk1/AutoX)</span> | <span style="white-space:pre">[Autox.js&#160;v6](https://github.com/kkevsekk1/AutoX/commit/8b6776cff8b0fca4be4a52719b7d7d07c0a058f3#diff-51a0b488f963eb0be6c6599bf5df497313877cf5bdff3950807373912ac1cdc9R130)</span> | <span style="word-break:keep-all;white-space:nowrap">[wilinz](https://github.com/wilinz)</span> | <span style="word-break:keep-all;white-space:nowrap">`2022/05/26`</span> | <span style="word-break:keep-all;white-space:nowrap">-</span> |
| <span style="word-break:keep-all;white-space:nowrap">[AutoX](https://github.com/kkevsekk1/AutoX)</span> | <span style="white-space:pre">[Autox.js&#160;v7](https://github.com/kkevsekk1/AutoX/commit/484491fd5fe12b8203d0b09c181eb0f471c0ea9f#diff-8cff73265af19c059547b76aca8882cbaa3209291406f52df1dafbbc78e80c46R120)</span> | <span style="word-break:keep-all;white-space:nowrap">[aiselp](https://github.com/aiselp)</span> | <span style="word-break:keep-all;white-space:nowrap">`2024/04/21`</span> | <span style="word-break:keep-all;white-space:nowrap">-</span> |
{{ p_introduction_related_autojs_table_date_is_estimated }}.
{{ p_introduction_related_autojs_table_app_is_free_or_not }}.
******
### {{ h3_functions }}
******
* {{ li_function_ide_features }}
* {{ li_function_accessibility_service_support }}
* {{ li_function_floating_button_quick_actions }}
* {{ li_function_selector_api_support }}
* {{ li_function_layout_analysis_support }}
* {{ li_function_recording_and_playback_support }}
* {{ li_function_screenshot_and_image_matching_support }}
* {{ li_function_e4x_support }}
* {{ li_function_packaging_to_apk_support }}
* {{ li_function_root_features_support }}
* {{ li_function_tasker_plugin_support }}
* {{ li_function_vscode_integration_support }}
******
### {{ h3_environment }}
******
- {{ li_environment_android_os }}
- {{ li_environment_api_requirement }}
******
### {{ h3_manual }}
******
* [{{ li_manual_documentation }}](https://docs.autojs6.com)
* [{{ li_manual_user_manual }}](https://docs.autojs6.com/#/manual)
* [{{ li_manual_troubleshooting }}](https://docs.autojs6.com/#/qa)
* [{{ h3_project_compilation_and_build }}](#project-compilation-and-build)
* [{{ h3_script_development_assistance }}](#script-development-assistance)
******
### {{ h3_major_changes }}
******
{{ p_major_changes_autojs6_version_updates }}:
* {{ li_major_changes_shizuku_adb_privileges_support }}
* {{ li_major_changes_websocket_support }}
* {{ li_major_changes_new_modules }}
* {{ li_major_changes_multilingual_support }}
* {{ li_major_changes_night_mode_support }}
* {{ li_major_changes_vscode_plugin_support }}
* {{ li_major_changes_rhino_engine_upgrade }}
* {{ li_rhino_feature_unicode_code_point_escapes_support }}
```javascript
'\u{1D160}'; /* {{ text_stands_for }} "𝅘𝅥𝅮", {{ text_traditional_method_lowercase }}: '\uD834\uDD60'. */
```
* {{ li_rhino_feature_object_values_support }}
```javascript
Object.values({name: 'Max', age: 4}); // ['max', 4]
```
* {{ li_rhino_feature_array_includes_support }}
```javascript
[10, 20, NaN].includes(20); // true
```
* {{ li_rhino_feature_bigint_support }}
```javascript
typeof 567n === 'bigint'; // true
```
* {{ li_rhino_feature_template_strings_support }}
```javascript
`Lucky number: ${(Math.random() * 100).toFixed(0)}`
```
* {{ li_rhino_feature_rhino_engine_new_features }}
* {{ li_rhino_feature_rhino_engine_compatibility_list }}
******
### {{ h3_version_histories }}
******
{{ placeholder_latest_three_version_histories }}
##### {{ h5_for_more_version_history }}
* {{ placeholder_read_more_in_changelog_md }}
******
### <a id="project-compilation-and-build"></a>{{ h3_project_compilation_and_build }}
******
{{ p_project_compilation_and_build_android_studio_intellij_idea }}.
{{ p_project_compilation_and_build_android_studio_build_methods }}.
#### {{ h4_android_studio_preparation }}
{{ p_android_studio_preparation_download_android_studio }}:
- [{{ android_studio_latest_recommended_file_name_of_exe }}]({{ android_studio_latest_recommended_download_address_of_exe }}) ({{ android_studio_latest_recommended_file_size_of_exe }})
- [{{ android_studio_latest_recommended_file_name_of_zip }}]({{ android_studio_latest_recommended_download_address_of_zip }}) ({{ android_studio_latest_recommended_file_size_of_zip }})
> {{ bq_annotation_android_studio_release_date_note }}.
{{ p_android_studio_preparation_install_android_studio }}.
#### {{ h4_android_sdk_preparation }}
> {{ bq_annotation_android_sdk_preparation_skip_if_sdk_installed }}.
{{ p_android_sdk_preparation_open_settings_android_studio }}:
```text
{{ step_appearance_behavior }} {{ symbol_arrow }}
{{ step_system_settings }} {{ symbol_arrow }}
{{ step_android_sdk_location }}
```
{{ p_android_sdk_preparation_edit_sdk_location }}.
> {{ bq_annotation_android_sdk_preparation_accept_agreements }}.
{{ p_android_sdk_preparation_finish_sdk_installation }}.
{{ p_android_sdk_preparation_auto_sdk_location_filled }}.
#### {{ h4_android_sdk_tools_preparation }}
{{ p_android_sdk_tools_preparation_sdk_tools_required }}.
> {{ bq_annotation_android_sdk_tools_preparation_skip_if_tools_installed }}.
{{ p_android_sdk_tools_preparation_sdk_tools }}:
```text
{{ step_sdk_appearance_behavior }} {{ symbol_arrow }}
{{ step_sdk_system_settings }} {{ symbol_arrow }}
{{ step_sdk_android_sdk }} {{ symbol_arrow }}
{{ step_sdk_tools_show_details }}
```
{{ p_android_sdk_tools_preparation_show_package_details }}.
#### {{ h4_jdk_preparation }}
{{ p_jdk_preparation_jdk_version_requirements }}.
{{ p_jdk_preparation_jdk_max_supported_version }}.
> {{ bq_annotation_jdk_preparation_skip_if_jdk_installed }}.
{{ p_jdk_preparation_download_jdk }}.
{{ p_jdk_preparation_open_jdk_settings }}:
```text
{{ step_build_execution_deployment }} {{ symbol_arrow }}
{{ step_build_tools }} {{ symbol_arrow }}
Gradle
```
{{ p_jdk_preparation_select_gradle_jdk }}.
{{ p_jdk_preparation_select_existing_jdk }}.
{{ p_jdk_preparation_download_new_jdk }}.
{{ p_jdk_preparation_add_existing_jdk }}.
#### {{ h4_autojs6_resources_cloning }}
{{ p_autojs6_resources_cloning_clone_from_vcs }}.
{{ p_autojs6_resources_cloning_fill_url }},
{{ p_autojs6_resources_cloning_fill_directory }}.
{{ p_autojs6_resources_cloning_click_clone_button }}.
> {{ bq_annotation_autojs6_resources_cloning_install_git_note }}.
#### {{ h4_autojs6_project_building }}
{{ p_autojs6_project_cloning_autobuild_dependencies }}.
> {{ bq_annotation_autojs6_project_cloning_retry_clone }}.
{{ p_autojs6_project_cloning_build_successful }}.
{{ p_autojs6_project_cloning_debug_version_apk }}:
- {{ step_debug_version_path }}
- {{ step_generate_debug_apk }} {{ symbol_arrow }} `Build Bundle(s) / APK(s)` {{ symbol_arrow }} `Build APK(s)`
- {{ step_debug_apk_path }}
- {{ step_example_debug_path }}
- {{ step_release_version_apk }}
- {{ step_release_version_path }} {{ symbol_arrow }} `Generate Signed Bundle / APK`
- {{ step_select_apk_option }}
- {{ step_prepare_signing_file }}
- {{ step_example_release_path }}
> {{ text_reference }}: [Android Docs](https://developer.android.com/studio/run?hl=zh-cn)
******
### <a id="script-development-assistance"></a>{{ h3_script_development_assistance }}
******
{{ li_development_assistance_develop_scripts_for_autojs6 }}:
- [VSCode](https://code.visualstudio.com/download) / [WebStorm](https://www.jetbrains.com/webstorm/download/) / [HBuilderX](https://www.dcloud.io/hbuilderx.html) ...
{{ li_development_assistance_vscode_plugin_pc_script_development }}:
- {{ li_development_assistance_project_autojs6_vscode_extension }}
{{ li_development_assistance_code_completion_assist_development }}:
- {{ li_development_assistance_project_autojs6_typescript_declarations }}
{{ li_development_assistance_autojs6_api_reference_docs }}:
- {{ li_development_assistance_project_autojs6_documentation }}
{{ li_development_assistance_existing_projects_inspiration }}:
- {{ li_development_assistance_projects_inspiration_ant_forest_tonyjiangwj }}
- {{ li_development_assistance_projects_inspiration_ant_forest_supermonster003 }}
- {{ li_development_assistance_projects_inspiration_autojs_util_scripts_e1399579 }}
- {{ li_development_assistance_projects_inspiration_autojs_demo_snailuncle }}
- {{ li_development_assistance_projects_inspiration_autojs_related_repos }}
******
### {{ h3_contribution }}
******
{{ p_contribution_table_thank_all_contributors }}.
| <span style="word-break:keep-all;white-space:nowrap">{{ table_header_contribution_contributors }}</span> | <span style="word-break:keep-all;white-space:nowrap">{{ table_header_contribution_number_of_commits }}</span> | <span style="word-break:keep-all;white-space:nowrap">{{ table_header_contribution_recent_submissions }}</span> |
|:----------------------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------------------------:|
| <span style="word-break:keep-all;white-space:nowrap">[luckyloogn](https://github.com/luckyloogn)</span> | <span style="word-break:keep-all;white-space:nowrap">[3](https://github.com/SuperMonster003/AutoJs6/commits?author=luckyloogn)</span> | <span style="word-break:keep-all;white-space:nowrap">`2025/01/01`</span> |
| <span style="word-break:keep-all;white-space:nowrap">[kvii](https://github.com/kvii)</span> | <span style="word-break:keep-all;white-space:nowrap">[1](https://github.com/SuperMonster003/AutoJs6/commits?author=kvii)</span> | <span style="word-break:keep-all;white-space:nowrap">`2024/10/16`</span> |
| <span style="word-break:keep-all;white-space:nowrap">[chenguangming](https://github.com/chenguangming)</span> | <span style="word-break:keep-all;white-space:nowrap">[2](https://github.com/SuperMonster003/AutoJs6/pulls?q=is%3Apr+author%3Achenguangming)</span> | <span style="word-break:keep-all;white-space:nowrap">`2024/05/14`</span> |
| <span style="word-break:keep-all;white-space:nowrap">[LZX284](https://github.com/LZX284)</span> | <span style="word-break:keep-all;white-space:nowrap">[17](https://github.com/SuperMonster003/AutoJs6/commits?author=LZX284)</span> | <span style="word-break:keep-all;white-space:nowrap">`2023/11/19`</span> |
| <span style="word-break:keep-all;white-space:nowrap">[TonyJiangWJ](https://github.com/TonyJiangWJ)</span> | <span style="word-break:keep-all;white-space:nowrap">[4](https://github.com/SuperMonster003/AutoJs6/commits?author=TonyJiangWJ)</span> | <span style="word-break:keep-all;white-space:nowrap">`2023/10/31`</span> |
| <span style="word-break:keep-all;white-space:nowrap">[little&#x2011;alei](https://github.com/little-alei)</span> | <span style="word-break:keep-all;white-space:nowrap">[12](https://github.com/SuperMonster003/AutoJs6/commits?author=little-alei)</span> | <span style="word-break:keep-all;white-space:nowrap">`2023/07/12`</span> |
| <span style="word-break:keep-all;white-space:nowrap">[aiselp](https://github.com/aiselp)</span> | <span style="word-break:keep-all;white-space:nowrap">[6](https://github.com/SuperMonster003/AutoJs6/pulls?q=is%3Apr+author%3Aaiselp)</span> | <span style="word-break:keep-all;white-space:nowrap">`2023/06/14`</span> |
| <span style="word-break:keep-all;white-space:nowrap">[LYS86](https://github.com/LYS86)</span> | <span style="word-break:keep-all;white-space:nowrap">[2](https://github.com/SuperMonster003/AutoJs6/commits?author=LYS86)</span> | <span style="word-break:keep-all;white-space:nowrap">`2023/06/03`</span> |
{{ p_contribution_table_data_updated_on }}.
{{ p_contribution_table_data_entries_sorted_by_recent_submissions }}.
{{ p_contribution_table_new_pull_requests_pending_processing }}.
{{ p_contribution_table_some_contributors_not_appearing }}.
[//]: # (
# --------------------------------------------------------------#
# Before committing and pushing to the remote GitHub repository #
# --------------------------------------------------------------#
- CHANGELOG.md
- Update entries for AutoJs6 by checking all changed files
- Update entries for Gradle plugins [ implementation ]
- Update version name and released date
- Append related GitHub issues to changelog entries
- README.md
- The summary of the latest changelog for committing to Git [ DO NOT commit or push ]
- Update badges like [ android studio / rhino / ... ]
- Update android studio download links and version names
- Update contribution section
- Remove the part like [ alpha / beta / ... ] of VERSION_NAME in version.properties
- Update dependencies TypeScript declarations if needed.
- Re-generate documentation/markdown by running the python script
- Check the two-way versions for AutoJs6 and VSCode ext, then publish the ext to Microsoft
- Run Gradle task "app:assembleInrtRelease"
- Build APK to determine the final VERSION_BUILD field
- Run Gradle task "app:appendDigestToReleasedFiles"
- Commit and push to GitHub
- Publish the latest release with signed APKs
)