안드로이드 플랫폼 (OS)
안드로이드 플랫폼은 구글에서 개발한 모바일 운영 체제(OS)입니다. 안드로이드는 리눅스 커널을 기반으로 하며, 앱 개발자들에게 다양한 API를 제공합니다. 안드로이드는 스마트폰, 태블릿, 스마트워치, TV, 자동차 등 다양한 기기에 사용되고 있습니다.
안드로이드 플랫폼은 전 세계적으로 가장 인기 있는 모바일 운영 체제 중 하나입니다. 2022년 12월 기준으로, 안드로이드를 사용하는 기기의 수는 25억 대를 넘어섰습니다. 안드로이드는 앞으로도 더욱 인기를 얻을 것으로 예상됩니다.
안드로이드 14는 2023년 7월 19일에 출시되었습니다. 안드로이드 14는 안드로이드 13의 후속 버전이며, 새로운 기능과 개선 사항이 포함되어 있습니다. 새로운 기능 중에는 다음과 같은 것들이 있습니다.
- 새로운 UI 디자인
- 새로운 사진 편집 기능
- 새로운 보안 기능
- 새로운 배터리 관리 기능
- 새로운 게임 기능
안드로이드 14는 안드로이드 13을 사용하는 기기에서 업데이트할 수 있습니다. 업데이트 방법은 기기의 제조업체에 따라 다릅니다.
안드로이드 앱 (APK, APP)
안드로이드 앱은 안드로이드 운영 체제가 실행되는 기기에서 실행되는 소프트웨어입니다.
안드로이드 앱은 다양한 기능을 제공하며, 사용자의 생활을 편리하게 해줍니다.
안드로이드 앱은 Google Play Store, Samsung Galaxy Store, Amazon Appstore, Aptoide 등에서 다운로드할 수 있습니다.
안드로이드 앱은 안드로이드 기기의 필수 요소입니다.
안드로이드 앱을 사용하면 안드로이드 기기의 기능을 최대한 활용할 수 있습니다.
안드로이드 콘솔 커맨드 (command)
콘솔에서 사용하는 경우는 adb 명령을 제외하면 됩니다.
Host PC에서 사용하는 경우는 예시처럼 adb 명령을 추가해 주면 됩니다.
기본 adb 명령어 사용 방법은 아래와 같습니다.
adb shell am start -n com.package.name/com.package.name.ActivityName
그럼 실행하고 싶은 어플리케이션 패키지 네임을 어떻게 알 수 있을까요?
먼저 설치된 패키지 목록을 찾아봅니다.
adb shell pm list packages -f
다음과 같이 grep 명령어를 추가하여 원하는 앱만 찾을 수 있습니다.
console:/ $ pm list packages -f | grep system/app
package:/system/app/BookmarkProvider/BookmarkProvider.apk=com.android.bookmarkprovider
package:/system/app/CaptivePortalLogin/CaptivePortalLogin.apk=com.android.captiveportallogin
package:/system/app/EasterEgg/EasterEgg.apk=com.android.egg
package:/system/app/PacProcessor/PacProcessor.apk=com.android.pacprocessor
package:/system/app/KeyChain/KeyChain.apk=com.android.keychain
package:/system/app/CarMapsPlaceholder/CarMapsPlaceholder.apk=com.android.car.mapsplaceholder
package:/system/app/CertInstaller/CertInstaller.apk=com.android.certinstaller
package:/system/app/SimAppDialog/SimAppDialog.apk=com.android.simappdialog
package:/system/app/ExtShared/ExtShared.apk=android.ext.shared
package:/system/app/SampleCustomInputService/SampleCustomInputService.apk=com.android.car.custominput.sample
package:/system/app/BasicDreams/BasicDreams.apk=com.android.dreams.basic
package:/system/app/NfcNci/NfcNci.apk=com.android.nfc
package:/system/app/PrintSpooler/PrintSpooler.apk=com.android.printspooler
package:/system/app/PrintRecommendationService/PrintRecommendationService.apk=com.android.printservice.recommendation
package:/system/app/SecureElement/SecureElement.apk=com.android.se
package:/system/app/WallpaperBackup/WallpaperBackup.apk=com.android.wallpaperbackup
package:/system/app/CarFrameworkPackageStubs/CarFrameworkPackageStubs.apk=com.android.car.frameworkpackagestubs
package:/system/app/CarHTMLViewer/CarHTMLViewer.apk=com.android.htmlviewer
package:/system/app/CarLatinIME/CarLatinIME.apk=com.android.inputmethod.latin
package:/system/app/HideCameraApps/HideCameraApps.apk=com.android.car.hidecameraapps
package:/system/app/CarPermissionControllerRRO/CarPermissionControllerRRO.apk=com.android.permissioncontroller.car.rro
package:/system/app/CompanionDeviceManager/CompanionDeviceManager.apk=com.android.companiondevicemanager
package:/system/app/BluetoothMidiService/BluetoothMidiService.apk=com.android.bluetoothmidiservice
package:/system/app/SystemUpdater/SystemUpdater.apk=com.android.car.systemupdater
package:/system/app/Traceur/Traceur.apk=com.android.traceur
package:/system/app/CameraExtensionsProxy/CameraExtensionsProxy.apk=com.android.cameraextensions
그럼 여기서 webview 모바일 브라우져를 커맨드로 열어보겠습니다.
찾은 패키지의 세부 내용을 알아보기 위해 덤프 명령어를 통해 메인액티비티를 찾습니다.
pm dump com.android.webview | grep MainActivity
다음과 같이 grep과 함께 검색 시 MainActivity를 쉽게 찾을 수 있습니다.
c0c1f33 com.android.webview/org.chromium.android_webview.devui.MainActivity
그럼 여기서 am start 커맨드로 webview를 실행하면 커맨드로 안드로이드 앱을 수행할 수 있습니다.
am start com.android.webview/org.chromium.android_webview.devui.MainActivity
실행을 했으니 이제는 커맨드로 종료를 해보겠습니다.
am stop-app com.android.webview/org.chromium.android_webview.devui.MainActivity
'개발 이야기' 카테고리의 다른 글
[linux] 실시간 성능 모니터링을 위한 명령어 top (0) | 2023.09.04 |
---|---|
[linux] 프로세스 우선순위 지정 명령어 nice (0) | 2023.09.04 |
[개발자편] 아시나요? 코딩테스트 (0) | 2023.08.10 |
[개발자편] 아시나요? 개발자 되기 위한 협업도구 (0) | 2023.08.08 |
patch git branch 자동화 스크립트 만들기 (0) | 2023.07.28 |