build.properties:
com.android.build.tools.gradle 2.2.1
gradle-wrapper 2.14.1
platforms.json:
cordova-android: 6.1.2
gradle-wrapper.properties:
distribution: 2.14.1
build.properties:
com.android.build.tools.gradle 2.3.0
gradle-wrapper 2.14.1 (문제없는듯..?)
gradle-wrapper 3.4.1 (문제없는듯..?)
gradle-wrapper.properties:
distribution: 3.3
gradle runtime: >= 3.3 (Android Studio Built-in Gradle?)
build.properties:
com.android.build.tools.gradle 2.3.0 (Android Studio 2.3 set)
gradle-wrapper 2.14.1 (?)
gradle-wrapper.properties:
distribution: 2.14.1 (Ionic/Cordova set)
gradle runtime: 2.14.1 (?!)
build.properties:
com.android.build.tools.gradle 2.3.0
gradle-wrapper.properties:
distribution: 2.14.1
최신 안드로이드 스튜디오에서 Debug 버튼을 통해서 gradle build를 할 경우, 최신 Instant Debug(?) 기능을 위해 업그레이드를 종용.
- com.android.build.tools.gradle 2.3.0이 gradle>=3.3을 요구
- com.android.build.tools.gradle 2.2.1은 gradle>=2.14.1+을 요구
- (그래서 3.4.1도 됨)
- platforms/android/cordova/lib/builders/GradleBuilder.js가 gradle-wrapper.properties를 덮어 씌운다.
- 이 파일은 cordova-android의 파일.
- 우리는 platform.json에 따르면 cordova-android 6.1.2를 사용하고 있음.
- 해당 파일의 6.1.2 branch는 2.14.1로 세팅함.
- CONFIRMED!
- 해결책1. CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL 환경변수를 통해 오버라이딩 하자.
- 근데 해당 파일의 master branch는 이미 Gradle 3.3임
- 5일 전 Commit이고 6.2.0-dev 버전임. 아직 dev
- 해결책2. 6.2.0-dev를 쓰자.
- 5일 전 Commit이고 6.2.0-dev 버전임. 아직 dev
- 해당 파일의 6.1.2 branch는 2.14.1로 세팅함.
ionic platform add android
를 할 때 무슨일이 벌어지나?ionic start
를 할 때 어떤 cordova를 설치하는가?- ionic-app-lib의 6.1.0은 cordova-android@~5.1.1을 설치한다...?!
- But 우리는 이미 [email protected]를 가지고 있다. 무슨일인가?
- 위의
cordova platform add android
는 cordova를 library로 부르는게 아니라 shell로 부른다.- Ionic의 설치페이지에서는
npm install -g ionic cordova
를 제안한다... OTL $ cordova --version
-> 6.5.0
- Ionic의 설치페이지에서는
- The gradle wrapper -- ? (안읽고 퇴근)
사실 gitignore만 잘 설정했으면 미리 찾을 수 있었던 문제로 보여서, 이걸 먼저 세팅해야할 듯.