55 KiB
언어 (Languages)
현재 README.md 파일에서 지원하는 언어:
- 简体中文 [zh-Hans]
- 繁體中文 (香港) [zh-Hant-HK]
- 繁體中文 (台灣) [zh-Hant-TW]
- English [en]
- Français [fr]
- Español [es]
- 日本語 [ja]
- 한국어 [ko] # 현재
- Русский [ru]
- العربية [ar]
소개
Auto.js Android 플랫폼에서 접근성 서비스를 지원하는 JavaScript 자동화 도구 소프트웨어입니다.
Auto.js는 hyb1996에 의해 2017/01/27 처음 출시되었으며, 2020/03/13 에 유지보수가 중단되었고, 최종 버전 이름은 4.1.1 Alpha2, 빌드 버전 번호는 461 입니다.
AutoJs6는 Auto.js 최종 프로젝트를 기반으로 2021/12/01 에 다시 개발되어 계속해서 오픈 소스로 무료로 유지됩니다.
다음 표는 일부 Auto.js 관련 프로젝트를 나열한 것입니다 (개발 날짜 순으로 정렬됨):
| 프로젝트 | 앱 이름 | 개발자 | 개발 시작 날짜 | 개발 종료 날짜 |
|---|---|---|---|---|
| Auto.js | Auto.js | hyb1996 | 2017/01/27 |
2020/03/13 |
| Auto.js Pro 7 | Auto.js | hyb1996 | 2019/03/13 |
2019/07/08 |
| Auto.js Pro 8 | AutoJsPro | hyb1996 | 2019/10/13 |
2021/07/24 |
| Auto.js | Auto.js M | TonyJiangWJ | 2019/11/21 |
- |
| AutoX | Autox.js | kkevsekk1 | 2020/07/24 |
- |
| Auto.js Pro 9 | AutoJsPro | hyb1996 | 2021/03/28 |
2023/02/09 |
| AutoJs6 | AutoJs6 | SuperMonster003 | 2021/12/01 |
- |
| AutoX | Autox.js v6 | wilinz | 2022/05/26 |
- |
| AutoX | Autox.js v7 | aiselp | 2024/04/21 |
- |
표에 표시된 날짜는 예상 날짜로, 실제 날짜와 다를 수 있습니다.
표에 나열된 Auto.js Pro 7/8/9 는 유료 버전이며, 그 외는 무료 오픈 소스 버전입니다.
기능
- JavaScript IDE로 사용 가능 (코드 자동 완성/변수 이름 변경/코드 포맷팅)
- 접근성 서비스를 기반으로 한 자동화 작업 지원
- 플로팅 버튼 단축 작업 지원 (스크립트 녹화 및 실행/패키지명 및 활동 보기/레이아웃 분석)
- 선택기 API 지원 및 컨트롤 탐색/정보 가져오기/컨트롤 작업 지원 ( UiAutomator와 유사)
- 레이아웃 화면 분석 지원 (안드로이드 스튜디오의 LayoutInspector와 유사)
- 녹화 기능 및 녹화 재생 지원
- 스크린샷 찍기/스크린샷 저장/이미지 색상 찾기/이미지 매칭 지원
- E4X (ECMAScript for XML) 인터페이스 작성 지원
- 스크립트 파일 또는 프로젝트를 APK 파일로 패키징 지원
- Root 권한을 이용한 기능 확장 지원 (화면 클릭/스크롤/녹화/Shell)
- Tasker 플러그인으로 사용 가능
- VSCode와 연결하여 데스크톱 개발 지원 ( AutoJs6-VSCode-Extension 플러그인 필요)
환경
매뉴얼
주요 변경 사항
Auto.js 최종 오픈 소스 버전 4.1.1 Alpha2 와 비교하여 AutoJs6는 주요한 다음과 같은 업그레이드 및 변동사항이 있습니다:
- Shizuku를 통해 ADB 특권을 얻고 시스템 API 사용 지원
- WebSocket 인스턴스를 생성하여 WebSocket 프로토콜에 기반한 네트워크 요청 지원
- 새로운 모듈 추가 [ base64 / crypto / sqlite / i18n / notice / ocr / opencc / qrcode / shizuku / ... ]
- 다국어 지원 [ 서 / 프 / 러 / 아 / 일 / 한 / 영어 / 중국어 / 번체 중 ... ]
- 테마 색상 적응 [ 그룹화 / 위치 / 검색 / 기록 / 밝기 및 대비 자동 적응 / ...]
- 야경 모드 지원 [ 설정 페이지 / 문서 페이지 / 레이아웃 분석 페이지 / 플로팅 창 / ... ]
- VSCode 플러그인 지원 클라이언트 (LAN) 및 서버 (LAN/ADB) 연결 방식
- Rhino 엔진을 v1.7.7.2에서 v1.8.1-SNAPSHOT로 업그레이드
- 유니코드 코드 포인트 이스케이프 지원 보조 평면 문자
'\u{1D160}'; /* 의 의미 "𝅘𝅥𝅮", 전통적인 방법: '\uD834\uDD60'. */ - Object.values() 지원
Object.values({name: 'Max', age: 4}); // ['max', 4] - Array.prototype.includes() 지원
[10, 20, NaN].includes(20); // true - BigInt 지원
typeof 567n === 'bigint'; // true - 템플릿 문자열 지원
`Lucky number: ${(Math.random() * 100).toFixed(0)}` - Rhino 엔진의 더 많은 새로운 기능 보기
- Rhino 엔진 호환성 목록 보기
- 유니코드 코드 포인트 이스케이프 지원 보조 평면 문자
버전 역사
v6.6.2
2025/04/16
추가ui.statusBarAppearanceLight, statusBarAppearanceLightBy, navigationBarColor 등의 메서드추가ui.statusBarHeight 속성 (getter) 을 사용하여 상태 표시줄의 높이를 가져옴issue #357추가images.flip 메서드를 통해 이미지를 반전issue #349추가설정 페이지에 '파일 확장자' 옵션 추가추가테마 설정 페이지가 그룹화, 정렬, 검색, 기록, 컬러 피커 개선 등 새로운 레이아웃을 지원수정Android 15 에서 상태 표시줄 배경색이 테마 색상과 일치하지 않는 문제를 수정수정plugins.load 메서드가 플러그인을 올바르게 로드하지 못하는 문제를 수정issue #290수정Android 7.x 에서 dx 라이브러리가 올바르게 동작하지 않는 문제를 수정issue #293수정require 를 사용해 내장 모듈을 가져올 때 ScriptRuntime 의 동기화 상태에 문제가 발생하는 (임시 해결) 문제를 수정issue #298수정notice 모듈에 getBuilder 등의 확장 메서드가 없는 문제를 수정issue #301수정shizuku/shell 메서드가 문자열 파라미터를 받지 않는 문제를 수정issue #310수정colors.pixel 메서드가 단일 채널 이미지 파라미터를 받지 않는 문제를 수정issue #350수정engines.execScript / execScriptFile 메서드가 스크립트 실행 시 기본 작업 디렉토리를 잘못 설정하는 문제를 수정issue #358issue #340issue #339수정floaty.window / floaty.rawWindow 가 서브 스레드에서 실행되지 않는 문제를 수정수정floaty.getClip 이 클립보드 내용을 올바르게 가져오지 못하는 문제를 수정issue #341수정ui.inflate 의 반환 값에서 attr, on, click 등의 프로토타입 메서드가 누락되는 문제를 수정수정XML 구문을 사용하여 JavaScript 표현식을 속성 값으로 사용할 때, 스코프 컨텍스트가 올바르게 바인딩되지 않는 문제issue #319수정일부 메서드 호출 시 발생하는 예외가 try..catch 로 처리되지 않는 문제를 수정issue #345수정레이아웃 분석 페이지에서 코드 생성 중 앱이 종료되는 문제를 수정issue #288수정패키지화된 앱에서 shizuku 모듈을 제대로 사용할 수 없는 문제를 수정issue #227issue #231issue #284issue #287issue #304수정코드 에디터에서 줄 끝으로 이동할 때 커서가 다음 줄 맨 앞으로 이동하는 문제를 수정수정설정 페이지의 다이얼로그 요소를 연속해서 빠르게 탭할 경우 앱이 종료되는 문제를 수정개선패키지 앱 템플릿의 APK 파일 크기 최적화개선앱 (및 패키지 앱) 이 더 많은 권한을 지원하도록 개선issue #338개선패키징 페이지에 Pinyin 라이브러리 옵션 추가개선패키지 앱 메인 페이지에서 상태 표시줄 배경과 텍스트 색상을 최적화개선패키지 앱 설정 페이지에 전체 파일 접근 및 알림 전송과 같은 특수 권한용 스위치 추가issue #354개선컨트롤의 텍스트와 아이콘 색상이 테마의 밝기에 따라 자동으로 조정되도록 개선개선컨트롤 색상과 배경 간의 대비가 낮을 때 시각적 경험 개선개선컬러 피커의 HEX 입력란에서 클립보드에서 붙여넣기 시 호환성 개선개선앱 내비게이션 바를 시각적 경험을 위해 투명 또는 반투명으로 설정개선라이트 모드에서 상태 표시줄과 내비게이션 바의 기본 UI 모드가md_grey_50색상으로 설정되도록 개선개선홈 드로어의 접근성 서비스 스위치가 스크립트 코드와 동기화되도록 개선개선메인 페이지의 문서 페이지에 양방향 검색 버튼 추가개선메인 페이지 '파일' 탭에서 길게 눌러 플로팅 버튼의 표시 상태를 전환할 수 있도록 개선개선코드 에디터 타이틀이 폰트 크기를 자동으로 조절하도록 개선개선로그 페이지의 플로팅 버튼 표시가 리스트 스크롤 동작과 연동되도록 개선개선스크립트 프로젝트의 project.json 설정 파일이 더 많은 패키징 옵션을 지원하도록 개선issue #305issue #306개선project.json 설정 파일이 옵션 이름의 유연한 매칭과 별칭 호환을 지원하도록 개선개선APK 파일 정보 대화상자에 파일 크기와 서명 스킴 정보를 추가개선APK 파일 정보 대화상자가 텍스트 복사 및 앱 상세 정보로 이동하기 위한 클릭 리스너를 지원하도록 개선개선com.stardust 접두어를 가진 패키지를 복원하여 코드 호환성을 개선issue #290개선floaty.window / floaty.rawWindow 메서드가 메인 스레드와 서브 스레드 모두에서 실행되도록 개선개선글로벌 메서드 getClip 이 필요에 따라 floaty.getClip 을 사용하도록 하여 호환성을 개선개선files.path 및 관련 메서드가 null 경로일 경우에도 적절하게 처리되도록 개선개선최신 공식 Rhino 엔진과의 동기화 및 코드 조정개선README.md 를 개선하여 프로젝트 빌드 및 실행 방법에 대한 문서를 보강issue #344개선일부 의존성 또는 로컬 라이브러리 버전 조정CHANGELOG.md
v6.6.1
2025/01/01
추가중국어 병음 변환을 위한 Pinyin 모듈 (프로젝트 문서 참고 > 중국어 병음)추가중국어 병음 변환을 위한 Pinyin4j 모듈 (프로젝트 문서 참고 > 중국어 병음)추가컨트롤 또는 컨트롤 컬렉션이 유사한지 여부를 확인하는 UiObject#isSimilar 및 UiObjectCollection#isSimilar 메서드추가"currentComponent" 전역 메서드로, 현재 활성화된 구성 요소의 이름 정보를 가져오는 데 사용됩니다수정일부 환경에서 이전 버전으로 롤백하여 프로젝트가 정상적으로 컴파일되지 않는 문제수정존재하지 않는 메서드를 호출할 때 발생할 수 있는 "비원시 값" 예외수정일부 기기에서 스크립트 바로가기를 정상적으로 추가할 수 없는 문제 (임시 수정)issue #221수정automator.click/longClick 메서드의 파라미터 유형 제한 오류issue #275수정선택자가 ConsString 유형의 파라미터를 지원하지 않는 문제issue #277수정UiObjectCollection 인스턴스에서 메서드 및 속성이 누락된 문제개선패키징 페이지에서 서명 구성, 키 저장소 관리 및 권한 설정을 지원합니다. (luckyloogn)pr #286개선플로팅 윈도우의 현재 패키지 이름 및 현재 활동 이름의 인식 정확도가 향상되었습니다 (우선 순위: Shizuku > Root > A11Y)개선currentPackage 및 currentActivity 의 인식 정확도가 향상되었습니다 (우선 순위: Shizuku > Root > A11Y)개선로그 활동 창의 개별 항목 텍스트 내용을 더블 클릭 또는 길게 눌러 선택하는 기능 복원issue #280개선project.json 파일이 손상된 경우에도 가능한 한 중요한 정보를 복원개선단일 파일을 패키징할 때 자동 생성된 패키지 이름 접미사를 간체자로부터 병음으로 변환 (다음 음도 지원)개선UiSelector#findOnce 및 UiSelector#find 메서드에서 음수 인수 지원개선app.startActivity/startDualActivity 메서드의 적응성이 향상되었습니다개선UI 요소 및 className 관련 선택자가 RecyclerView, Snackbar 등과 같은 더욱 다양한 패키지 이름 접두사 생략 형식을 지원개선Rhino 엔진의 최신 업스트림 코드를 동기화하고 기존 프로젝트에 맞게 조정합니다개선일부 의존성 또는 로컬 라이브러리 버전 조정CHANGELOG.md
v6.6.0
2024/12/02 - 내장 모듈 재작성, 신중한 업그레이드 필요
힌트기존 모듈이 스크립트 실행 효율성을 높이기 위해 Kotlin 으로 재작성되었으나, 개선을 위한 몇 가지 반복이 필요합니다힌트내장된 init.js 파일은 기본적으로 비어 있지만, 개발자가 사용자 정의를 위해 모듈을 마운트할 수 있습니다추가axios 모듈 / cheerio 모듈 (AutoX 참조)추가sqlite 모듈, SQLite 데이터베이스 간단 조작에 사용됩니다 (Auto.js Pro 참조) (프로젝트 문서 > SQLite 참조)추가mime 모듈, MIME 유형 문자열을 처리하고 구문 분석하는 데 사용됩니다 (프로젝트 문서 > MIME 참조)추가nanoid 모듈, 문자열 ID 생성기로 사용할 수 있습니다 (ai/nanoid 참조)추가sysprops 모듈, 런타임 환경의 구성 데이터를 얻는 데 사용됩니다 (프로젝트 문서 > 시스템 속성 참조)추가ocr 모듈은 Rapid OCR 엔진을 지원합니다추가레이아웃 분석은 창 전환을 지원합니다 (Auto.js Pro추가auto.clearCache 메소드는 제어 캐시를 지우는 것을 지원합니다 (Auto.js Pro추가threads.pool 메소드는 간단한 스레드 풀 응용 프로그램을 지원합니다 (Auto.js Pro추가images.matchTemplate 메소드는 useTransparentMask 옵션 매개변수를 추가하여 투명 이미지 검색을 지원합니다 (Auto.js Pro추가images.requestScreenCaptureAsync 메소드는 UI 모드에서 비동기적으로 스크린 캡처 권한을 요청하는 데 사용됩니다 (Auto.js Pro추가images.requestScreenCapture 메소드는 isAsync 옵션 매개변수를 추가하여 비동기적으로 스크린 캡처를 획득하는 것을 지원합니다 (Auto.js Pro추가images.on('screen_capture', callback) 등의 이벤트 리스닝 메소드는 스크린 캡처가 사용 가능 이벤트를 모니터링하는 것을 지원합니다 (Auto.js Pro추가images.stopScreenCapture 메소드는 스크린 캡처 요청과 관련된 리소스를 적극 해제하는 것을 지원합니다 (Auto.js Pro추가images.psnr/mse/ssim/mssim/hist/ncc 및 images.getSimilarity 메소드는 이미지 유사성 측정값을 얻는 데 사용됩니다추가images.isGrayscale 메소드는 이미지가 그레이스케일인지 여부를 결정하는 데 사용됩니다추가images.invert 메소드는 이미지의 색상을 반전하는 데 사용됩니다추가s13n.point/time 메소드는 포인트 객체와 시간 객체를 정규화하는 데 사용됩니다 (프로젝트 문서 > 정규화 참조)추가console 모듈의 gravity (중력), touchThrough (터치 스루), backgroundTint (배경 색조) 등의 관련 메소드 (프로젝트 문서 > 콘솔 참조)추가Mathx.randomInt/Mathx.randomFloat 메소드는 주어진 범위 내의 난수 또는 랜덤 부동 소수점을 반환하는 데 사용됩니다추가app.launchDual/startDualActivity 등의 메소드는 듀얼 실행 애플리케이션 처리를 위해 사용됩니다 (Shizuku 또는 Root 권한이 필요) (실험적)추가app.kill 메소드는 애플리케이션을 강제로 종료하는 데 사용됩니다 (Shizuku 또는 Root 권한이 필요)추가floaty.getClip 메소드는 플로팅 창의 포커스를 통해 클립보드 내용을 간접적으로 얻는 데 사용됩니다수정Fragment 하위 클래스 (예: DrawerFragment / ExplorerFragment 등) 내의 View Binding 메모리 누수수정ScreenCapture / ThemeColorPreference 등의 클래스 내의 인스턴스 메모리 누수수정Android 14 에서 스크린 캡처 권한을 요청할 때 앱이 충돌하는 문제 (by chenguangming)pr #242수정Android 14 에서 포어그라운드 서비스를 시작할 때 앱이 충돌하는 문제수정Android 14 에서 코드 에디터에서 실행 버튼을 클릭해도 점등되지 않는 문제수정프로젝트 패키징 후 필요한 라이브러리 파일이 부족하여 앱이 정상적으로 실행되지 않을 수 있는 문제issue #202issue #223pr #264수정프로젝트 편집 시 지정된 아이콘 리소스가 없는 경우 앱이 충돌하는 문제issue #203수정스크린 캡처 권한 획득 시 지정된 화면 방향의 스크린샷 리소스를 매개변수로 얻지 못할 수 있는 문제수정일부 기기에서 스크립트 바로가기를 정상적으로 추가할 수 없는 문제 (시도 수정)issue #221수정http 모듈 및 관련 메소드를 호출할 때 축적된 요청으로 인해 전송 지연이 발생하는 문제issue #192수정AutoJs6 가 메인 액티비티 페이지에 들어가기 전에 Shizuku 서비스가 정상적으로 사용할 수 없는 문제 (시도 수정)issue #255수정random(min, max) 메소드에서 결과가 오버플로우할 가능성이 있는 문제수정pickup 메소드의 결과형 매개변수가 빈 배열을 올바르게 전달할 수 없는 문제수정UiObject#bounds() 에서 얻은 컨트롤 경계가 의도와 다르게 변경될 수 있는 문제수정text/button/input 요소의 텍스트 내용에 하프 사이즈의 이중 따옴표가 포함된 경우 올바르게 구문 분석되지 않는 문제수정text/textswitcher 요소의 autoLink 속성이 작동하지 않는 문제수정다른 스크립트가 동일한 ScriptRuntime 객체를 잘못 공유할 가능성이 있는 문제수정전역 변수 HEIGHT 및 WIDTH 가 Getter 동적 속성을 잃는 문제수정스크립트 시작 시 RootShell 이 즉시 로드되어 시작이 느려지는 문제수정콘솔 플로팅 창에서 배경색을 설정하면 사각형의 모서리가 사라지는 문제수정서비스 이상 문제를 일으킬 수 있는 접근성 서비스의 자동 시작 (시도 수정)수정홈페이지의 문서 페이지에서 왼쪽 또는 오른쪽으로 이동할 때 WebView 컨트롤이 ViewPager 전환을 유발할 수 있는 문제수정파일 확장명이 대문자를 포함하는 경우 파일 관리자에서 인식하지 않는 문제수정파일 관리자가 프로젝트 디렉토리에 처음 들어갔을 때 프로젝트를 자동으로 인식하지 못할 수 있는 문제수정파일 관리자에서 폴더를 삭제 후 페이지가 자동 갱신되지 않는 문제수정파일 관리자에서 파일 및 폴더를 정렬할 때 ASCII 의 선행 문자명을 멀리 두는 문제수정코드 편집기의 디버그 기능에서 FAILED ASSERTION 예외 발생수정코드 편집기에서 디버그 중 편집기를 닫은 후 다시 정상적으로 디버그할 수 없는 문제수정코드 편집기에서 행의 끝으로 이동할 때 끝 문자 누락 가능성 있는 문제수정메인 액티비티 페이지에서 로그 액티비티 페이지를 실행할 때 플래시 스크린 문제 발생 가능성수정앱 패키지가 opencc 모듈을 정상적으로 사용할 수 없는 문제개선패키지 페이지 내 '사용 불가 ABI' 컨트롤의 클릭 힌트 사용자 경험개선Shizuku 를 사용하여 '포인터 위치' 디스플레이 스위치를 제어하는 것을 지원개선Shizuku 를 사용하여 '미디어 프로젝션' 및 '보안 설정 수정' 권한 스위치를 제어하는 것을 지원개선automator.gestureAsync/gesturesAsync 가 콜백 함수 매개변수를 지원개선tasks 모듈이 동기화 방식으로 데이터베이스 작업을 수행하는 것을 지원, 데이터 액세스의 불일치 문제 방지개선스크립트 실행 모드가 파이프 기호로 구분된 모드 매개변수 (예: 'ui|auto';처럼 시작) 를 지원개선스크립트 실행 모드가 싱글 쿼테이션 및 백틱을 지원하여 세미콜론 생략 (예: 'ui'; 또는 'ui'처럼 시작) 가능개선스크립트 실행 모드가 axios, cheerio, dayjs 등의 모드 매개변수로 내장 확장 모듈의 빠른 가져오기를 지원 (예: 'axios';처럼 시작)개선스크립트 실행 모드가 x 또는 jsox 모드 매개변수로 JavaScript 내장 객체 확장 모듈의 빠른 활성화를 지원 (예: 'x';처럼 시작)개선img 요소의 src 및 path 속성이 로컬 상대 경로를 지원 (예: '
'처럼)개선코드 편집기에서 Java 클래스나 패키지명을 가져오는 위치의 지능형 판단을 지원개선images 모듈이 이미지 매개변수로 경로의 직접 사용을 지원개선importPackage 가 문자열 매개변수를 지원개선서버 모드의 IP 주소가 클립보드 가져오기를 스마트하게 인식하고, 스페이스 키 스마트 변환을 지원개선파일 관리자가 새 파일을 생성할 때 기본 접두사 선택 및 적절한 숫자 접미사의 자동 생성을 지원개선파일 관리 프로젝트 실행 시 예외 메시지 구체화issue #268개선파일 관리자가 더 많은 유형을 지원하고, 해당 아이콘 심볼을 표시 (800 이상의 파일 타입 지원)개선파일 관리자에서 편집 가능한 파일 타입 (jpg/doc/pdf...) 에 편집 버튼 추가개선파일 관리자가 APK 파일의 기본 정보, Manifest 정보 및 권한 목록을 표시하는 것을 지원개선파일 관리자가 오디오 및 비디오 같은 미디어 파일의 기본 정보 및 MediaInfo 정보를 표시하는 것을 지원개선단일 파일 패키징 시 적절한 정규화 이름 패키지를 자동 입력하며, 유효하지 않은 문자 필터링을 권장개선단일 파일 패키징 시 동일한 패키지 이름의 앱이 설치된 경우 아이콘을 자동 설정하고, 버전 번호와 버전명을 증가시키는 것을 지원개선패키지 프로젝트 설정 파일이 abis/libs 옵션을 지원하고, 기본적으로 포함되는 ABI 아키텍처와 확장 라이브러리를 지정개선패키지 프로젝트 설정 파일의 abis/libs 옵션이 무효하거나 사용할 수 없을 때 관련 메시지를 지원개선불필요한 증가 방지를 위해 릭 캐너리를 릴리스 버전에서 제외개선프로젝트 소스 코드 내 모든 영어 주석에 한국어 번역 추가하여 읽기 쉬운 주석 개선개선README 및 CHANGELOG 에 여러 언어 지원 (스크립트를 통한 자동 생성)개선Gradle 빌드 스크립트의 버전 적응 능력을 개선개선일부 의존성 또는 로컬 라이브러리 버전 조정CHANGELOG.md
더 많은 버전 기록은 참조하십시오
프로젝트 컴파일 및 빌드
AutoJs6 오픈 소스 프로젝트를 디버깅하거나 개발하려면 Android Studio (Google 제품) 또는 IntelliJ IDEA (Jetbrains 제품)를 사용할 수 있습니다.
이 섹션에서는 Android Studio를 사용하여 AutoJs6 오픈 소스 프로젝트를 컴파일하고 빌드하는 방법에 대해 설명합니다. IntelliJ IDEA도 이와 유사합니다.
Android Studio 준비
Android Studio Meerkat | 2024.3.1 Patch 2 버전을 다운로드하십시오 (필요에 따라 선택):
- android-studio-2024.3.1.15-windows.exe (1.22 GB)
- android-studio-2024.3.1.15-windows.zip (1.23 GB)
메모: 상기 버전 출시 날짜는 2025 년 4 월 21 일입니다. 다른 버전을 다운로드하거나 상기 링크가 만료되었을 경우, Android Studio 릴리스 아카이브 페이지를 방문하십시오.
위의 파일을 설치하거나 압축을 풀고 Android Studio 소프트웨어를 실행합니다 (예: "D:\android-studio\bin\studio64.exe").
Android SDK 준비
메모: 시스템에 이미 Android SDK(안드로이드 소프트웨어 개발 키트)가 설치되어 있는 경우, 이 섹션을 건너뛸 수 있습니다.
Android Studio 소프트웨어에서 CTRL + ALT + S 단축키를 사용하여 설정 페이지를 엽니다:
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 도구가 설치되어 있는 경우, 이 섹션을 건너뛸 수 있습니다.
Android Studio 소프트웨어에서 CTRL + ALT + S 단축키를 사용하여 설정 페이지를 엽니다:
Appearance & Behavior (외관 및 행동) ->
System Settings (시스템 설정) ->
Android SDK (안드로이드 소프트웨어 개발 키트) ->
SDK Tools (SDK 도구) (오른쪽 창에 위치)
Show Package Details (패키지 세부사항 표시)를 선택하고, NDK와 CMake를 차례로 클릭하여 해당 버전의 도구가 선택되었는지 확인하십시오, SDK 도구 버전 정보는 AutoJs6 프로젝트 루트 디렉터리에 있는 version.properties 파일에 있습니다.
JDK 준비
AutoJs6 프로젝트는 JDK (Java 개발 도구 키트) 버전이 17 이상이어야 하지만, 19 이상을 권장합니다.
2025 년 5 월 14 일 기준으로, AutoJs6이 지원하는 최대 JDK 버전은 24 입니다.
메모: 시스템에 JDK가 설치되어 있고, 버전이 위의 요구 사항을 충족하는 경우, 이 섹션을 건너뛸 수 있습니다.
JDK는 IDE에서 직접 다운로드하거나 Oracle 웹사이트 에서 다운로드할 수 있습니다.
Android Studio 소프트웨어에서 단축키 CTRL + ALT + S 를 사용하여 설정 페이지를 여십시오:
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 (분산 버전 관리 시스템)을 설치해야 할 수도 있습니다.
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 페이지에 보고할 수 있습니다.
참고: 앱 빌드 및 실행에 대한 자세한 내용은 Android Docs를 참조하십시오
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 / APKAPK옵션 선택- 서명 파일을 준비하고 (새로 만들거나 선택) 서명된 릴리즈 버전 설치 패키지를 생성합니다
- 경로 예시:
"D:\AutoJs6\app\release\"
참고: 사용자에게 릴리스할 앱 빌드 방법에 대한 자세한 내용은 Android Docs를 참조하십시오
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 타입 정의 프로젝트를 위한 것입니다.
작업 실행 후, AutoJs6 프로젝트의 최신 JAR 파일이 생성됩니다. Android d.ts Generator (by NativeScript) 도구를 이용하여 AutoJs6 메인 앱의 타입 정의(d.ts 형식)를 생성할 수 있습니다.
- AutoJs6 [app:digest]
릴리즈 빌드로 생성된 APK 파일에 다이제스트 정보를 추가합니다. 이는 GitHub에 최신 버전의 AutoJs6를 게시하기 전에 최종 파일 이름을 결정하는 데 사용됩니다.
다음은 다이제스트 정보 추가 전후의 파일 이름 비교입니다:
전:
autojs6-v6.6.2-arm64-v8a.apk
후:
autojs6-v6.6.2-arm64-v8a-0f2a9d74.apk
참조: Android Docs
스크립트 개발 지원
AutoJs6에서 실행 가능한 스크립트를 개발하려면 적합한 개발 도구를 사용하십시오:
PC에서 스크립트를 작성하고 디버깅하려면 VSCode 플러그인을 사용하여 PC와 휴대폰을 연결할 수 있습니다:
- AutoJs6-VSCode-Extension - AutoJs6 디버거 (VSCode 플랫폼 플러그인)
개발 도구를 사용하여 코드를 작성할 때, 코드 자동 완성 기능은 개발자를 더 잘 도울 수 있습니다:
- AutoJs6-TypeScript-Declarations - AutoJs6 선언 파일 (코드 자동 완성)
코드를 작성할 때, AutoJs6 관련 API 및 사용 방법을 문서에서 조회할 수 있습니다:
- AutoJs6-Documentation - AutoJs6 문서
기존의 스크립트 개발 프로젝트는 개인 스크립트 프로젝트 창작에 영감을 줄 수 있습니다:
- Ant-Forest - ant forest 에너지 자동 수집 스크립트 by TonyJiangWJ
- Ant-Forest - ant forest 에너지 자동 수집 스크립트 by SuperMonster003
- autojs - Auto.js 유용한 스크립트 by e1399579
- autojsDemo - Auto.js 데모 예제 by snailuncle
- autojs 관련 저장소 - GitHub에서 autojs 주제와 관련된 모든 저장소
기여 참여
AutoJs6 프로젝트 개발에 참여한 모든 기여자분들께 감사합니다.
| 기여자 | 커밋 수 | 최근 제출 |
|---|---|---|
| TonyJiangWJ | 5 | 2025/04/24 |
| luckyloogn | 3 | 2025/01/01 |
| kvii | 1 | 2024/10/16 |
chenguangming (Tom) |
2 | 2024/05/14 |
LZX284 (AI) |
17 | 2023/11/19 |
little‑alei (抠脚本人) |
12 | 2023/07/12 |
| aiselp | 6 | 2023/06/14 |
LYS86 (Lin) |
2 | 2023/06/03 |
데이터 갱신일: 2025 년 5 월 13 일.
데이터 항목은 최근 제출 순으로 내림차순 정렬됩니다.
처리되지 않은 새로 발행된 Pull Request는 병합 처리 후 데이터 통계에 추가될 것입니다.
일부 기여자는 GitHub Contributors에서 정상적으로 표시되지 않으며, 그들의 제출 기록이 비어 있습니다. 그러나 Pull Request를 통해 기여 기록을 확인할 수 있습니다.
