2014-04-07 4 views
9

내 앱이 키오스크 환경에서 실행되어야하기 때문에 AOSP 소스 코드를 수정합니다.AOSP 빌드에서 기본 시작 프로그램을 어떻게 설정합니까?

Android를 앱으로 직접 부팅하고 싶습니다. 나는 발사대 2generic_no_telephony.mk에서 제외하고 거기에 앱을 추가했습니다. 이제 안드로이드는 내게 항상 이라는 기본 런처을 묻습니다.

팝업에 사용할 수있는 두 가지 선택 :

  1. 홈 샘플
  2. 내 응용 프로그램.

Android 홈 샘플 실행기를 어떻게 제외 할 수 있습니까? 또는 AOSP 빌드에서 기본 실행 프로그램을 설정하는 또 다른 방법이 있습니까?

답변

12

변경 사항을 추적해야하므로 성가신 AOSP 파일을 수정하는 대신 응용 프로그램의 make 파일에 LOCAL_OVERRIDES_PACKAGES 행을 추가하는 것이 더 쉽습니다. 예를 들어

는 :

LOCAL_OVERRIDES_PACKAGES := Launcher2 Launcher3 

그 패키지이 패키지가 추가 된 모든 빌드에 추가되지 않도록 것이다 Android.mk 파일에 추가.

그 후, 당신은

make installclean 

을해야하고 빌드 당신은 항상 당신의 구축을 같은 방식으로 시작합니다. make installclean은 이전 빌드에서 남겨진 패키지를 제거하는 것이 중요합니다.

가 나는 또한 또 다른 질문에서이 작업을 수행하는 방법에 대한 좋은 해답을 발견, 참조 : How would I make an embedded Android OS with just one app?

+0

, 그것은) = 작동 희망 (내 테스트 OS는 YMMV, 안드로이드 N입니다)! – user3506467

+0

정말 고마워요. – user3506467

+0

LOCAL_OVERRIDES_PACKAGES : = Launcher2 Launcher3을 추가했습니다. 내 응용 프로그램이 설치되었습니다. 하지만 Launcher2도 항상 설치합니다. 부팅 후 내 런처를 선택하라는 메시지가 나타납니다. generic_no_telephony.mk에서 Launcher2를 삭제하면 Launcher2가 설치되지 않지만 내 런처와 홈 샘플 중 하나를 선택하라는 메시지가 나타납니다. – maggocnx

0

위의 대답은 올바른 것입니다. LOCAL_OVERRIDES_PACKAGES가 작동합니다. 그러나 의견 중 하나를 해결하려면; 해야만했습니다 LOCAL_OVERRIDES_PACKAGES : = Home Launcher2 Launcher3

Home은 Lancher2도 사용할 수없는 경우 Launcher로 사용되는 샘플 홈 앱입니다.

이러한 3 가지 런처를 제거한 후에 만; 내가 대화 상자에서 사용자에게 선택을 요청하지 않고도 기본적으로 내 맞춤 실행 프로그램 실행을 볼 수 있었습니까?

지금 그것을 시도하고

관련 문제