Android Studio3 멀티 채널 패키징에 부딪힌 구덩이

1902 단어
안드로이드 스튜디오3이 출시된 지도 한참 됐다.그러나 가끔 몇 번 보는 것 외에도 업무 중에 2를 일상적인 개발에 사용해 왔다.그러던 어느 날 손이 싸서 자세히 보지도 않고 업데이트를 누르고 수중에 있는 2를 3으로 업그레이드했다.어, 그래, 승급은 승급이야.그러나 원래의 프로젝트는 Studiou3에서 바로build을 할 수 없게 되었다.자자자, 무슨 상황인지 보자.
1. 우선gradle plugin은 3 이상, sdk build tools는 26 이상입니다.그래, 그래, 네가 말한 대로 해라.
2. Error: All flavors must now belong to a named flavor dimension.잘못 1
이것은 버전마다 하나 이상의 flavor Dimensions를 구축해야 한다는 것을 말합니다.이것을 이용하면 서로 다른 수요의 버전을 포장할 수 있다.(여러 버전을 포장하지 않으면 이 오류를 보고하지 않습니다) 메인 앱의build.gradle 안의defaultConfig에flavorDimensions 속성을 추가합니다. 예를 들어 데모와Release 두 차원을 구축합니다.이렇게
defaultConfig {
  targetSdkVersion:***
  minSdkVersion :***
  versionCode:***
  versionName :***
  flavorDimensions "demo","release"
}

3. 그리고 여러 채널의 포장이 필요하기 때문에 채널 설정에dimension 파라미터를 지정해야 한다.
앞서 설정한 각 Dimension은 다음과 같이 사용해야 합니다.
productFlavors {
        _demo {
            dimension "demo"
        }
        _wandoujia {
            dimension "release"
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "_wandoujia"]
        }
}

4.build 한번, 또 폭발Unable to resolve dependency for ':app@dexOptions/compileClasspath': Could not resolve project...의 잘못.
근거https://stackoverflow.com/questions/46949622/android-studio-3-0-unable-to-resolve-dependency-for-appdexoptions-compilecla이 게시물.들어오는 라이브러리에 의존하는build입니다.gradle에는 메인 app와build이 있어야 합니다.gradle에 있는 같은buildTypes 설정입니다.그러니까
    buildTypes{
        release {
            ...
        }
        debug {
            ...
        }
    }

라이브러리에 의존하는build입니다.gradle에도 설치하면 돼.
5. 다시build, 어, 또 우맹이 sdk로 전송한jar 파일을 읽을 수 없다고 했어요.
구체적인 파일을 보니 이전 버전의jar 파일이어서 읽을 수 없었습니다.Studio2 때 털 때문에 저한테 얘기 안 했어요?삭제하다.
6. 다시 build 하세요. 모든 것이 정상입니다. 이때부터 Studio3에서 벽돌을 옮깁니다.
flavorDimensions 사용에 대한 자세한 내용은 다음을 참조하십시오. 구성 변형

좋은 웹페이지 즐겨찾기