7.0 소스 코드에서 발생하는 문제 및 해결 방안 컴파일

2134 단어

단독 모듈 오류 컴파일


모듈을 개별적으로 컴파일하면 다음과 같은 오류가 발생합니다.
ninja: error: 'out/host/common/obj/JAVA_LIBRARIES/bouncycastle-hostdex_intermediates/classes.jack', needed by 'out/host/common/obj/JAVA_LIBRARIES/core-tests-hostdex_intermediates/classes.dex', missing and no known rule to make it

해결 방법은 libcore 모듈 아래libcore에 다음 문장을 추가하는 것입니다.
export LIBCORE_SKIP_TESTS = false:$LIBCORE_SKIP_TESTS

이 말은 테스트 모듈 컴파일을 건너뛰고 정상적으로 컴파일할 수 있다는 뜻이다Android.mk 모듈
Android 7.0의 컴파일링 시스템을 비꼬지 않을 수 없습니다. Android 7.0은 libcore 게다가 Ninja 로 컴파일하기 때문에 속도는 뚜렷하지 않지만 자원을 많이 차지합니다. 같은 기계가 Android 5.1을 컴파일할 때 사용Jack, 다른 프로그램은 기본적으로 영향을 받지 않지만 Android 7.0에서 사용make -j32하면 전체 컴퓨터 카드는 **와 같습니다...

ADB 오류


컴파일이 완료되면 make -j32 를 사용하면 다음과 같은 오류가 발생합니다.
error: insufficient permissions for device

오류를 보고하는 동시에 아래에서 홈페이지에 가서 해당 문서를 보는 것을 권장합니다. 문서를 보면 해결 방법은 다음과 같습니다. 편집adb reboot bootloader 파일, 현재 연결된 장치를 추가하는 것입니다. 형식은 다음과 같습니다. /etc/udev/rules.d/51-android.rules 그 중에서 SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666", GROUP="plugdev" 값은 현재 장치 제조사에 대응하는 값이어야 합니다. 여기서 제 장치는 Nexus 6이기 때문에 대응하는 값은 22b8입니다. 마지막으로 실행합니다.
chmod a+r /etc/udev/rules.d/51-android.rules

일반 장치의 USB Vendor ID
회사명
USB Vendor ID
Google
18d1
HTC
0bb4
Huawei
12d1
Lenovo
17ef
LG
1004
Motorola
22b8
Samsung
04e8
Sony
054c
ZTE
19d2
상용 공급업체 장치의 USB Vendor ID가 위에 있으며, 전체 목록은 홈페이지를 볼 수 있습니다.
홈페이지 지도에 따라rules를 설치하면 될 것 같습니다. 만약 안 된다면 간단합니다. 뽑고 usb를 다시 꽂으세요...

Build

  • ATTR{idVendor}에서 정의할 수 있음device/moto/shamu/aosp_shamu.mk, 이 값은 Settings의 핸드폰 모델 표시줄
  • 에 표시됩니다.
  • PRODUCT_MODULE 에서 수정할 수 있음build/core/version_defaults.mk, 이 값은 BUILD_NUMBER 의 버전 번호 표시줄
  • 에 표시됩니다.

    좋은 웹페이지 즐겨찾기