... 그때 내 APK가 구축 mm
를 사용 LOCAL_DEX_PREOPT := false
을 설정 할 수 있었다 롤리팝에서Android Marshmallow 플랫폼에서 시스템 앱을 생산적으로 개발하는 방법은 무엇인가요? 나는 플랫폼의 <code>eng</code> 빌드 안드로이드 특권 시스템 애플 리케이션을 개발하고 있어요
는 시스템에 adb remount
및 adb push
APK는 할 분할. 시스템이 변경 사항을 감지하고 덱스 (dex)를 다시 작성하면 생산성이 높아졌습니다. 앱이 persistent
인 경우 프로세스를 추가로 삭제해야했습니다.
마쉬멜로 우를 개발하는 동안이 과정에서 여러 가지 문제가 발생합니다. APK를 누르면 실행하려고하면 제공 :
02-01 20 : 58 : 26.302 E/dex2oat (3045) : 귀리 파일을 만들 수 없습니다 : /데이터/달빅 캐시/arm64/시스템 @ priv- 응용 프로그램 @ XYZ @ XYZ.apk는 classes.dex @ :
이[1614.216323] = 1400 감사 (686361.299 : 48) : 입력 : AVC : 거부 {쓰기} 권한
SELinux에 문제가 거부 pid = 2640 comm = "oid.XYZ"name = "arm64"dev = "dm-0"ino = 360453 scontext = U : R : system_app : S0 tcontext = U : object_r : dalvikcache_data_file : S0 인 TClass = DIR 허용 = 0
내가이 문제를 얻기 위해 해킹의 모든 종류의 시도 ...
물론 전체 시스템을 다시 빌드하고 플래시 할 수는 있지만 생산성이 떨어집니다.
Nougat에는 'oat' 디렉토리가 없으므로이 단계를 건너 뛰고 Lollipop처럼 개발할 수 있습니다. – satur9nine
위 해결책의 한 가지 문제점은 Nougat에서도'adb shell stop '과'adb shell start'로 OS를 다시 시작하지 않으면'AndroidManifest.xml'에 대한 변경 사항이 적용되지 않는다는 것입니다. 전체 운영 체제를 실행할 필요가없는 해결 방법을 알고 싶습니다. – satur9nine