우수한 소프트웨어와 실용적인 튜토리얼
웹사이트-APK: 효율적인 오픈 소스 WebView 애플리케이션 구축 프레임워크
모바일 애플리케이션 개발 분야에서 기존 웹사이트를 네이티브 안드로이드 APK로 신속하게 패키징해야 할 필요성이 점점 더 커지고 있으며, 특히 개발 주기와 리소스 투자를 최소화하려는 개발자에게 더욱 그렇습니다. 웹사이트-투-APK는 WebView 구성 요소를 사용하여 원활한 변환을 구현하는 정교한 오픈소스 도구로, Android Studio 또는 Java 프로그래밍 전문 지식 없이도 모든 웹사이트를 완벽하게 작동하는 APK 래퍼로 변환할 수 있습니다. 이 프레임워크는 빌드 프로세스를 간소화할 뿐만 아니라 기기 간 호환성과 보안을 보장하며, 정적 사이트부터 동적 웹 애플리케이션까지 다양한 사용 사례에 적합합니다. GitHub 데이터에 따르면, 이 프로젝트는 수천 명의 개발자가 프로덕션 수준 애플리케이션을 배포하는 데 도움을 주어 모바일 전환의 문턱을 크게 낮췄습니다.
핵심 기능
- 완전히 무료이며 오픈 소스입니다.**: MIT 라이선스 계약에 따라 소스 코드는 개방적이고 투명하며, 사용자는 규정 준수 및 유지 관리를 보장하기 위해 자유롭게 검토, 수정 및 확장할 수 있습니다.
- 직관적인 명령줄 인터페이스**: 다채로운 출력 형식과 사용자 친화적인 대화형 환경을 통해 초보자도 효율적으로 탐색할 수 있습니다.
- 자동화된 환경 종속성: OpenJDK 17 및 Android SDK 도구를 위한 자동 다운로드 및 설치 메커니즘이 내장되어 있어 수동 구성의 복잡성을 제거합니다.
- APK 수명 주기 관리 전체: 서명, 빌드, 테스트부터 프로덕션 수준 배포 지원까지 전체 체인 자동화가 포함됩니다.
- 사용자 스크립트 통합**: Tampermonkey 스타일 스크립트 주입과 호환되어 핵심을 수정하지 않고도 애플리케이션 기능을 확장할 수 있습니다.
- 리소스 사용량이 낮음: 최적화된 빌드 프로세스는 시스템 요구 사항을 최소화하고 리소스가 제한된 환경에 적합합니다.
빠른 시작
이 저장소를 복제하세요:
git clone https://github.com/Jipok/website-to-apk cd website-to-apk
구성 파일을 만듭니다 webapk.conf
:
id = myapp # 애플리케이션 ID(com.myapp.webtoapk가 됨) name = My App Name # 앱의 표시 이름 mainURL = https://example.com # 대상 웹사이트 URL icon = example.png # 앱 아이콘 경로(PNG 형식) allowSubdomains = true # example.com과 sub.example.com 간 탐색 허용 requireDoubleBackToExit = true # 앱을 종료하려면 뒤로 두 번 눌러야 함 enableExternalLinks = true # 외부 링크 허용 openExternalLinksInBrowser = true # 허용되는 경우: 브라우저 또는 WebView에서 외부 링크 열기 confirmOpenInBrowser = true # 외부 브라우저를 열기 전에 확인 표시 allowOpenMobileApp = false # 외부 앱 링크/스키마 차단
서명 키를 생성합니다(한 번만 필요하며, 생성된 파일은 안전하게 보관하세요):
./make.sh 키젠
구성을 적용하고 빌드합니다.
./make.sh 빌드
최종 APK는 현재 디렉토리에 생성됩니다.
참고: 애플리케이션 빌드 중 오류가 발생하면 구성 파일을 확인하세요. 구성 파일의 id 옵션에는 마침표(.)가 포함될 수 없습니다.
YouTube 예시
YouTube에 대한 사전 구성된 프로필은 디렉토리에서 사용할 수 있습니다. 컨퍼런스/유튜브
YouTube APK를 빌드하려면 다음 명령을 실행하세요.
./make.sh 빌드 confs/youtube/webapk.conf
사용 가능한 명령
./make.sh build [config] - 구성 적용 및 빌드
./make.sh keygen - 서명 키 생성
./make.sh test - 연결된 장치에 APK를 설치하고 테스트합니다.
./make.sh clean - 빌드 파일을 정리합니다.
./make.sh apk - apply_config 없이 APK 빌드
./make.sh apply_config - 구성 파일의 설정을 적용합니다.
./make.sh get_java - OpenJDK 17을 로컬로 다운로드
앱 링크/딥 링크
설정 파일에서 옵션을 설정하여 앱에서 웹사이트로의 딥 링크를 처리하도록 할 수 있습니다. 이 옵션을 설정하면 기기에서 웹사이트 링크를 클릭하면 브라우저가 아닌 앱에서 열립니다.
예를 들어, 귀하의 웹사이트가 https://example.com의 경우 다음을 설정하세요.
딥링크 = example.com
사용자 스크립트 지원
이 애플리케이션은 구성 옵션을 통해 사용자 스크립트(Tampermonkey/Violentmonkey 스크립트와 유사)를 지원합니다. 스크립트
:
scripts = scripts/*.js # scripts 디렉토리에서 모든 .js 파일을 로드합니다. # 또는 scripts = site-*.js # 패턴과 일치하는 모든 파일을 로드합니다. # 또는 scripts = script1*.js script20.js # 특정 스크립트 파일을 로드합니다.
사용자 스크립트의 작동 방식:
- 스크립트는 Tampermonkey/Violentmonkey 등과 함께 사용할 수 있습니다. @성냥
그리고 @런앳
지시사항, 다른 지시사항은 무시됩니다
- 그렇지 않은 경우 @성냥
지정된 경우 스크립트는 모든 페이지에서 실행됩니다.
- 오직 GM_추가 스타일
Greasemonkey API 지원
- 가지다 토스트("짧은 메시지")
기능
- 다음 방법을 사용하여 스크립트 콘솔 출력을 모니터링할 수 있습니다.console.log/alert/warn
):
./make.sh 테스트
일반적인 사용 사례는 다음과 같습니다.
- 웹사이트에 다크모드 추가
- 웹사이트의 모양을 사용자 정의하세요
- 새로운 기능 추가
- 모바일 호환성 문제 해결
유용한 스크립트 예시:
dark-mode.js - 시스템 기본 설정을 존중하는 범용 다크 테마
instant.js - 사용자가 페이지를 클릭하면 페이지를 미리 로드하여 페이지 로딩 속도를 높입니다.
추가 WebView 옵션
다음과 같은 고급 옵션도 구성할 수 있습니다.
cookies = "key1=value1; key2=value2" # mainURL 호스트에 대한 쿠키 basicAuth = login:password # mainURL 호스트에 대한 HTTP 기본 인증 userAgent = "MyCustomUserAgent/1.0" # 사용자 지정 UserAgent 헤더 JSEnabled = true # JavaScript 실행 활성화 JSCanOpenWindowsAutomatically = true # JS에서 새 자격 증명 창/팝업을 열도록 허용 DomStorageEnabled = true # HTML5 DOM 저장소 활성화 DatabaseEnabled = true # HTML5 Web SQL 데이터베이스 활성화 SavePassword = true # WebView에 비밀번호 저장 허용 AllowFileAccess = true AllowFileAccessFromFileURLs = true forceLandscapeMode = false # 화면 방향을 가로로 잠금 showDetailsOnErrorScreen = false # 사용자에 대한 연결 오류 세부 정보 표시 confirmOpenExternalApp = true # 외부 앱을 열기 전에 확인 표시 blockLocalhostRequests = true # 127.0.0.1에 대한 요청 차단 trustUserCA = false # 앱이 사용자가 설치한 SSL 인증서를 신뢰하도록 허용 geolocationEnabled = false # 지리적 위치 API 차단
기술 세부 사항
- - 대상 Android API: 33(Android 13)
- - 최소 안드로이드 API: 24 (안드로이드 7.0)
- - 빌드 도구 버전: 33.0.2
- - Gradle 버전: 7.4
- - 필요한 Java 버전: 17
- - 모든 애플리케이션 데이터는 애플리케이션의 개인 디렉토리에 저장됩니다.
- - 키스토어
앱/내 릴리스 키.jks
기본 비밀번호는 "123456"입니다.
웹사이트-투-APK는 모듈성과 확장성으로 모바일 개발 툴체인 중에서도 단연 돋보이며, 신속한 프로토타입 제작과 웹 에셋을 네이티브 배포 패키지로 변환하는 데 이상적입니다. 단독 개발자든 팀과 협업하든, 이 프레임워크는 높은 호환성과 보안을 유지하면서 컨셉 개발부터 배포까지의 시간을 크게 단축합니다. 지금 바로 저장소를 복제하여 그 잠재력을 경험해 보세요. 오픈 소스 커뮤니티의 힘이 여러분의 아이디어를 현실로 만들어 줄 것입니다.