multidex 및 Dagger 2를 사용할 때 응용 프로그램 개체에서 함수가 누락 됨

재떨이

최근 Multidexing에 문제가 발생했습니다. 특히 gradle multidex 플러그인 ( 'com.android.support:multidex:1.0.0')을 사용하여 Dalvik VM을 빌드 할 때 문제가 발생했습니다.

gradle이 기본 dex 파일에 포함되어야하는 올바른 클래스를 해결하는 데 어려움이있는 것처럼 보입니다. 그 결과, 우리는 성공적으로 완료되지만 빌드 프로세스와 끝까지 때로는 제대로 (자체 MultiDexApplication를 확장하는) 주요 응용 프로그램의 인스턴스에 필요한 클래스 또는 클래스를 포함하지 않는 주요 덱스 파일을 생성합니다.

일관된 빌드를 무차별 대입하는 현재 솔루션은 multidex에서 생성 된 중간 파일을 모니터링하는 것이 었습니다. 좋은 빌드 (즉, 메인 앱과 MultiDexApplication을 올바르게 인스턴스화 한 빌드) 가있을 때 , 메인 dex 파일에 포함 된 클래스 목록을 파일로 복사 한 다음 multidex를 사용하도록 강제합니다 (--main 사용 -dex-list 매개 변수). 이를 통해 일시적으로 필요한 클래스를 기본 dex 파일에 '강제'할 수 있었지만 분명히 유지 관리가 어렵고 새 클래스 / 종속성이 추가 될 때 쉽게 업데이트 할 수 없습니다.

종속성 주입에 Dagger 2를 사용하고 있으며 이것이 multidex 플러그인이 기본 앱의 종속성을 올바르게 식별하는 데 방해가된다는 의혹이 있습니다. 이것이 가능한 원인 일 수 있습니까? 우리는 또한 멀티 덱싱을위한 '진입 점'으로 최소한의 '앱 래퍼'(이는 MultiDexApplication을 확장 함)를 사용하는 다양한 참조를 보았지만 진행할 프로세스에 대한 충분한 문서를 찾지 못했습니다.

이에 대한 통찰력을 제공 할 수 있다면 좋을 것입니다. 이전에 경험 한 문제입니까? 알려진 해결 방법이 있습니까? '앱 래퍼'패턴을 구현할 수있는 방법에 대해 제공 할 수있는 모든 세부 정보도 매우 감사하겠습니다.

ijunes

새로운 지원 v4 라이브러리에는 multidex가 포함되어 있습니다. 사용해 보셨습니까?

gradle 종속성에 다음을 추가하십시오.

    compile "com.android.support:support-v4:$21.0.+"

이 플래그를 Android> gradle의 defaultConfig에 추가하십시오.

