708 lines
70 KiB
Markdown
708 lines
70 KiB
Markdown
<!--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>안드로이드 플랫폼에서 접근성 서비스를 지원하는 JavaScript 자동화 도구</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?label=Release"/></a>
|
||
<a href="http://issues.autojs6.com"><img alt="GitHub closed issues" src="https://img.shields.io/github/issues/SuperMonster003/AutoJs6?color=A24232&label=Issues"/></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://developer.android.com/studio/archive"><img alt="Android Studio" src="https://img.shields.io/badge/Android%20Studio-2023.3+-B64FC8"/></a>
|
||
<a href="https://www.jetbrains.com/idea/download/other.html"><img alt="IntelliJ IDEA" src="https://img.shields.io/badge/IntelliJ%20IDEA-2023.3+-EE4677"/></a>
|
||
<br>
|
||
<a href="https://github.com/mozilla/rhino"><img alt="Rhino" src="https://img.shields.io/badge/Rhino-2.0.0--SNAPSHOT-795548"/></a>
|
||
<a href="https://www.jetbrains.com/?from=AutoJs6"><img alt="JetBrains supporter" src="https://img.shields.io/badge/Supporter-JetBrains-AA2786"/></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&label=License"/></a>
|
||
</p>
|
||
</div>
|
||
|
||
******
|
||
|
||
### 언어 (Languages)
|
||
|
||
******
|
||
|
||
현재 README.md 파일에서 지원하는 언어:
|
||
|
||
- [简体中文 [zh-Hans]](http://project.autojs6.com/blob/master/.readme/README-zh-Hans.md)
|
||
- [繁體中文 (香港) [zh-Hant-HK]](http://project.autojs6.com/blob/master/.readme/README-zh-Hant-HK.md)
|
||
- [繁體中文 (台灣) [zh-Hant-TW]](http://project.autojs6.com/blob/master/.readme/README-zh-Hant-TW.md)
|
||
- [English [en]](http://project.autojs6.com/blob/master/.readme/README-en.md)
|
||
- [Français [fr]](http://project.autojs6.com/blob/master/.readme/README-fr.md)
|
||
- [Español [es]](http://project.autojs6.com/blob/master/.readme/README-es.md)
|
||
- [日本語 [ja]](http://project.autojs6.com/blob/master/.readme/README-ja.md)
|
||
- 한국어 [ko] # 현재
|
||
- [Русский [ru]](http://project.autojs6.com/blob/master/.readme/README-ru.md)
|
||
- [العربية [ar]](http://project.autojs6.com/blob/master/.readme/README-ar.md)
|
||
|
||
******
|
||
|
||
### 소개
|
||
|
||
******
|
||
|
||
[Auto.js](https://github.com/hyb1996/Auto.js) Android 플랫폼에서 [접근성 서비스](https://developer.android.com/guide/topics/ui/accessibility/service?hl=zh-cn)를 지원하는 JavaScript 자동화 도구 소프트웨어입니다.
|
||
|
||
Auto.js는 [hyb1996](https://github.com/hyb1996)에 의해 `2017/01/27` 처음 출시되었으며, `2020/03/13` 에 유지보수가 중단되었고, 최종 버전 이름은 `4.1.1 Alpha2`, 빌드 버전 번호는 `461` 입니다.
|
||
|
||
AutoJs6는 Auto.js 최종 프로젝트를 기반으로 `2021/12/01` 에 다시 개발되어 계속해서 오픈 소스로 무료로 유지됩니다.
|
||
|
||
다음 표는 일부 Auto.js 관련 프로젝트를 나열한 것입니다 (개발 날짜 순으로 정렬됨):
|
||
|
||
| <span style="word-break:keep-all;white-space:nowrap">프로젝트</span> | <span style="word-break:keep-all;white-space:nowrap">앱 이름</span> | <span style="word-break:keep-all;white-space:nowrap">주요 개발자</span> | <span style="word-break:keep-all;white-space:nowrap">개발 시작 날짜</span> | <span style="word-break:keep-all;white-space:nowrap">개발 종료 날짜</span> | <span style="word-break:keep-all;white-space:nowrap">활성 유지보수 기간 (년)</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">3.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">0.32</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">1.78</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 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">< 6.32 ></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">[ `2025/01/07` ]</span> | <span style="word-break:keep-all;white-space:nowrap">4.46</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">1.87</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">< 4.28 ></span> |
|
||
| <span style="word-break:keep-all;white-space:nowrap">[autojs4](https://github.com/blackcd318/autojs4)</span> | <span style="word-break:keep-all;white-space:nowrap">Auto.js</span> | <span style="word-break:keep-all;white-space:nowrap">[blackcd318](https://github.com/blackcd318)</span> | <span style="word-break:keep-all;white-space:nowrap">`2021/12/15`</span> | <span style="word-break:keep-all;white-space:nowrap">`2023/07/31`</span> | <span style="word-break:keep-all;white-space:nowrap">1.62</span> |
|
||
| <span style="word-break:keep-all;white-space:nowrap">[AutoX](https://github.com/kkevsekk1/AutoX)</span> | <span style="white-space:pre">[Autox.js 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) / [aiselp](https://github.com/aiselp)</span> | <span style="word-break:keep-all;white-space:nowrap">`2022/05/26`</span> | <span style="word-break:keep-all;white-space:nowrap">[ `2025/01/07` ]</span> | <span style="word-break:keep-all;white-space:nowrap">2.62</span> |
|
||
| <span style="word-break:keep-all;white-space:nowrap">[openautojs](https://github.com/openautojs/openautojs)</span> | <span style="white-space:pre">[OpenAuto.js](https://github.com/openautojs/openautojs/commit/a11feaad025154de9b453ba70b49e94a6ca8b48a#diff-7d757295fcec3b37c258337e048644c258233d79259152e77baa6d36bb0ec418R2)</span> | <span style="word-break:keep-all;white-space:nowrap">[openautojs](https://github.com/openautojs)</span> | <span style="word-break:keep-all;white-space:nowrap">`2023/02/17`</span> | <span style="word-break:keep-all;white-space:nowrap">`2023/04/16`</span> | <span style="word-break:keep-all;white-space:nowrap">0.16</span> |
|
||
| <span style="word-break:keep-all;white-space:nowrap">[AutoJs4](https://github.com/SuperMonster003/AutoJs4)</span> | <span style="word-break:keep-all;white-space:nowrap">[AutoJs4](https://github.com/SuperMonster003/AutoJs4/commit/8de11699b608be1c1f49f0f10e2e2826f8c77978)</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">`2023/04/11`</span> | <span style="word-break:keep-all;white-space:nowrap">-</span> | <span style="word-break:keep-all;white-space:nowrap">< 2.93 ></span> |
|
||
| <span style="word-break:keep-all;white-space:nowrap">[AutoX](https://github.com/aiselp/AutoX)</span> | <span style="white-space:pre">[Autox.js v7](https://github.com/aiselp/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> | <span style="word-break:keep-all;white-space:nowrap">< 1.90 ></span> |
|
||
| <span style="word-break:keep-all;white-space:nowrap">[Autoxjs_v6_ozobi](https://github.com/ozobiozobi/Autoxjs_v6_ozobi)</span> | <span style="white-space:pre">[Autox.js v6_ozobi](https://github.com/ozobiozobi/Autoxjs_v6_ozobi/blob/a651d02246e09cfbbfa87e6eaccf900fab/app/build.gradle.kts#L143)</span> | <span style="word-break:keep-all;white-space:nowrap">[ozobiozobi](https://github.com/ozobiozobi)</span> | <span style="word-break:keep-all;white-space:nowrap">`2024/10/01`</span> | <span style="word-break:keep-all;white-space:nowrap">-</span> | <span style="word-break:keep-all;white-space:nowrap">< 1.45 ></span> |
|
||
| <span style="word-break:keep-all;white-space:nowrap">[AutoX](https://github.com/autox-community/AutoX)</span> | <span style="white-space:pre">[Autox.js v6](https://github.com/autox-community/AutoX/commit/8b6776cff8b0fca4be4a52719b7d7d07c0a058f3#diff-51a0b488f963eb0be6c6599bf5df497313877cf5bdff3950807373912ac1cdc9R130)</span> | <span style="word-break:keep-all;white-space:nowrap">[autox-community](https://github.com/autox-community)</span> | <span style="word-break:keep-all;white-space:nowrap">`2025/03/30`</span> | <span style="word-break:keep-all;white-space:nowrap">-</span> | <span style="word-break:keep-all;white-space:nowrap">< 0.96 ></span> |
|
||
|
||
표에 표시된 날짜는 예상 날짜로, 실제 날짜와 다를 수 있습니다.
|
||
|
||
표에 나열된 Auto.js Pro 7/8/9 는 유료 버전이며, 그 외는 무료 오픈 소스 버전입니다.
|
||
|
||
표에서 `개발 종료 날짜` 열에 대괄호 (`[]`) 가 포함된 데이터는 오픈 소스 프로젝트가 일시적으로 접근 불가함을 나타냅니다.
|
||
|
||
표에서 `활성 유지보수 기간` 열에 꺾쇠괄호 (`<>`) 가 포함된 데이터는 통계 기준일이 2026 년 3 월 14 일 임을 나타냅니다.
|
||
|
||
******
|
||
|
||
### 기능
|
||
|
||
******
|
||
|
||
* JavaScript IDE로 사용 가능 (코드 자동 완성/변수 이름 변경/코드 포맷팅)
|
||
* [접근성 서비스](https://developer.android.com/reference/android/accessibilityservice/AccessibilityService)를 기반으로 한 자동화 작업 지원
|
||
* 플로팅 버튼 단축 작업 지원 (스크립트 녹화 및 실행/패키지명 및 활동 보기/레이아웃 분석)
|
||
* 선택기 API 지원 및 컨트롤 탐색/정보 가져오기/컨트롤 작업 지원 ( [UiAutomator](https://developer.android.com/training/testing/ui-automator)와 유사)
|
||
* 레이아웃 화면 분석 지원 (안드로이드 스튜디오의 LayoutInspector와 유사)
|
||
* 녹화 기능 및 녹화 재생 지원
|
||
* 스크린샷 찍기/스크린샷 저장/이미지 색상 찾기/이미지 매칭 지원
|
||
* [E4X](https://zh.wikipedia.org/wiki/E4X) (ECMAScript for XML) 인터페이스 작성 지원
|
||
* 스크립트 파일 또는 프로젝트를 APK 파일로 패키징 지원
|
||
* Root 권한을 이용한 기능 확장 지원 (화면 클릭/스크롤/녹화/Shell)
|
||
* Tasker 플러그인으로 사용 가능
|
||
* VSCode와 연결하여 데스크톱 개발 지원 ([AutoJs6-VSCode-Extension](http://vscext-project.autojs6.com) 플러그인 필요)
|
||
|
||
******
|
||
|
||
### 환경
|
||
|
||
******
|
||
|
||
- Android 운영 체제
|
||
- [API](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) [24](https://developer.android.com/reference/android/os/Build.VERSION_CODES#N) ([7.0](https://zh.wikipedia.org/wiki/Android_Nougat)) [[N](https://developer.android.com/reference/android/os/Build.VERSION_CODES#N)] 이상
|
||
|
||
******
|
||
|
||
### 매뉴얼
|
||
|
||
******
|
||
|
||
* [문서](https://docs.autojs6.com)
|
||
* [사용 설명서 (작성 중)](https://docs.autojs6.com/#/manual)
|
||
* [문제 해결](https://docs.autojs6.com/#/qa)
|
||
* [프로젝트 컴파일 및 빌드](#project-compilation-and-build)
|
||
* [스크립트 개발 지원](#script-development-assistance)
|
||
|
||
******
|
||
|
||
### 주요 변경 사항
|
||
|
||
******
|
||
|
||
Auto.js 최종 오픈 소스 버전 `4.1.1 Alpha2` 와 비교하여 AutoJs6는 주요한 다음과 같은 업그레이드 및 변동사항이 있습니다:
|
||
|
||
* [Shizuku](https://shizuku.rikka.app/introduction/)를 통해 ADB 특권을 얻고 시스템 API 사용 지원
|
||
* [WebSocket](https://docs.autojs6.com/#/webSocketType) 인스턴스를 생성하여 [WebSocket 프로토콜](https://zh.wikipedia.org/wiki/WebSocket)에 기반한 네트워크 요청 지원
|
||
* 새로운 모듈 추가 [ [base64](https://docs.autojs6.com/#/base64) / [crypto](https://docs.autojs6.com/#/crypto) / [sqlite](https://docs.autojs6.com/#/sqlite) / [i18n](https://docs.autojs6.com/#/i18n) / [notice](https://docs.autojs6.com/#/notice) / [ocr](https://docs.autojs6.com/#/ocr) / [opencc](https://docs.autojs6.com/#/opencc) / [qrcode](https://docs.autojs6.com/#/qrcode) / [shizuku](https://docs.autojs6.com/#/shizuku) / ... ]
|
||
* 다국어 지원 [ 서 / 프 / 러 / 아 / 일 / 한 / 영어 / 중국어 / 번체 중 ... ]
|
||
* 테마 색상 적응 [ 그룹화 / 위치 / 검색 / 기록 / 밝기 및 대비 자동 적응 / ...]
|
||
* 야경 모드 지원 [ 설정 페이지 / 문서 페이지 / 레이아웃 분석 페이지 / 플로팅 창 / ... ]
|
||
* [VSCode 플러그인](http://vscext-project.autojs6.com) 지원 클라이언트 (LAN) 및 서버 (LAN/ADB) 연결 방식
|
||
* [Rhino](https://github.com/mozilla/rhino/) 엔진을 [v1.7.7.2](https://github.com/mozilla/rhino/releases/tag/Rhino1_7_7_2_Release) 에서 [v2.0.0-SNAPSHOT](http://rhino.autojs6.com/blob/master/gradle.properties#L3) 로 업그레이드 (2025 년 12 월 25 일 업데이트됨)
|
||
* 유니코드 [코드 포인트](https://developer.mozilla.org/zh-CN/docs/Glossary/Code_point) 이스케이프 지원 [보조 평면](https://zh.wikipedia.org/wiki/Unicode%E5%AD%97%E7%AC%A6%E5%B9%B3%E9%9D%A2%E6%98%A0%E5%B0%84#%E7%AC%AC%E4%B8%80%E8%BC%94%E5%8A%A9%E5%B9%B3%E9%9D%A2) 문자
|
||
```js
|
||
'\u{1D160}'; /* 의 의미 "𝅘𝅥𝅮", 전통적인 방법: '\uD834\uDD60'. */
|
||
```
|
||
* [Object.values()](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/values) 지원
|
||
```js
|
||
Object.values({name: 'Max', age: 4}); // ['max', 4]
|
||
```
|
||
* [Array.prototype.includes()](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/includes) 지원
|
||
```js
|
||
[10, 20, NaN].includes(20); // true
|
||
```
|
||
* [BigInt](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/BigInt) 지원
|
||
```ts
|
||
typeof 567n === 'bigint'; // true
|
||
```
|
||
* [템플릿 문자열](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Template_literals) 지원
|
||
```js
|
||
`Lucky number: ${(Math.random() * 100).toFixed(0)}`
|
||
```
|
||
* Rhino 엔진의 [더 많은 새로운 기능](http://project.autojs6.com/blob/master/app/src/main/assets-app/doc/RHINO.md) 보기
|
||
* Rhino 엔진 [호환성 목록](https://mozilla.github.io/rhino/compat/engines.html) 보기
|
||
|
||
******
|
||
|
||
### 배포 기록
|
||
|
||
******
|
||
|
||
# v6.7.0
|
||
|
||
###### 2026/03/14
|
||
|
||
* `추가` 플러그인 센터 기능, 플러그인 설치/제거/업데이트 등의 작업 지원 (진입: 홈 서랍 버튼/홈 탭)
|
||
* `추가` 버전 기록 기능, 편집 가능한 파일의 기록 버전 보기/복원 지원 (진입: 홈 서랍 버튼/파일 관리자 메뉴/코드 편집기 메뉴)
|
||
* `추가` 휴지통 기능, 삭제된 파일/폴더 보기/복원 지원 (진입: 홈 서랍 버튼)
|
||
* `추가` Paddle OCR (PP-OCRv5) 플러그인, 광학 문자 인식용
|
||
* `추가` cvt 모듈, 데이터 단위 변환용 (프로젝트 문서 > [단위 변환](https://docs.autojs6.com/#/cvt) 참조)
|
||
* `추가` fmt 모듈, 데이터 포맷팅용 (프로젝트 문서 > [포맷팅](https://docs.autojs6.com/#/fmt) 참조)
|
||
* `추가` zip 모듈, 파일 압축 및 해제 작업용 (Ref to [Auto.js Pro](https://g.pro.autojs.org/)) (프로젝트 문서 > [Zip](https://docs.autojs6.com/#/zip) 참조)
|
||
* `추가` mediainfo 모듈, 미디어 파일의 상세 정보 보기용 (프로젝트 문서 > [미디어 정보](https://docs.autojs6.com/#/mediainfo) 참조)
|
||
* `추가` cvt.bytes 메서드, 바이트 데이터 단위 변환용 (프로젝트 문서 > [단위 변환](https://docs.autojs6.com/#/cvt) 참조)
|
||
* `추가` fmt.bytes 메서드, 바이트 데이터 포맷팅용 (프로젝트 문서 > [포맷팅](https://docs.autojs6.com/#/fmt) 참조)
|
||
* `추가` s13n.bytes 메서드, 바이트 데이터 표준화용 (프로젝트 문서 > [표준화](https://docs.autojs6.com/#/s13n) 참조)
|
||
* `추가` app.isDualInstalled 메서드, 듀얼 앱 설치 여부 확인용 (Shizuku 또는 Root 권한 필요) _[`issue #450`](http://issues.autojs6.com/450)_
|
||
* `추가` device.getSharedDeviceId 메서드, 앱 간 통합 공유 디바이스 ID 획득용 _[`issue #455`](http://issues.autojs6.com/455)_
|
||
* `추가` device.setPointerLocation 등 Toggleable 계열 메서드, 포인터 위치 시스템 설정 항목 설정 또는 조회용 _[`issue #381`](http://issues.autojs6.com/381)_
|
||
* `추가` dialogs.build 메서드가 textAllCaps/(positive/negative/neutral)TextAllCaps 옵션 인자를 지원하여 버튼 텍스트의 전체 대문자 여부를 제어 가능
|
||
* `추가` images.loadAsync 메서드, 네트워크 이미지 리소스 비동기 획득용 _[`issue #327`](http://issues.autojs6.com/327)_
|
||
* `추가` ui.getNavigationBarHeight 메서드/navigationBarHeight 속성 (getter), 내비게이션 바 높이 획득용 _[`issue #456`](http://issues.autojs6.com/456)_
|
||
* `추가` ui.getVisible(Status/Navigation)BarHeight 메서드/visible(Status/Navigation)BarHeight 속성 (getter), 상태 표시줄 또는 내비게이션 바의 가시 높이를 빠르게 획득하기 위한 기능 _[`issue #456`](http://issues.autojs6.com/456)_
|
||
* `추가` http.put/del(ete)/head 메서드, 서로 다른 HTTP 요청 메서드로 네트워크 요청 전송용
|
||
* `추가` http.getAsync/postAsync/requestAsync 등의 메서드, 네트워크 요청 비동기 전송용 _[`issue #423`](http://issues.autojs6.com/423)_
|
||
* `추가` http 모듈의 요청 관련 메서드에서 얻는 body 객체에 stream/saveToFile/close 등의 메서드 추가 _[`issue #452`](http://issues.autojs6.com/452)_
|
||
* `추가` http 모듈의 요청 관련 메서드가 캐시 제어 옵션 인자 (cacheBody/bodyCacheThresholdBytes) 지원
|
||
* `추가` http 모듈의 요청 관련 메서드가 비보안 옵션 인자 (isInsecure/insecure) 지원, 인증서 관련 예외 무시에 사용 가능 _[`issue #417`](http://issues.autojs6.com/417)_
|
||
* `추가` http 모듈의 요청 관련 메서드가 options.client 옵션 지원, OkHttpClient.Builder (followRedirects 등) 설정 가능 _[`issue #454`](http://issues.autojs6.com/454)_
|
||
* `추가` auto.state 속성 (getter) 및 shizuku.state 속성 (getter), 접근성 서비스 상태 및 Shizuku 서비스 상태 획득용
|
||
* `추가` runtime.(set/is)JavaPrimitiveWrap 메서드, Java 원시 타입 래핑 전략 설정 또는 조회용 _[`issue #435`](http://issues.autojs6.com/435)_
|
||
* `추가` autojs.(restart/exit) 메서드, AutoJs6 앱 재시작 또는 종료용, 그리고 앱 재시작 시 인자로 지정된 스크립트 자동 실행 지원 _[`issue #460`](http://issues.autojs6.com/460)_
|
||
* `추가` UiObject#isShifted 메서드, 컨트롤 위치 변화 감지용 _[`issue #469`](http://issues.autojs6.com/469)_
|
||
* `추가` UiObject#snapshot 메서드, 컨트롤의 현재 상태 캡처용 _[`issue #469`](http://issues.autojs6.com/469)_
|
||
* `추가` engines.myEngine().getStartTime() 메서드, 스크립트 엔진 시작 타임스탬프 획득용 _[`issue #449`](http://issues.autojs6.com/449)_
|
||
* `추가` crash 전역 메서드, 크래시 보고 페이지 테스트용
|
||
* `추가` structuredClone 전역 메서드, JavaScript 객체의 깊은 복사용 ( [MDN](https://developer.mozilla.org/zh-CN/docs/Web/API/Window/structuredClone) 참조)
|
||
* `추가` 등가 계열 선택기 (UiSelector#id/text/...) 및 포함 계열 선택기 (UiSelector#xxxContains) 가 정규식 인자를 지원
|
||
* `추가` 선택기의 정규식 인자가 플래그 (i, m, s, u) 를 지원
|
||
* `추가` 정규식이 lookbehind 문법을 지원 _[`issue #464`](http://issues.autojs6.com/464)_
|
||
* `추가` 파일 관리자에 "이동 대상" 및 "복사 대상" 메뉴 항목 추가, 작업 중단 및 진행 상태 표시 지원
|
||
* `추가` 코드 편집기에 "다기능 키보드" - "기호 설정" 메뉴 항목 추가, 기호 편집 및 프로필 단위의 기호 생성/가져오기/내보내기 등 지원
|
||
* `추가` 홈 서랍에 "포인터 위치" 도구 추가
|
||
* `추가` 홈 서랍에 "모든 파일 관리 권한" 스위치 추가
|
||
* `추가` 홈 서랍에 "백그라운드에서 UI 표시" 스위치 추가 ( [Xiaomi/Vivo] 기기용)
|
||
* `추가` 설정 페이지에 "Java 원시 타입 래핑" 설정 옵션 추가 _[`issue #435`](http://issues.autojs6.com/435)_
|
||
* `추가` 설정 페이지에 "예약 작업 스케줄링 엔진" 설정 옵션 추가, AlarmManager/WorkManager/JobScheduler 지원 _[`issue #457`](http://issues.autojs6.com/457)_ _[`issue #434`](http://issues.autojs6.com/434)_ _[`issue #449`](http://issues.autojs6.com/449)_ _[`issue #388`](http://issues.autojs6.com/388)_ _[`issue #378`](http://issues.autojs6.com/378)_ _[`issue #163`](http://issues.autojs6.com/163)_ _[`issue #53`](http://issues.autojs6.com/53)_ _[`issue #21`](http://issues.autojs6.com/21)_
|
||
* `추가` 설정 페이지에 "앱 런처 아이콘" 설정 옵션 추가, 적응형 아이콘/투명 배경 아이콘 지원 _[`issue #405`](http://issues.autojs6.com/405)_
|
||
* `추가` 설정 페이지에 "재시작 전략" 설정 옵션 추가, 홈 서랍의 재시작 버튼이 빠른 재시작 전략을 사용할지 설정 가능
|
||
* `추가` 설정 페이지에 "화면 캡처 권한 요청 지연" 설정 옵션 추가, 권한 요청 창이 화면을 가리는 문제 방지
|
||
* `추가` 설정 페이지의 런처 바로가기에 "플러그인" 옵션 추가, 바로가기를 통해 플러그인 센터 페이지로 이동 가능
|
||
* `추가` 패키징 앱이 부팅 시 자동 실행을 지원하고, 설정 페이지에 스위치 추가
|
||
* `추가` 패키징 앱이 앱 바로가기 (로그 페이지/설정 페이지) 지원
|
||
* `추가` 앱 패키징 설정 페이지에 실행 취소/다시 실행/저장 버튼 추가
|
||
* `추가` 앱 패키징 설정 페이지에 프로필 메커니즘 추가, 프로필 생성/수정/삭제/가져오기/내보내기 지원 _[`issue #483`](http://issues.autojs6.com/483)_
|
||
* `추가` Scrapers 도구 (run-scrapers.mjs), Gradle 빌드 스크립트의 구조화 데이터/README 공통 데이터/README 템플릿 데이터 등의 자동 업데이트용
|
||
* `추가` Gradle Wrapper 전환 도구 (gradle-wrapper-switcher), 로컬 Gradle 메이저 버전 (예: Gradle 8.x 및 Gradle 9.x) 전환용
|
||
* `수정` notice 메서드의 인자 개수 및 타입 제한 오류 _[`issue #462`](http://issues.autojs6.com/462)_
|
||
* `수정` ui.R 속성 (getter) 을 정상적으로 사용할 수 없는 문제
|
||
* `수정` ui.post 메서드의 콜백 인자에서 예외가 발생할 때 조용히 실패할 수 있는 문제
|
||
* `수정` isJavaClass/isJavaPackage 등의 전역 메서드가 무효인 문제
|
||
* `수정` timers.keepAlive 메서드의 timeout 인자 기능이 무효인 문제
|
||
* `수정` floaty.window/rawWindow 메서드가 문자열 인자를 받을 수 없는 문제 _[`issue #467`](http://issues.autojs6.com/467)_
|
||
* `수정` 잘못된 컨텍스트가 전달되어 floaty.rawWindow 에서 일부 컨트롤 표시가 비정상적인 문제
|
||
* `수정` util.isString 메서드가 무효인 문제
|
||
* `수정` util.class[Name]/getClass[Name] 이 잘못된 결과를 반환할 수 있는 문제
|
||
* `수정` util.java.array 가 Boolean 등의 타입 인자를 정상적으로 사용할 수 없는 문제
|
||
* `수정` threads.disposable() 가 반환한 객체가 데이터 접근 시 예상치 않게 박싱될 수 있는 문제 _[`issue #435`](http://issues.autojs6.com/435)_
|
||
* `수정` console.build 메서드를 여러 번 호출할 때 로그 플로팅 창의 스타일 옵션이 정상적으로 초기화되지 않는 문제
|
||
* `수정` console.build 메서드의 (title/content)BackgroundColor 옵션이 투명도 또는 착색 옵션을 덮어쓰는 문제 _[`issue #458`](http://issues.autojs6.com/458)_
|
||
* `수정` console/toast 등의 메서드가 Java Double 을 표시할 때 끝의 0 이 사라질 수 있는 문제
|
||
* `수정` console/toast 등의 메서드로 BigInt 데이터 타입을 표시할 수 없는 문제
|
||
* `수정` toast 메서드가 Toast 인스턴스에 대한 강한 참조를 유지하여 메모리 누수를 유발할 수 있는 문제
|
||
* `수정` 일부 전역 객체가 JavaScript 프로토타입 속성과 메서드를 잃을 수 있는 문제
|
||
* `수정` XML 문법에서 JavaScript 식을 속성값으로 사용할 때 this 객체의 참조 대상이 잘못될 수 있는 문제
|
||
* `수정` dialogs.build 메서드의 linkify 옵션 인자 기능이 무효인 문제
|
||
* `수정` dialogs.build 메서드가 객체 인자의 원본 데이터를 손상시킬 수 있는 문제
|
||
* `수정` canvas 요소 컨트롤의 setMaxFps 메서드 내부 프레임레이트 계산 오류
|
||
* `수정` images.concat 메서드에서 세로 방향 결합 시 너비 계산값이 잘못되는 문제
|
||
* `수정` images.requestScreenCapture 메서드 호출 시 사용자가 권한 부여를 취소하면 앱이 크래시할 수 있는 문제
|
||
* `수정` images.captureScreen 메서드로 얻은 스크린샷에 방향 오류 또는 검은 여백이 생길 수 있는 문제 _[`issue #337`](http://issues.autojs6.com/337)_
|
||
* `수정` images 관련 일부 메서드에서 영역 인자 사용 시 1 이 잘못해서 백분율로 해석되는 문제
|
||
* `수정` images 관련 일부 메서드에서 예외 발생 시 oneShot 플래그 기능이 무효가 되는 문제 _[`issue #372`](http://issues.autojs6.com/372)_
|
||
* `수정` images 관련 일부 메서드가 메모리 누수를 일으킬 수 있는 문제 _[`issue #372`](http://issues.autojs6.com/372)_
|
||
* `수정` images.save 및 ImageWrapper#saveTo 메서드에서 전달된 경로가 존재하지 않을 때 파일을 정상적으로 쓸 수 없는 문제
|
||
* `수정` ImageWrapper#recycle 메서드의 이미지 리소스 회수 기능이 무효인 문제
|
||
* `수정` ocr 의 일부 오버로드 메서드가 정상적으로 동작하지 않을 수 있는 문제
|
||
* `수정` ocr.detect 메서드로 얻은 결과가 ocr.mode 와 일치하지 않을 수 있는 문제 _[`issue #468`](http://issues.autojs6.com/468)_
|
||
* `수정` auto.registerEvent 로 등록된 접근성 서비스 이벤트가 다른 스크립트에 의해 잘못 정리되는 문제 _[`issue #466`](http://issues.autojs6.com/466)_ _[`issue #343`](http://issues.autojs6.com/343#issuecomment-3263953918)_
|
||
* `수정` Android 10 에서 UiObject#child 메서드가 ArrayIndexOutOfBoundsException 을 발생시킬 수 있는 문제 _[`issue #416`](http://issues.autojs6.com/416)_
|
||
* `수정` 내장 모듈 메서드 호출 시 Rhino 컨텍스트가 불일치할 수 있는 문제
|
||
* `수정` 스크립트가 많은 플로팅 창을 만든 뒤 종료될 때 창이 남을 수 있는 문제
|
||
* `수정` 프로젝트 실행 시 project.json 의 설정 인자가 정상적으로 파싱되지 않을 수 있는 문제
|
||
* `수정` 프로젝트 패키징 시 project.json 의 excludedDirs 설정 인자가 설정 파일 파싱 실패를 유발하는 문제 _[`issue #428`](http://issues.autojs6.com/428)_
|
||
* `수정` Android 7.x 에서 패키징 기능이 정상적으로 동작하지 않을 수 있는 문제
|
||
* `수정` 스크립트 프로젝트 설정 파일 저장 시 원래 키 이름이 변경될 수 있는 문제
|
||
* `수정` 스크립트 프로젝트 설정 파일 내 빌드 버전 번호 또는 빌드 시간이 큰 숫자일 경우 앱이 크래시할 수 있는 문제
|
||
* `수정` ImageReader 를 자주 가져오거나 재구성할 때 버퍼에 사용 가능한 프레임이 일시적으로 없어 앱이 크래시할 수 있는 문제
|
||
* `수정` 입력 이벤트 관찰자 InputEventObserver 가 앱 시작 시 눈에 띄는 버벅임을 유발할 수 있는 문제
|
||
* `수정` Shizuku 사용자 서비스 프로세스가 정상적으로 종료되지 않아 프로세스가 누적되는 문제 _[`issue #474`](http://issues.autojs6.com/474)_
|
||
* `수정` 패키징 앱이 Paddle OCR 및 Rapid OCR 기능을 정상적으로 사용할 수 없는 문제
|
||
* `수정` 패키징 앱 설정 파일 project.json 의 key 값이 예상치 않게 변경될 수 있는 문제
|
||
* `수정` 앱 패키징 설정 페이지에서 "필요한 권한" 목록을 스크롤할 때 체크박스 아이콘이 깜빡일 수 있는 문제
|
||
* `수정` 릴리스 기록 페이지에서 일부 시스템은 폰트 차이로 인해 통계 데이터가 불완전하게 표시되는 문제
|
||
* `수정` 일부 기기에서 MLKit Google OCR 이 정상적으로 초기화되지 않는 문제 (시험 수정) _[`issue #8`](http://issues.autojs6.com/8#issuecomment-3117061768)_
|
||
* `수정` 일부 기기에서 파일 관리자의 기능 버튼 클릭 이벤트가 정상적으로 발생하지 않는 문제 (시험 수정) _[`issue #465`](http://issues.autojs6.com/465)_
|
||
* `수정` 일부 기기에서 코드 편집기의 빈 줄이 사각형 문자로 표시되는 문제 (시험 수정)
|
||
* `수정` 코드 편집기에서 소프트 키보드가 텍스트 내용을 가릴 수 있는 문제
|
||
* `수정` 코드 편집기가 읽기 전용 모드에서도 내용을 편집할 수 있는 문제
|
||
* `수정` 코드 편집기가 읽기 전용 모드에서 제목 영역 및 일부 메뉴 항목을 클릭하면 앱이 크래시하는 문제
|
||
* `수정` 코드 편집기에서 큰 파일을 불러오면 앱이 크래시할 수 있는 문제 (시험 수정)
|
||
* `수정` 코드 편집기가 새 파일을 자동으로 열 때 기능 버튼 상태 초기화가 비정상적인 문제
|
||
* `수정` 코드 편집기에서 파일 편집 중 백그라운드로 전환하면 앱이 크래시할 수 있는 문제
|
||
* `수정` Android 15+ 에서 코드 편집기의 fx 버튼을 눌러도 모듈 함수 빠른 패널이 표시되지 않는 문제 (시험 수정)
|
||
* `수정` ErrorDialogActivity 가 정상적으로 시작되지 않거나 짧은 시간 내 자동으로 사라질 수 있는 문제 _[`issue #479`](http://issues.autojs6.com/479)_ _[`issue #471`](http://issues.autojs6.com/471)_ _[`issue #414`](http://issues.autojs6.com/414)_ _[`issue #340`](http://issues.autojs6.com/340#issuecomment-2973485826)_
|
||
* `수정` Canvas 생성자가 받아들이는 인자 타입 오류 _[`issue #402`](http://issues.autojs6.com/402)_
|
||
* `수정` 크래시 보고 페이지에서 상세 정보 복사 기능이 무효인 문제
|
||
* `수정` Android 16+ 에서 사용자 정의 뒤로가기 로직이 무효가 되어 뒤로가기 동작이 비정상적인 문제
|
||
* `수정` 파일 관리자 검색 결과 표시 후 뒤로가기 버튼을 누르거나 탭을 전환하면 앱이 크래시할 수 있는 문제
|
||
* `수정` 파일 관리자에서 프로젝트 폴더 삭제 후 UI 가 자동으로 새로고침되지 않는 문제
|
||
* `수정` 작업 패널의 목록 항목이 자주 바뀌면 앱이 크래시할 수 있는 문제
|
||
* `수정` "3버튼" 제스처 내비게이션 사용 시 내비게이션 바 전경색이 야간 모드와 비정상적으로 연관되는 문제
|
||
* `수정` APK 파일 형식 정보 대화상자에서 앱 이름 및 SDK 정보를 얻지 못할 수 있는 문제
|
||
* `수정` 클라이언트 모드 연결 시, 짧은 시간 안에 연결 해제 후 다시 연결하면 핸드셰이크 타임아웃이 발생하고 재연결이 어려워지는 문제
|
||
* `수정` 클라이언트 모드 연결 시, 화면 회전이나 언어 전환처럼 Activity 재생성을 유발하는 작업 때문에 AutoJs6 가 항상 연결을 다시 구성하는 문제
|
||
* `수정` 서버 모드 연결 시, 화면 회전이나 언어 전환처럼 Activity 재생성을 유발하는 작업 때문에 VSCode 콘솔에 로그가 출력되지 않는 문제 _[`issue #385`](http://issues.autojs6.com/385)_
|
||
* `수정` VSCode 플러그인 연결 시 여러 방식으로 동시에 연결하면 로그 출력 수가 배로 증가하는 문제
|
||
* `수정` 레이아웃 분석 페이지에서 컬렉션형 컨트롤에 대해 코드 생성이 실패할 수 있는 문제 (시험 수정) _[`issue #328`](http://issues.autojs6.com/328)_
|
||
* `수정` 설정 페이지의 "'볼륨 작게' 키로 녹화 제어" 스위치 기능이 무효인 문제 _[`issue #480`](http://issues.autojs6.com/480)_
|
||
* `수정` 스크립트 녹화로 생성된 코드 파일의 좌표값이 실제 화면 픽셀값과 일치하지 않을 수 있는 문제 _[`issue #480`](http://issues.autojs6.com/480)_
|
||
* `수정` 스크립트 녹화로 생성된 코드 파일의 첫 동작 (탭, 스와이프 등) 이 항상 무시되는 문제
|
||
* `수정` 플로팅 버튼의 "스크립트 실행" 대화상자에서 백그라운드로 파일 작업을 하면 앱이 크래시할 수 있는 문제
|
||
* `수정` 홈 Activity 수명 주기가 끝난 뒤 홈에 다시 들어오면 플로팅 버튼 상태가 초기화될 수 있는 문제
|
||
* `수정` Xiaomi 기기에서 "다른 앱 위에 표시" 스위치가 잘못된 설정 페이지로 이동하는 문제
|
||
* `수정` 업데이트 확인에서 다운로드를 중단한 뒤에도 네트워크 패킷 획득이 백그라운드에서 계속되는 문제 (시험 수정)
|
||
* `수정` 빌드 도구에서 isCleanup[Paddle/Rapid]Ocr 옵션을 활성화했을 때 Rebuild Project 작업이 정상 완료되지 않는 문제
|
||
* `개선` Paddle OCR (PP-OCRv3) 관련 기능의 플러그인화 _[`issue #334`](http://issues.autojs6.com/334)_ _[`issue #331`](http://issues.autojs6.com/331)_ _[`issue #325`](http://issues.autojs6.com/325)_
|
||
* `개선` runtime.loadJar 메서드의 호환성 향상 (by [LYS86](https://github.com/LYS86)) _[`pr #475`](http://pr.autojs6.com/475)_
|
||
* `개선` ui.getStatusBarHeight 메서드/statusBarHeight 속성 (getter) 의 호환성을 일정 수준 향상
|
||
* `개선` console.log 등의 메서드가 전역 객체 (images, app, ocr 등) 출력 시 상세 정보 표시를 지원
|
||
* `개선` dialogs.build 메서드가 MaterialDialog.Builder 의 네이티브 옵션 인자를 지원
|
||
* `개선` dialogs.build 메서드의 animation/linkify 옵션 인자가 느슨한 문자열 매칭을 지원
|
||
* `개선` device.rotation/rotation/width/height 메서드로 얻는 화면 방향 및 너비/높이 데이터의 안정성과 일관성을 향상
|
||
* `개선` app.launchDual/startDualActivity 등의 메서드의 실행 효율 향상 및 호환성 강화
|
||
* `개선` android.graphics.Paint#setColor 가 ColorInt/ColorHex/ColorName 등의 색상 인자를 정상적으로 파싱 가능
|
||
* `개선` 내장 모듈 관련 메서드의 실인자 타입 예외 메시지에 타입 요약 정보를 추가
|
||
* `개선` 내장 모듈 (dayjs/cheerio/dayjs/i18n) 이 스크립트 실행 모드에서 벗어나 전역 지연 로드 방식으로 대체됨
|
||
* `개선` 콘솔 관련 메서드가 대용량 데이터를 출력할 때 상한에 따라 일부 내용을 적절히 생략하여 출력 시간을 줄임
|
||
* `개선` 콘솔 플로팅 창의 카운트다운 시작값을 6초에서 9초로 증가
|
||
* `개선` 콘솔 플로팅 창의 내부 구현을 락 프리 및 큐 처리로 전환하여 인자 설정 효율과 성공률을 향상
|
||
* `개선` 콘솔 플로팅 창 배경색 관련 API (투명도/착색/기준색) 가 Android 설계 규범에 더 잘 맞도록 개선 _[`issue #458`](http://issues.autojs6.com/458)_
|
||
* `개선` 파일 관리자에서 플로팅 버튼 확장 후 메뉴 항목 클릭 시 메뉴 접힘 타이밍을 최적화
|
||
* `개선` 파일 관리자/작업 패널이 파일/작업 개수 통계 정보 표시를 지원
|
||
* `개선` 코드 편집기에서 파일 저장 실패 시 자동으로 초안 저장하고 새 파일로 다른 이름 저장을 지원
|
||
* `개선` 코드 편집기에서 대용량 파일 로딩 시 일정 수준의 부드러움을 향상
|
||
* `개선` 코드 편집기의 "찾기/바꾸기" 가 상태 유지 및 검색 개수 실시간 표시를 지원
|
||
* `개선` 코드 편집기에서 저장을 요청할 때 편집기 종료 전에 저장 성공을 보장하여 저장 실패율을 낮춤
|
||
* `개선` 코드 편집기의 저장 버튼 상태가 사용자 주관 논리에 더 부합하도록 개선
|
||
* `개선` 코드 편집기가 "-", "=", "(", "[", "{", "<" 등의 키 길게 누르기 기능을 지원
|
||
* `개선` 앱 패키징 처리 대화상자에 "중단" 버튼 추가
|
||
* `개선` 앱 패키징 처리 대화상자의 표시 방식을 개선하고 소요 시간 통계를 추가
|
||
* `개선` 새 설정으로 패키징 앱을 설치할 때 기존 앱의 관련 설정을 덮어쓰도록 개선
|
||
* `개선` 앱 패키징 설정 페이지에서 필요한 권한 (WAKE_LOCK/INTERNET/WRITE_EXTERNAL_STORAGE/...) 을 기본 선택 _[`issue #397`](http://issues.autojs6.com/397)_
|
||
* `개선` 앱 패키징 설정 페이지에서 더 많은 옵션의 읽기 및 설정을 지원 (시작 시 로그 표시/시작 시 스플래시 표시/스플래시 슬로건 텍스트/...)
|
||
* `개선` 앱 패키징 설정 페이지에 포그라운드 서비스 스위치 추가 _[`issue #406`](http://issues.autojs6.com/406)_
|
||
* `개선` 스크립트 프로젝트 설정 파일 저장 시 키 이름 충돌 감지 메커니즘을 추가하여 키 이름의 모호성을 방지
|
||
* `개선` 크래시 보고 페이지가 두 손가락 확대/축소를 통한 글꼴 크기 조정 및 자주 쓰는 기능 버튼 추가를 지원
|
||
* `개선` 앱 런처 아이콘이 적응형 아이콘 기능을 지원 _[`issue #405`](http://issues.autojs6.com/405)_
|
||
* `개선` Rhino 엔진이 제네릭 시그니처 파싱에 실패할 때 원시 reflection 타입으로 폴백하여 낮은 Android 버전에서 reflection 메서드 사용성을 강화
|
||
* `개선` 홈 서랍의 스위치형 항목에 구분선을 추가하고, 제목 텍스트 영역 클릭 시 상세 대화상자를 표시하며, 필요에 따라 시스템 설정으로 빠른 이동을 지원
|
||
* `개선` AutoJs6 시작 또는 재시작 시 홈 서랍의 "클라이언트 모드" 제목 텍스트 영역을 눌러 연결 시도를 중단할 수 있음
|
||
* `개선` 클라이언트 모드 연결이 IPv6 주소 및 도메인 주소 연결을 지원
|
||
* `개선` 클라이언트 모드 연결이 특수 목적 IPv4 주소 (loopback/broadcast/multicast/reserved/...) 에 대한 감지 안내를 지원
|
||
* `개선` 클라이언트 모드 연결이 연결 상태 표시 및 관리 (주소 수정/연결 중단) 를 지원
|
||
* `개선` 서버 모드 연결이 연결된 클라이언트 수 표시를 지원
|
||
* `개선` 알림 권한 읽기가 자동 재연결 메커니즘 ([requestRebind](https://developer.android.com/reference/android/service/notification/NotificationListenerService#requestRebind(android.content.ComponentName))) 을 지원하여 알림 감시 관련 기능의 안정성을 향상
|
||
* `개선` 플로팅 버튼이 백그라운드에서 Activity 를 시작할 때의 안전성을 강화하여 앱 크래시를 방지
|
||
* `개선` 플로팅 버튼의 "더보기" 대화상자가 비동기 데이터 로딩 방식을 사용하여 표시의 부드러움을 향상
|
||
* `개선` 플로팅 버튼의 "스크립트 실행" 대화상자에 "홈" 메뉴 항목 추가
|
||
* `개선` 플로팅 버튼의 "스크립트 실행" 대화상자가 최소화 및 상태 복원을 지원하고, 가능한 한 창 상주 또는 자동 복원을 유지
|
||
* `개선` Shizuku 권한을 사용한 스크립트 녹화 및 녹화 재생을 지원 (재생의 부드러움은 일부 영향을 받을 수 있음) _[`issue #320`](http://issues.autojs6.com/320)_
|
||
* `개선` 테마 색상 설정 페이지에서 테마 색상 위치 지정에 빠른 위치 찾기 방식을 사용하여 효율 향상
|
||
* `개선` 폐기된 [LocalBroadcastManager](https://developer.android.com/jetpack/androidx/releases/localbroadcastmanager) 를 [LiveData](https://developer.android.com/topic/libraries/architecture/livedata) 및 [SharedFlow](https://developer.android.com/kotlin/flow/stateflow-and-sharedflow) 로 대체
|
||
* `개선` Gradle 빌드 스크립트에서 7z 형식 파일의 해제 효율 향상
|
||
* `개선` Gradle 빌드 스크립트가 상세한 Android Studio IDE 버전 (예: "2025.1.4.7") 획득을 지원
|
||
* `개선` Gradle 빌드 스크립트가 VersionCodesList 클래스에 필요한 데이터 자동 생성에 대응하여 스크립트 시작 지연을 줄임
|
||
* `개선` [Version Catalogs](https://developer.android.com/build/migrate-to-catalogs) 를 사용하여 Gradle 의존성과 플러그인 버전을 중앙 관리
|
||
* `개선` Gradle 빌드 스크립트를 모듈화하고, 공유 빌드 로직을 build-logic 으로 이동해 convention plugin 으로 추상화
|
||
* `개선` Gradle convention plugin 을 사용하여 로컬 AAR 라이브러리 로딩 로직을 단순화
|
||
* `개선` Gradle 9 적응을 위해 "android.enableJetifier=true" Gradle 설정 옵션 제거
|
||
* `개선` 빌드 환경 차이를 줄이기 위해 sourceCompatibility/targetCompatibility 대신 [Toolchain](https://docs.gradle.org/current/userguide/toolchains.html) 사용
|
||
* `개선` 일부 의존성 또는 로컬 라이브러리 버전 조정 _[`CHANGELOG.md`](http://project.autojs6.com/blob/master/app/src/main/assets-app/doc/CHANGELOG.md#v670)_
|
||
|
||
# v6.6.4
|
||
|
||
###### 2025/05/31
|
||
|
||
* `힌트` API 변경: ui.(status/navigation)BarAppearanceLight[By] -> ui.(status/navigation)BarIconLight[By]
|
||
* `추가` util.dpToPx/spToPx/pxToDp/pxToSp 메서드(픽셀 단위 변환용)
|
||
* `수정` 화면을 가로 모드로 회전하면 자막이 완전히 표시되지 않을 수 있는 문제
|
||
* `수정` 화면을 가로 모드로 회전하면 일부 페이지 콘텐츠가 사이드 내비게이션 바에 가려지는 문제
|
||
* `수정` Android 15 일부 페이지에서 상태 표시줄 배경 색칠 영역이 불완전한 문제 _[`issue #398`](http://issues.autojs6.com/398)_
|
||
* `수정` 코드 편집기가 신뢰도 낮은 인코딩으로 파일을 기록해 디코딩 오류가 발생할 수 있는 문제(수정 시도)
|
||
* `개선` 앱 및 개발자 페이지 레이아웃 호환성 개선 및 불필요한 레이아웃 분류 제거
|
||
* `개선` README.md 빌드 섹션에 여러 방법 추가로 대상 설정 페이지 찾기 용이화 _[`issue #404`](http://issues.autojs6.com/404)_
|
||
* `개선` 일부 의존성 또는 로컬 라이브러리 버전 조정 _[`CHANGELOG.md`](http://project.autojs6.com/blob/master/app/src/main/assets-app/doc/CHANGELOG.md#v664)_
|
||
|
||
# v6.6.3
|
||
|
||
###### 2025/05/27
|
||
|
||
* `추가` 릴리스 기록 기능: 다국어 변경 로그와 통계를 보기
|
||
* `추가` timers.keepAlive 메서드 (전역으로 승격) 로 스크립트 활성 유지
|
||
* `추가` engines.on('start/stop/error', callback) 등의 이벤트 리스너로 엔진 전역 이벤트 수신
|
||
* `추가` images.detectMultiColors 메서드로 여러 지점 색상 검사 _[`issue #374`](http://issues.autojs6.com/374)_
|
||
* `추가` images.matchFeatures/detectAndComputeFeatures: 풀 해상도 이미지 검색 (참조 [Auto.js Pro](https://g.pro.autojs.org/)) _[`issue #366`](http://issues.autojs6.com/366)_
|
||
* `추가` images.compressToBytes 메서드로 이미지를 압축하여 바이트 배열 반환
|
||
* `추가` images.downsample 메서드로 해상도를 낮추고 새로운 ImageWrapper 생성
|
||
* `추가` ui.keepScreenOn 메서드로 UI 페이지가 포커스될 때 화면 켜짐 유지
|
||
* `추가` ui.root 프로퍼티 (getter) 로 UI 레이아웃 내 '윈도우 콘텐츠 루트 컨테이너' 노드를 가져옴
|
||
* `추가` webview 요소가 JsBridge 기반 웹 페이지 레이아웃 지원 (참조 [Auto.js Pro](https://g.pro.autojs.org/)) [예: Layout > Interactive HTML / Vue2 + Vant (SFC)] _[`issue #281`](http://issues.autojs6.com/281)_
|
||
* `추가` 레이아웃 인스펙터가 요소 숨기기 지원 (기여 [TonyJiangWJ](https://github.com/TonyJiangWJ)) _[`pr #371`](http://pr.autojs6.com/371)_ _[`issue #355`](http://issues.autojs6.com/355)_
|
||
* `수정` Docs 탭 및 Docs 액티비티의 온라인 문서가 시스템 네비게이션 바에 가려질 수 있는 문제 수정
|
||
* `수정` 일부 페이지에서 Toolbar 버튼을 누르면 제목 클릭 이벤트가 잘못 발생하는 문제 수정
|
||
* `수정` 일부 기기에서 코드 편집기 빈 줄이 □로 표시되던 문제 (임시 수정)
|
||
* `수정` 테마 색상 설정의 컬러 피커 대화상자가 무한 중첩되는 문제 수정
|
||
* `수정` 접근성 서비스가 꺼진 상태에서 볼륨 업 키가 모든 스크립트를 중지하지 않는 문제 수정
|
||
* `수정` 예약 작업에서 사용자 정의 브로드캐스트 메시지를 편집할 때 IME가 입력 영역을 덮는 문제 수정
|
||
* `수정` webview 내부 컨트롤이 소프트 키보드를 정상적으로 호출하지 못하는 문제 수정
|
||
* `수정` APK 정보 대화상자가 앱 이름이나 SDK 정보를 가져오지 못하는 문제 수정
|
||
* `수정` 파일 관리자 예제에서 프로젝트 폴더 진입 시 하위 폴더 내용이 로드되지 않는 문제 수정
|
||
* `수정` Android 15 UI 모드에서 상태 표시줄이 상단 콘텐츠를 가리는 문제 수정
|
||
* `수정` Android 15 일부 페이지에서 상태 표시줄 배경색이 테마 색상과 동기화되지 않는 문제 수정
|
||
* `수정` dialogs 모듈이 customView 프로퍼티를 지원하지 않는 문제 수정 _[`issue #364`](http://issues.autojs6.com/364)_
|
||
* `수정` dialogs.input 의 expression 매개변수가 실행 결과를 반환하지 않는 문제 수정
|
||
* `수정` JavaAdapter 사용 시 ClassLoader 스택 오버플로우가 발생하는 문제 수정 _[`issue #376`](http://issues.autojs6.com/376)_
|
||
* `수정` console.setContentTextColor 가 기본 텍스트 색상을 리셋하는 문제 수정 _[`issue #346`](http://issues.autojs6.com/346)_
|
||
* `수정` console.setContentBackgroundColor 가 색상 이름을 허용하지 않는 문제 수정 _[`issue #384`](http://issues.autojs6.com/384)_
|
||
* `수정` images.compress 구현 수정: 다운샘플링 대신 인코딩 품질을 변경
|
||
* `수정` images.resize 메서드가 올바르게 동작하지 않는 문제 수정
|
||
* `수정` engines.all 이 ConcurrentModificationException 을 발생시킬 수 있는 문제 수정 _[`issue #394`](http://issues.autojs6.com/394)_
|
||
* `수정` README.md 일부 언어의 날짜 형식 오류 수정
|
||
* `수정` Gradle 빌드가 라이브러리 아카이브 크기 오류로 실패할 수 있는 문제 수정 _[`issue #389`](http://issues.autojs6.com/389)_
|
||
* `개선` 레이아웃 인스펙터 메뉴에 기능 그룹화를 위한 그라데이션 구분선 추가
|
||
* `개선` project.json 이 스크립트 프로젝트 permissions 옵션 지원 (기여 [wirsnow](https://github.com/wirsnow)) _[`pr #391`](http://pr.autojs6.com/391)_ _[`issue #362`](http://issues.autojs6.com/362)_
|
||
* `개선` 단일 파일 패키징 시 설치된 앱의 선언 권한을 자동 읽어 표시 _[`issue #362`](http://issues.autojs6.com/362)_
|
||
* `개선` 테마 색상 적용 범위 확대, 더 많은 위젯 지원
|
||
* `개선` 메인 페이지 드로어 폭이 가로 및 초광폭 화면에 적응
|
||
* `개선` ‘앱 정보’ 및 ‘개발자 정보’ 페이지에 가로 및 컴팩트 레이아웃 추가
|
||
* `개선` 설정 대화상자에 '기본값 사용' 메뉴 추가
|
||
* `개선` 파일 관리자 FAB가 영역 밖을 터치하면 자동으로 숨김
|
||
* `개선` 코드 포매터가 `??`, `?.`, `??=` 연산자 지원
|
||
* `개선` 코드 편집기가 GB18030 / UTF-16 (LE/BE) / Shift_JIS 등 인코딩의 파일 읽기·쓰기를 지원
|
||
* `개선` 코드 편집기가 파일 상세 정보(경로/인코딩/줄바꿈 형식/총 바이트 및 문자 수 등) 표시를 지원 _[`issue #395`](http://issues.autojs6.com/395)_
|
||
* `개선` Intent 작업(편집/보기/설치/전송/재생 등)의 오류 메시지 추가
|
||
* `개선` webview 요소의 url 속성이 상대 경로 지원
|
||
* `개선` ImageWrapper#saveTo 의 path 매개변수가 상대 경로 지원
|
||
* `개선` images.save 가 PNG 압축을 quality 매개변수로 지원 _[`issue #367`](http://issues.autojs6.com/367)_
|
||
* `개선` 무시한 업데이트 목록 및 클라이언트 모드 주소 초기화 기능 추가
|
||
* `개선` 버전 업데이트 정보가 현재 UI 언어로 표시
|
||
* `개선` 비동기 로드로 파일 관리자 리스트 스크롤 부드러움 향상
|
||
* `개선` 콘솔 스크립트 예외 메시지 내용 및 형식 개선
|
||
* `개선` 샘플 코드 폴더를 초기 내용으로 재설정 기능
|
||
* `개선` APK 서명 검증 속도 향상
|
||
* `개선` APK/미디어 파일 정보 대화상자 속도 및 표시 로직 최적화
|
||
* `개선` Gradle 빌드 스크립트가 최신 버전에 더 유연하게 대응 _[`discussion #369`](http://discussions.autojs6.com/369)_
|
||
* `개선` 일부 의존성 또는 로컬 라이브러리 버전 조정 _[`CHANGELOG.md`](http://project.autojs6.com/blob/master/app/src/main/assets-app/doc/CHANGELOG.md#v663)_
|
||
|
||
##### 더 많은 릴리스 기록을 보려면 다음을 참조하세요
|
||
|
||
* [CHANGELOG.md](http://project.autojs6.com/blob/master/app/src/main/assets-app/doc/CHANGELOG-ko.md)
|
||
|
||
******
|
||
|
||
### <a id="project-compilation-and-build"></a>프로젝트 컴파일 및 빌드
|
||
|
||
******
|
||
|
||
AutoJs6 오픈 소스 프로젝트를 디버깅하거나 개발하려면 [Android Studio](https://pro.autojs.org/) ([Google](https://www.google.com/) 제품) 또는 [IntelliJ IDEA](https://www.jetbrains.com/idea/) ([Jetbrains](https://www.jetbrains.com/) 제품)를 사용할 수 있습니다.
|
||
|
||
이 섹션에서는 Android Studio를 사용하여 AutoJs6 오픈 소스 프로젝트를 컴파일하고 빌드하는 방법에 대해 설명합니다. IntelliJ IDEA도 이와 유사합니다.
|
||
|
||
#### Android Studio 준비
|
||
|
||
`Android Studio Panda 2 | 2025.3.2` 버전을 다운로드하십시오 (필요에 따라 선택):
|
||
|
||
- [android-studio-panda2-windows.exe](https://edgedl.me.gvt1.com/android/studio/install/2025.3.2.6/android-studio-panda2-windows.exe) (1.28 GiB)
|
||
- [android-studio-panda2-windows.zip](https://edgedl.me.gvt1.com/android/studio/ide-zips/2025.3.2.6/android-studio-panda2-windows.zip) (1.29 GiB)
|
||
- [android-studio-panda2-linux.tar.gz](https://edgedl.me.gvt1.com/android/studio/ide-zips/2025.3.2.6/android-studio-panda2-linux.tar.gz) (1.32 GiB)
|
||
|
||
> 메모: 상기 버전 출시 날짜는 2026 년 3 월 3 일입니다. 다른 버전을 다운로드하거나 상기 링크가 만료되었을 경우, [Android Studio 릴리스 아카이브](https://developer.android.com/studio/archive?hl=en) 페이지를 방문하십시오.
|
||
|
||
위의 파일을 설치하거나 압축을 풀고 Android Studio 소프트웨어를 실행합니다 (예: `"D:\android-studio\bin\studio64.exe"`).
|
||
|
||
#### Android SDK 준비
|
||
|
||
> 메모: 시스템에 이미 Android SDK(안드로이드 소프트웨어 개발 키트)가 설치되어 있는 경우, 이 섹션을 건너뛸 수 있습니다.
|
||
|
||
`Android SDK (Android 소프트웨어 개발 키트)` 설정 페이지 열기(아래 방법 중 하나):
|
||
|
||
```text
|
||
Help (도움말) | Find action (동작 찾기) # 입력 "Android SDK"
|
||
[ 또는 ]
|
||
File (파일) | Settings (설정) # 검색 "Android SDK"
|
||
[ 또는 ]
|
||
File (파일) | Settings (설정) | Language & Frameworks (언어 및 프레임워크) | Android SDK (안드로이드 소프트웨어 개발 키트)
|
||
[ 또는 ]
|
||
File (파일) | Settings (설정) | Appearance & Behavior (모양 및 동작) | System Settings (시스템 설정) | Android SDK (안드로이드 소프트웨어 개발 키트)
|
||
```
|
||
|
||
`Android SDK Location` (안드로이드 소프트웨어 개발 키트 위치) 필드가 비어 있는 경우, 오른쪽의 `Edit` (편집) 버튼을 클릭하고, 팝업 창에서 여러 번 `Next` (다음)를 클릭합니다.
|
||
|
||
> 메모: 과정 중 하나 이상의 관련 계약을 동의해야 계속 진행할 수 있습니다.
|
||
|
||
관련 리소스가 다운로드 및 설치를 완료하면, `Finish` (완료) 버튼을 클릭합니다.
|
||
위의 `Android SDK Location` (안드로이드 소프트웨어 개발 키트 위치) 필드에 경로가 자동으로 작성되고, SDK 준비 작업이 완료됩니다.
|
||
|
||
#### Android SDK 도구 준비
|
||
|
||
AutoJs6은 일부 SDK 도구 (예: NDK 및 CMake)를 사용해야 합니다.
|
||
|
||
> 메모: 시스템에 AutoJs6이 필요한 모든 Android SDK 도구가 설치되어 있는 경우, 이 섹션을 건너뛸 수 있습니다.
|
||
|
||
`SDK Tools (SDK 도구)` 설정 페이지 열기(아래 방법 중 하나):
|
||
|
||
```text
|
||
Help (도움말) | Find action (동작 찾기) # 입력 "SDK Tools"
|
||
[ 또는 ]
|
||
File (파일) | Settings (설정) # 검색 "SDK Tools"
|
||
[ 또는 ]
|
||
File (파일) | Settings (설정) | Language & Frameworks (언어 및 프레임워크) | Android SDK (안드로이드 소프트웨어 개발 키트) | SDK Tools (SDK 도구) (오른쪽 창에 위치)
|
||
[ 또는 ]
|
||
File (파일) | Settings (설정) | Appearance & Behavior (모양 및 동작) | System Settings (시스템 설정) | Android SDK (안드로이드 소프트웨어 개발 키트) | SDK Tools (SDK 도구) (오른쪽 창에 위치)
|
||
```
|
||
|
||
`Show Package Details` (패키지 세부사항 표시)를 선택하고, NDK와 CMake를 차례로 클릭하여 해당 버전의 도구가 선택되었는지 확인하십시오, SDK 도구 버전 정보는 AutoJs6 프로젝트 루트 디렉터리에 있는 `version.properties` 파일에 있습니다.
|
||
|
||
#### JDK 준비
|
||
|
||
AutoJs6 프로젝트는 `JDK (Java 개발 도구 키트)` 버전이 `17` 이상이어야 하지만, `21` 이상을 권장합니다.
|
||
|
||
2026 년 3 월 14 일 기준으로, AutoJs6이 지원하는 최대 JDK 버전은 `25` 입니다.
|
||
|
||
> 메모: 시스템에 JDK가 설치되어 있고, 버전이 위의 요구 사항을 충족하는 경우, 이 섹션을 건너뛸 수 있습니다.
|
||
|
||
JDK는 IDE에서 직접 다운로드하거나 [Oracle 웹사이트](https://www.oracle.com/java/technologies/downloads/) 에서 다운로드할 수 있습니다.
|
||
|
||
`Gradle JDK` 설정 페이지 열기(아래 방법 중 하나):
|
||
|
||
```text
|
||
Help (도움말) | Find action (동작 찾기) # 입력 "Gradle JDK"
|
||
[ 또는 ]
|
||
File (파일) | Settings (설정) # 검색 "Gradle"
|
||
[ 또는 ]
|
||
File (파일) | Settings (설정) | Build, Execution, Deployment (빌드, 실행, 배포) | Build Tools (구축 도구) | Gradle
|
||
```
|
||
|
||
`Gradle JDK` 에서 다양한 버전의 JDK를 선택하거나 추가할 수 있습니다.
|
||
|
||
목록에 적합한 버전의 JDK(>= `17`)가 있는 경우, 직접 선택하십시오.
|
||
그렇지 않으면 `Download JDK (JDK 다운로드)` 를 선택하여 적절한 JDK를 다운로드하고, `Download (다운로드)` 버튼을 클릭하여 완료될 때까지 기다립니다.
|
||
`Add JDK (JDK 추가)` 를 선택하여 이미 존재하는 로컬 JDK를 추가하고 디렉토리를 지정하여 JDK 추가를 완료할 수 있습니다.
|
||
|
||
#### AutoJs6 자원 복제
|
||
|
||
Android Studio 메인 화면에서 `Get from VCS (버전 관리 시스템에서 가져오기)` 버튼을 클릭합니다.
|
||
`URL (통합 자원 위치)` 에 `https://github.com/SuperMonster003/AutoJs6.git` 을 입력합니다,
|
||
`Directory (디렉토리)` 에서 필요한 경우 특정 경로로 수정할 수 있습니다.
|
||
`Clone (복제)` 버튼을 클릭하고 AutoJs6 프로젝트 리소스를 장치에 로컬로 복제될 때까지 기다립니다.
|
||
|
||
> 메모: 과정 중 [Git (분산 버전 관리 시스템)](https://git-scm.com/download)을 설치해야 할 수도 있습니다.
|
||
|
||
#### AutoJs6 프로젝트 빌드
|
||
|
||
복제가 완료된 후, Android Studio가 AutoJs6 프로젝트 창을 열고 초기 `Dependencies(의존성)` 다운로드 및 Gradle 빌드를 자동으로 완료합니다.
|
||
|
||
> 메모: 상기 과정은 시간이 많이 소요될 수 있습니다. 네트워크 상태가 좋지 않으면 여러 번 재시도해야 할 수 있습니다 (Retry 버튼을 클릭).
|
||
|
||
빌드가 자동으로 진행되지 않거나 프로젝트를 다시 빌드해야 하는 경우, 다음 단계를 따르십시오:
|
||
|
||
- 툴바의 `Run/Debug Configurations` 메뉴에서 `app` 을 선택합니다. 이는 AutoJs6의 메인 앱입니다
|
||
- 좌측의 `Build Project` (망치 아이콘) 버튼을 클릭하여 프로젝트 빌드를 시작합니다. 기본 단축키는 CTRL + F9입니다
|
||
- 빌드가 완료될 때까지 기다립니다. `Builder Output` 탭에 "BUILD SUCCESSFUL in 1h 17m 34s"와 같은 메시지가 표시됩니다
|
||
|
||
빌드에 실패하면, 에러 메시지를 AutoJs6 프로젝트의 [Issues](http://issues.autojs6.com) 페이지에 보고할 수 있습니다.
|
||
|
||
> 참고: 앱 빌드 및 실행에 대한 자세한 내용은 [Android Docs](https://developer.android.com/studio/run?hl=en)를 참조하십시오
|
||
|
||
#### AutoJs6 프로젝트 배포 (앱 실행)
|
||
|
||
프로젝트가 성공적으로 빌드된 후, 이를 실제 디바이스(예: 휴대폰/태블릿)나 가상 디바이스(예: Android 에뮬레이터)에 앱으로 배포할 수 있습니다.
|
||
|
||
- 툴바에서 `Run/Debug Configurations` 메뉴의 `app` 을 선택합니다. 이는 AutoJs6의 메인 앱입니다
|
||
- 우측의 `Available Devices` 드롭다운 목록에서 프로젝트 앱을 실행할 디바이스(실제 또는 가상)를 선택합니다
|
||
- 우측의 `Run` (삼각형 아이콘) 버튼을 클릭하여 앱을 실행합니다. 기본 단축키는 `F10` 입니다
|
||
- 배포가 완료될 때까지 기다리면 선택된 디바이스가 자동으로 앱을 설치하고 실행합니다
|
||
|
||
#### AutoJs6 프로젝트 배포 (APK 생성)
|
||
|
||
프로젝트를 패키징하여 Android 디바이스에 설치할 수 있는 APK 파일을 생성합니다:
|
||
|
||
- 디버그 버전 (Debug Version)
|
||
- `Build (구축)` | `Build Bundle(s) / APK(s)` | `Build APK(s)`
|
||
- 기본 서명을 포함한 디버그 버전 APK 생성
|
||
- 경로 예시: `"D:\AutoJs6\app\build\outputs\apk\debug\"`
|
||
- 릴리즈 버전 (Release Version)
|
||
- `Build (구축)` | `Generate Signed Bundle / APK`
|
||
- `APK` 옵션 선택
|
||
- 서명 파일을 준비하고 (새로 만들거나 선택) 서명된 릴리즈 버전 설치 패키지를 생성합니다
|
||
- 경로 예시: `"D:\AutoJs6\app\release\"`
|
||
|
||
> 참고: 사용자에게 릴리스할 앱 빌드 방법에 대한 자세한 내용은 [Android Docs](https://developer.android.com/build/build-for-release?hl=en)를 참조하십시오
|
||
|
||
#### AutoJs6용 미리 정의된 Gradle 빌드 작업
|
||
|
||
프로젝트 앱 빌드 외에도 AutoJs6는 개발자가 프로젝트 관련 편리한 작업을 수행하는 데 도움이 되는 여러 미리 정의된 Gradle 빌드 작업을 지원합니다.
|
||
|
||
툴바의 `Run/Debug Configurations` 메뉴에서, 좌측에 코끼리 아이콘이 표시된 다양한 미리 정의된 Gradle 작업들을 확인할 수 있습니다.
|
||
|
||
- AutoJs6 [inrt:assemble]
|
||
|
||
"inrt" 빌드 변형을 어셈블합니다. 이는 주로 AutoJs6 스크립트 패키징 기능을 위한 것입니다.
|
||
|
||
AutoJs6 프로젝트에는 다양한 빌드 변형이 있습니다. 그 중 "inrt" 변형은 스크립트 패키징 기능을 위해 사용되며, 패키징에 필요한 템플릿 파일 "template.apk"를 생성합니다.
|
||
|
||
패키징 기능 사용 시 다음과 같은 오류 메시지가 나타날 수 있습니다:
|
||
|
||
> java.io.FileNotFoundException: template.apk
|
||
|
||
이는 템플릿 파일이 존재하지 않음을 나타냅니다. 템플릿 파일을 생성하기 위해 `inrt:assemble` 작업을 수동으로 실행한 후, 앱을 다시 빌드하고 배포하십시오.
|
||
|
||
> 참고: 메인 프로젝트 코드에 변경이 발생하고, 패키징된 앱에 해당 변경 사항을 동기화하려면 `inrt:assemble` 작업을 다시 실행하여 템플릿 파일을 생성한 후 앱을 재배포해야 합니다
|
||
|
||
- AutoJs6 [app:bundle]
|
||
|
||
디버그 빌드 과정의 산출물을 패키징합니다. 이는 주로 [AutoJs6 타입 정의](http://dts-project.autojs6.com) 프로젝트를 위한 것입니다.
|
||
|
||
작업 실행 후, AutoJs6 프로젝트의 최신 JAR 파일이 생성됩니다. [Android d.ts Generator](https://github.com/NativeScript/android-dts-generator) (by [NativeScript](https://github.com/NativeScript)) 도구를 이용하여 AutoJs6 메인 앱의 타입 정의(d.ts 형식)를 생성할 수 있습니다.
|
||
|
||
- AutoJs6 [app:digest]
|
||
|
||
릴리즈 빌드로 생성된 APK 파일에 다이제스트 정보를 추가합니다. 이는 GitHub에 최신 버전의 AutoJs6를 게시하기 전에 최종 파일 이름을 결정하는 데 사용됩니다.
|
||
|
||
다음은 다이제스트 정보 추가 전후의 파일 이름 비교입니다:
|
||
|
||
```text
|
||
전:
|
||
autojs6-v6.6.2-arm64-v8a.apk
|
||
후:
|
||
autojs6-v6.6.2-arm64-v8a-0f2a9d74.apk
|
||
```
|
||
|
||
> 참조: [Android Docs](https://developer.android.com/studio/run?hl=zh-cn)
|
||
|
||
******
|
||
|
||
### <a id="script-development-assistance"></a>스크립트 개발 지원
|
||
|
||
******
|
||
|
||
AutoJs6에서 실행 가능한 스크립트를 개발하려면 적합한 개발 도구를 사용하십시오:
|
||
|
||
- [VSCode](https://code.visualstudio.com/download) / [WebStorm](https://www.jetbrains.com/webstorm/download/) / [HBuilderX](https://www.dcloud.io/hbuilderx.html) ...
|
||
|
||
PC에서 스크립트를 작성하고 디버깅하려면 VSCode 플러그인을 사용하여 PC와 휴대폰을 연결할 수 있습니다:
|
||
|
||
- [AutoJs6-VSCode-Extension](http://vscext-project.autojs6.com) - AutoJs6 디버거 (VSCode 플랫폼 플러그인)
|
||
|
||
개발 도구를 사용하여 코드를 작성할 때, 코드 자동 완성 기능은 개발자를 더 잘 도울 수 있습니다:
|
||
|
||
- [AutoJs6-TypeScript-Declarations](http://dts-project.autojs6.com) - AutoJs6 선언 파일 (코드 자동 완성)
|
||
|
||
코드를 작성할 때, AutoJs6 관련 API 및 사용 방법을 문서에서 조회할 수 있습니다:
|
||
|
||
- [AutoJs6-Documentation](http://docs-project.autojs6.com) - AutoJs6 문서
|
||
|
||
기존의 스크립트 개발 프로젝트는 개인 스크립트 프로젝트 창작에 영감을 줄 수 있습니다:
|
||
|
||
- [Ant-Forest](https://github.com/TonyJiangWJ/Ant-Forest) - ant forest 에너지 자동 수집 스크립트 by [TonyJiangWJ](https://github.com/TonyJiangWJ)
|
||
- [Ant-Forest](https://github.com/SuperMonster003/Ant-Forest) - ant forest 에너지 자동 수집 스크립트 by [SuperMonster003](https://github.com/SuperMonster003)
|
||
- [autojs](https://github.com/e1399579/autojs) - Auto.js 유용한 스크립트 by [e1399579](https://github.com/e1399579)
|
||
- [autojsDemo](https://github.com/snailuncle/autojsDemo) - Auto.js 데모 예제 by [snailuncle](https://github.com/snailuncle)
|
||
- [autojs 관련 저장소](https://github.com/topics/autojs) - GitHub에서 autojs 주제와 관련된 모든 저장소
|
||
|
||
******
|
||
|
||
### 기여 참여
|
||
|
||
******
|
||
|
||
AutoJs6 프로젝트 개발에 참여한 모든 기여자분들께 감사합니다.
|
||
|
||
| <span style="word-break:keep-all;white-space:nowrap">기여자</span> | <span style="word-break:keep-all;white-space:nowrap">커밋 수</span> | <span style="word-break:keep-all;white-space:nowrap">최근 제출</span> |
|
||
|:------:|:------:|:------:|
|
||
| <span style="word-break:keep-all;white-space:nowrap">[Willie169](https://github.com/Willie169)</span> | <span style="word-break:keep-all;white-space:nowrap">[1](https://github.com/SuperMonster003/AutoJs6/pulls?q=is%3Apr+is%3Amerged+author%3AWillie169)</span> | <span style="word-break:keep-all;white-space:nowrap">`2026/03/03`</span> |
|
||
| <span style="word-break:keep-all;white-space:nowrap">[LYS86](https://github.com/LYS86) `(Lin)`</span> | <span style="word-break:keep-all;white-space:nowrap">[4](https://github.com/SuperMonster003/AutoJs6/pulls?q=is%3Apr+is%3Amerged+author%3ALYS86)</span> | <span style="word-break:keep-all;white-space:nowrap">`2025/12/26`</span> |
|
||
| <span style="word-break:keep-all;white-space:nowrap">[wirsnow](https://github.com/wirsnow)</span> | <span style="word-break:keep-all;white-space:nowrap">[1](https://github.com/SuperMonster003/AutoJs6/pulls?q=is%3Apr+is%3Amerged+author%3Awirsnow)</span> | <span style="word-break:keep-all;white-space:nowrap">`2025/05/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/pulls?q=is%3Apr+is%3Amerged+author%3ATonyJiangWJ)</span> | <span style="word-break:keep-all;white-space:nowrap">`2025/04/24`</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/pulls?q=is%3Apr+is%3Amerged+author%3Aluckyloogn)</span> | <span style="word-break:keep-all;white-space:nowrap">`2024/12/31`</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/pulls?q=is%3Apr+is%3Amerged+author%3Akvii)</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) `(Tom)`</span> | <span style="word-break:keep-all;white-space:nowrap">[2](https://github.com/SuperMonster003/AutoJs6/pulls?q=is%3Apr+is%3Amerged+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) `(AI)`</span> | <span style="word-break:keep-all;white-space:nowrap">[7](https://github.com/SuperMonster003/AutoJs6/pulls?q=is%3Apr+is%3Amerged+author%3ALZX284)</span> | <span style="word-break:keep-all;white-space:nowrap">`2023/11/15`</span> |
|
||
| <span style="word-break:keep-all;white-space:nowrap">[kojoe‑code](https://github.com/kojoe-code) `(抠脚本人)`</span> | <span style="word-break:keep-all;white-space:nowrap">[12](https://github.com/SuperMonster003/AutoJs6/pulls?q=is%3Apr+is%3Amerged+author%3Akojoe-code)</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+is%3Amerged+author%3Aaiselp)</span> | <span style="word-break:keep-all;white-space:nowrap">`2023/06/14`</span> |
|
||
데이터 갱신일: 2026 년 3 월 4 일.
|
||
|
||
데이터 항목은 `최근 제출` 순으로 내림차순 정렬됩니다.
|
||
|
||
처리되지 않은 새로 발행된 Pull Request는 병합 처리 후 데이터 통계에 추가될 것입니다.
|
||
|
||
일부 기여자는 [GitHub Contributors](https://github.com/SuperMonster003/AutoJs6/graphs/contributors)에서 정상적으로 표시되지 않으며, 그들의 제출 기록이 비어 있습니다. 그러나 [Pull Request](https://github.com/SuperMonster003/AutoJs6/pulls)를 통해 기여 기록을 확인할 수 있습니다.
|
||
|
||
[//]: # (
|
||
# --------------------------------------------------------------#
|
||
# Before committing and pushing to the remote GitHub repository #
|
||
# --------------------------------------------------------------#
|
||
- IDE
|
||
- The summary of the latest changelog for committing to Git [ DO NOT commit or push ]
|
||
- $projectDir/version.properties
|
||
- Remove the part like [ alpha / beta / ... ] of VERSION_NAME
|
||
- $projectDir/.changelog/lang_zh-Hans.json
|
||
- Update version name and released date
|
||
- Translate into other languages
|
||
- Update TypeScript declarations according to section `dependency` if needed
|
||
- $projectDir/.readme/template_readme.md
|
||
- Update Rhino badge
|
||
- Update Android Studio and IntelliJ IDEA badges [ link: aj6mdgen ]
|
||
- Update contribution section: [ h3_contribution ] [ link: aj6scrapers ]
|
||
- $projectDir/.readme/common.json
|
||
- Update android studio download links and version names [ link: aj6scrapers ]
|
||
- Update contribution section: var_date_contribution_table_data_updated [ link: aj6scrapers ]
|
||
- $projectDir/.python/generate_markdown.py
|
||
- Re-generate markdown by running the python script [ link: aj6mdgen ]
|
||
- Others
|
||
- Re-generate documentation by running the python script [ link: aj6docgen ]
|
||
- Check the two-way versions for AutoJs6 and VSCode ext, then publish the ext to Microsoft if needed
|
||
- Run Gradle task "app:assembleInrtRelease" [ shortcut: C+A+0#- ]
|
||
- Build APK to determine the final VERSION_BUILD field [ shortcut: C+A+0#A ]
|
||
- Run Gradle task "app:appendDigestToReleasedFiles" [ shortcut: C+A+0#= ]
|
||
- Check VERSION_BUILD in version.properties with released apks
|
||
- Commit and push to GitHub
|
||
- Publish the latest release with signed APKs
|
||
) |