.apk가 주어진 시스템 앱을 올바르게 설치하려면 어떻게합니까?


30

시스템 앱 (com.android.mms)을 제거하고 복원하는 데 필요한 .apk가 있지만 표준 채널을 통해 설치되지는 않습니다 (.apk를 실행하면 "응용 프로그램이 설치되지 않았습니다"). 시스템 앱의 .apk를 설치하는 올바른 방법은 무엇입니까?

답변:


41

당신은 시스템 폴더에 파티션에 전화로의 .apk를 밀어해야합니다 /system/app또는 /system/priv-app사용하여 안드로이드 4.3을 사용하는 경우 adb. adb여기 에 대한 자세한 정보는 http://android-dls.com/wiki/index.php?title=ADB 에서 찾을 수 있습니다 .

/system당신 에게 쓰려면 읽기-쓰기를 다시 마운트해야 할 것입니다 :

adb shell
su
mount -o rw,remount /system

또는 호스트의 ADB에서 완전히 수행하십시오.

adb root
adb remount

이제 다음을 배치 할 수 있습니다 .apk.

adb push my-app.apk /sdcard/
adb shell
su
cd /sdcard
mv my-app.apk /system/app
# or when using Android 4.3 or higher
mv my-app.apk /system/priv-app

플래그가 아직 설정되지 않은 경우 권한을 변경하십시오. 모든 시스템 앱에는 권한이 있어야합니다 rw-r--r--. 명령으로 ADB를 통해 변경할 수도 있습니다 chmod 644 /path_to/your_file. 꽤 오래되었지만 도움이 될 수 있습니다.

배치 한 후 .apk장치를 재부팅해야합니다. 예를 들어 adb reboot.


그러나 나는 이것이 갈 길이라고 생각했다. 현재 Android 실행을 설치하는 데 사용한 .zip rom의 일부인 Mms.apk를 사용했습니다.
Dmitriy Likhten

2
아름다운 대답. 감사. 한 의견은 "mv my-app.apk / system / app"를 할 수 없었습니다. ''XXX.apk '-교차 기기 링크에서 오류가 발생했습니다'라는 오류가 발생했습니다. android.stackexchange.com/questions/75920/에
Michael Levy

1
다른 파일 시스템간에 이동하고 모든 버전 에서 지원되는 것은 아니기 때문에 cp대신 사용하는 것이 좋습니다.mvmv
Andres

이것은 apk를 사용하는 패키지에 필요한 apk의 위치로 안드로이드 권한을 업데이트하지 않습니다
paIncrease

5

칼 파커 에 대해 글을 안드로이드 기관 :
(일부 경우에 여기에 재생되는 원래의 게시물 내려갑니다)

장치에 설치된 앱의 경우

  • 기기에 앱을 설치했다고 가정하면 앱의 Google Play 스토어 링크로 이동하여 "? id ="뒤에 나오는 단어를 기록하고 나머지는 무시하십시오.
  • USB 케이블을 통해 장치를 컴퓨터에 연결하십시오.
  • 컴퓨터에서 명령 프롬프트를 열고 다음 명령을 입력하십시오.
adb remount 
adb shell 
su 
cd /data/app/ 
  • 명령을 입력하십시오 ls appfilename*(여기서 "appfilename"은 Google Play 스토어의 앱 ID입니다. 끝에 별표를 포함하십시오). 이 명령은 앱의 완전한 APK 파일 이름을 표시합니다.
  • 다음 명령을 입력하십시오 :
mv apk_full_filename_here /system/app/apk_full_filename_here 
exit 
exit 
adb reboot 
  • 이제 장치가 재부팅됩니다. 이제 앱이 시스템 앱으로 저장되었습니다.

APK가 PC 하드 드라이브에있는 앱의 경우

  • 컴퓨터에서 명령 프롬프트를 열고 APK 파일이있는 위치로 이동하십시오.
  • 장치에서 USB 디버깅을 활성화하고 USB 케이블을 통해 장치를 컴퓨터에 연결하십시오.
  • 다음 명령을 입력하십시오 :
adb remount
adb push apk-filename-here /system/app/
adb shell chmod 644 /system/app/apk-filename-here
adb reboot

휴대 전화가 자동으로 재부팅됩니다. 이제 앱이 시스템 앱으로 저장됩니다.


3

adb를 사용할 때 패키지 파일 이름을 통해 앱을 설치합니다 (즉, 명령 프롬프트에서> adb install myFile.apk를 입력 함).

패키지 이름을 통해 설치 제거합니다 (> adb uninstall com.this.that.otherthing).

이전 버전을 제거하기 전까지는 패키지를 설치할 수 없습니다.

.apk 파일이있는 디렉토리로 이동하여 adb install myFile.apk를 입력 할 수 있도록 PATH에 adb를 추가하면 도움이됩니다.


감사! 제거 메커니즘에 대해 몰랐습니다 :)
Dmitriy Likhten

시스템 응용 프로그램을 사용해 보지 않았지만 일반적인 응용 프로그램 /system/bin/pm(Package Manager) 유틸리티는 저에게 효과적이었습니다. 마찬가지로 pm install -r myFile.apk( -r은 "대체"). 이렇게하면 패키지 이름을 제거하거나 알 필요가 없습니다.
Alexander Malakhov

0

Android SDK (또는 최소한 adb라는 도구)가 설치되어 있어야합니다. 또한 장치에 "비 시장 설치"를 허용해야합니다.

이 작업이 끝나면 콘솔을 사용하여 파일이 포함 된 폴더로 변경합니다. 그런 다음 USB를 통해 전화를 연결하고 실행하십시오.adb install appname.apk


다른 답변의 의견을 참조하십시오. swype를 설치 한 이후 이미 비 시장 설치가 가능합니다. :)
Dmitriy Likhten
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.