android{
    defaultConfig{
        ....
        multiDexEnabled true
    }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

외부 응용 프로그램을 통해 WebAPI로 전달할 때 정규식 문자열에서 몇 개의 문자가 누락 됨

분류에서Dev

wso2 esb json에 예약 된 전달 메시지 프로세서를 사용할 때 따옴표 및 대괄호가 누락 됨

분류에서Dev

런처를 추가 한 후 Mint 18.3 Cinnamon에서 모든 메뉴 및 패널 응용 프로그램이 누락 됨

분류에서Dev

Word 응용 프로그램을 열 때 "문서가 사용됨"

분류에서Dev

독립형 응용 프로그램에서 DAL 및 Auth를 사용할 때 AttributeError

분류에서Dev

프로그램이 종료 되려고 할 때 / proc / pid / status의 메모리 사용량 정보가 누락 됨

분류에서Dev

Windows 10에 VB6 응용 프로그램을 설치할 때 DLL 누락

분류에서Dev

서블릿 및 Jetty를 사용할 때 누락 된 이미지

분류에서Dev

프로그램 파일 내에 SQL 사용자 (권한이 제한됨)를 포함 할 때의 보안 의미

분류에서Dev

Eve에서 get 이벤트 후크를 사용할 때 "TypeError : pre_get_callback ()에서 1 개의 필수 위치 인수가 누락 됨 : 'lookup'"

분류에서Dev

데이터베이스 쿡북을 사용하려고 할 때 요리사 솔로 개인 키가 누락 됨

분류에서Dev

PHP 함수를 사용하지만 매개 변수가 누락 됨

분류에서Dev

mongoClient 개체 / 모든 개체를 응용 프로그램에서 사용할 수 있도록합니다.

분류에서Dev

하위 테마 WooCommerce를 사용할 때 "storefront-handheld-footer-bar"가 누락 됨

분류에서Dev

루프에서 mv 및 매개 변수 대체를 사용한 후 누락 된 파일

분류에서Dev

루프에서 mv 및 매개 변수 대체를 사용한 후 누락 된 파일

분류에서Dev

컨트롤러없이 디렉터리를 탐색 할 때 MVC 응용 프로그램에서 403 금지됨

분류에서Dev

Eclipse Neon.2 Release (4.6.2)에서 Java 프로젝트를 생성 할 때 Lib 폴더가 누락 됨

분류에서Dev

다른 컴퓨터에서 응용 프로그램을 실행할 때 mfc100u.dll 누락

분류에서Dev

LDAP 사용자로 Ubuntu 16.04에서 스냅 응용 프로그램을 실행할 때 '권한 거부 됨'

분류에서Dev

Jenkins에서 rcp 응용 프로그램을 빌드 한 후 실행 파일 (.exe)이 누락 됨

분류에서Dev

transferwd 개체가 serializable 클래스를 호출 할 때 응용 프로그램이 충돌 함

분류에서Dev

두 개의 onClickListener를 설정할 때 응용 프로그램이 강제 종료 됨

분류에서Dev

C # 응용 프로그램에서 C ++ / CLI를 사용할 때 BadImageFormatException

분류에서Dev

Windows 탐색기에서 미리보기를 시도 할 때 Microsoft Office 15 응용 프로그램에 오류가 표시됨

분류에서Dev

사이트를 다시로드 할 때 Javascript 프롬프트가 누락 됨

분류에서Dev

응용 프로그램 충돌, 함수에 대한 포인터가 의심 됨

분류에서Dev

NSTouchbar를 시도 할 때 Xcode 8.1에서 10.12.1 SDK가 누락 됨

분류에서Dev

openjdk를 사용하여 XMing으로 X11 세션을 전달할 때 스윙 응용 프로그램의 텍스트 필드 및 영역을 편집 할 수 없게 됨

Related 관련 기사

  1. 1

    외부 응용 프로그램을 통해 WebAPI로 전달할 때 정규식 문자열에서 몇 개의 문자가 누락 됨

  2. 2

    wso2 esb json에 예약 된 전달 메시지 프로세서를 사용할 때 따옴표 및 대괄호가 누락 됨

  3. 3

    런처를 추가 한 후 Mint 18.3 Cinnamon에서 모든 메뉴 및 패널 응용 프로그램이 누락 됨

  4. 4

    Word 응용 프로그램을 열 때 "문서가 사용됨"

  5. 5

    독립형 응용 프로그램에서 DAL 및 Auth를 사용할 때 AttributeError

  6. 6

    프로그램이 종료 되려고 할 때 / proc / pid / status의 메모리 사용량 정보가 누락 됨

  7. 7

    Windows 10에 VB6 응용 프로그램을 설치할 때 DLL 누락

  8. 8

    서블릿 및 Jetty를 사용할 때 누락 된 이미지

  9. 9

    프로그램 파일 내에 SQL 사용자 (권한이 제한됨)를 포함 할 때의 보안 의미

  10. 10

    Eve에서 get 이벤트 후크를 사용할 때 "TypeError : pre_get_callback ()에서 1 개의 필수 위치 인수가 누락 됨 : 'lookup'"

  11. 11

    데이터베이스 쿡북을 사용하려고 할 때 요리사 솔로 개인 키가 누락 됨

  12. 12

    PHP 함수를 사용하지만 매개 변수가 누락 됨

  13. 13

    mongoClient 개체 / 모든 개체를 응용 프로그램에서 사용할 수 있도록합니다.

  14. 14

    하위 테마 WooCommerce를 사용할 때 "storefront-handheld-footer-bar"가 누락 됨

  15. 15

    루프에서 mv 및 매개 변수 대체를 사용한 후 누락 된 파일

  16. 16

    루프에서 mv 및 매개 변수 대체를 사용한 후 누락 된 파일

  17. 17

    컨트롤러없이 디렉터리를 탐색 할 때 MVC 응용 프로그램에서 403 금지됨

  18. 18

    Eclipse Neon.2 Release (4.6.2)에서 Java 프로젝트를 생성 할 때 Lib 폴더가 누락 됨

  19. 19

    다른 컴퓨터에서 응용 프로그램을 실행할 때 mfc100u.dll 누락

  20. 20

    LDAP 사용자로 Ubuntu 16.04에서 스냅 응용 프로그램을 실행할 때 '권한 거부 됨'

  21. 21

    Jenkins에서 rcp 응용 프로그램을 빌드 한 후 실행 파일 (.exe)이 누락 됨

  22. 22

    transferwd 개체가 serializable 클래스를 호출 할 때 응용 프로그램이 충돌 함

  23. 23

    두 개의 onClickListener를 설정할 때 응용 프로그램이 강제 종료 됨

  24. 24

    C # 응용 프로그램에서 C ++ / CLI를 사용할 때 BadImageFormatException

  25. 25

    Windows 탐색기에서 미리보기를 시도 할 때 Microsoft Office 15 응용 프로그램에 오류가 표시됨

  26. 26

    사이트를 다시로드 할 때 Javascript 프롬프트가 누락 됨

  27. 27

    응용 프로그램 충돌, 함수에 대한 포인터가 의심 됨

  28. 28

    NSTouchbar를 시도 할 때 Xcode 8.1에서 10.12.1 SDK가 누락 됨

  29. 29

    openjdk를 사용하여 XMing으로 X11 세션을 전달할 때 스윙 응용 프로그램의 텍스트 필드 및 영역을 편집 할 수 없게 됨

뜨겁다태그

보관