Ionic-framework: Android SDK 도ꡬ μ—…λ°μ΄νŠΈ 25.3.0 μ΄ν›„λ‘œ Android ν”Œλž«νΌμ„ μΆ”κ°€ν•  수 μ—†μŒ

에 λ§Œλ“  2017λ…„ 03μ›” 01일  Β·  45μ½”λ©˜νŠΈ  Β·  좜처: ionic-team/ionic-framework

이온 버전:
[X] 2.1

μ œμΆœν•©λ‹ˆλ‹€...
[X] 버그 λ³΄κ³ μ„œ

ν˜„μž¬ 행동:
Android ν”Œλž«νΌμ„ μΆ”κ°€ν•˜λ©΄ λ‹€μŒ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.
였λ₯˜: Android SDK λ‚΄μ—μ„œ gradle 래퍼λ₯Ό 찾을 수 μ—†μŠ΅λ‹ˆλ‹€. Android SDKλ₯Ό μ—…λ°μ΄νŠΈν•΄μ•Ό ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

μ˜ˆμƒλ˜λŠ” λ™μž‘:
였λ₯˜ μ—†μŒ

μž¬ν˜„ 단계:
$ ionic ν”Œλž«νΌ μ•ˆλ“œλ‘œμ΄λ“œ μΆ”κ°€

기타 정보:
μ΅œμ‹  릴리슀의 Android SDK λ„κ΅¬μ—μ„œ ν”„λ‘œμ νŠΈ ν…œν”Œλ¦Ώ μ œκ±°μ™€ μ—°κ²°λœ 것 κ°™μŠ΅λ‹ˆλ‹€. http://tools.android.com/recent/androidsdktoolsrevision2530feb2017

더 이상 μ‚¬μš©λ˜μ§€ μ•ŠλŠ”/μ‚¬μš©λ˜μ§€ μ•ŠλŠ” 도ꡬ가 μ œκ±°λ˜μ—ˆμŠ΅λ‹ˆλ‹€. [...] ν”„λ‘œμ νŠΈ 및 ν™œλ™ ν…œν”Œλ¦Ώ

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

지원 질문? μ§„μ§œμ•Ό? Ionic2 및 Android SDKλ₯Ό λ‹€μš΄λ‘œλ“œν•˜λŠ” μ‹ κ·œ μ‚¬μš©μžλŠ” μ΅œμ‹  SDKλ₯Ό μ²˜λ¦¬ν•˜μ§€ μ•ŠλŠ” Ionic2 λΉŒλ“œ 슀크립트둜 인해 μ§€κΈˆ Android λΉŒλ“œλ₯Ό λ§Œλ“œλŠ” 데 λΉ„μ°Έν•˜κ²Œ μ‹€νŒ¨ν•©λ‹ˆλ‹€.

이 λ³€κ²½μœΌλ‘œ 인해 λ§Žμ€ 개발 ν”„λ‘œμ νŠΈκ°€ ν˜„μž¬ λ§Žμ€ μ‹œκ°„μ„ λ‚­λΉ„ν•˜κ³  μžˆλ‹€κ³  상상할 수 μžˆμŠ΅λ‹ˆλ‹€. 무슨 일이 μΌμ–΄λ‚˜κ³  μžˆλŠ”μ§€ νŒŒμ•…ν•˜λŠ” 데 μ•½ 2μ‹œκ°„μ΄ κ±Έλ Έκ³  이전 SDK둜 λ‹€μš΄κ·Έλ ˆμ΄λ“œν•˜λŠ” 과정이 λ‹€μ†Œ λ³΅μž‘ν–ˆμŠ΅λ‹ˆλ‹€(Android Studio λ‚΄μ—μ„œ μˆ˜ν–‰ν•  수 μ—†κΈ° λ•Œλ¬Έμ—). 무엇이든 μ§€κΈˆ 이 λ¬Έμ œμ— λŒ€ν•΄ 첫 νŽ˜μ΄μ§€μ— 큰 κ²½κ³ λ₯Ό ν‘œμ‹œν•΄μ•Ό ν•©λ‹ˆλ‹€.

λͺ¨λ“  45 λŒ“κΈ€

λ†€λžμŠ΅λ‹ˆλ‹€. μ—¬κΈ°μ—μ„œ Android SDK의 λͺ‡ 가지 μƒˆλ‘œμš΄ κΈ°λŠ₯이 ν•„μš”ν•œ μ—…λ°μ΄νŠΈλ₯Ό μˆ˜ν–‰ν–ˆμœΌλ©° 도ꡬ μ—…λ°μ΄νŠΈ ν›„ μœ„μ—μ„œ μ„€λͺ…ν•œ 것과 λ™μΌν•œ 문제둜 λͺ¨λ“  것이 μ€‘λ‹¨λ˜μ—ˆμŠ΅λ‹ˆλ‹€. ν₯미둜운 점은 android.bat도 ν•΄λ‹Ή μ—…λ°μ΄νŠΈμ—μ„œ 더 이상 μ‚¬μš©λ˜μ§€ μ•ŠμœΌλ―€λ‘œ νŠΉμ • SDKλ₯Ό μ„€μΉ˜ν•˜λŠ” 데 μ‚¬μš©ν•  μˆ˜λ„ μ—†λ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€.

μˆ˜λ™μœΌλ‘œ μ„€μΉ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ°Έμ‘°: https://forum.ionicframework.com/t/error-could-not-find-gradle-wrapper-within-android-sdk/79527/5

25.3은 Android Studio 및 Ionicκ³Ό ν˜Έν™˜λ˜μ§€ μ•ŠλŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ μ—…κ·Έλ ˆμ΄λ“œν•˜λ©΄ AS의 SDK κ΄€λ¦¬μžμ—μ„œ "독립 μ‹€ν–‰ν˜• SDK κ΄€λ¦¬μž μ‹€ν–‰" 링크도 λŠμ–΄μ§‘λ‹ˆλ‹€. κ°€μž₯ 쒋은 방법은 Android Studio의 SDK κ΄€λ¦¬μžμ—μ„œ "Android SDK 도ꡬ"λ₯Ό μ œκ±°ν•˜κ³  https://developer.android.com/studio/index.html μ—μ„œ tools_*.zip νŒŒμΌμ„ λ‹€μš΄λ‘œλ“œν•˜μ—¬ Android SDK에 μΆ”μΆœν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. 폴더.

μ—¬λ³΄μ„Έμš”! 문제λ₯Ό μ—΄μ–΄μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€! 이것은 지원 μ§ˆλ¬Έμ— 더 가깝기 λ•Œλ¬Έμ— 포럼 μ΄λ‚˜ slack 채널 μ—μ„œ 이 μ§ˆλ¬Έμ„ ν•˜μ‹œκΈ° λ°”λžλ‹ˆλ‹€. Ionic을 μ‚¬μš©ν•΄ μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€!

지원 질문? μ§„μ§œμ•Ό? Ionic2 및 Android SDKλ₯Ό λ‹€μš΄λ‘œλ“œν•˜λŠ” μ‹ κ·œ μ‚¬μš©μžλŠ” μ΅œμ‹  SDKλ₯Ό μ²˜λ¦¬ν•˜μ§€ μ•ŠλŠ” Ionic2 λΉŒλ“œ 슀크립트둜 인해 μ§€κΈˆ Android λΉŒλ“œλ₯Ό λ§Œλ“œλŠ” 데 λΉ„μ°Έν•˜κ²Œ μ‹€νŒ¨ν•©λ‹ˆλ‹€.

이 λ³€κ²½μœΌλ‘œ 인해 λ§Žμ€ 개발 ν”„λ‘œμ νŠΈκ°€ ν˜„μž¬ λ§Žμ€ μ‹œκ°„μ„ λ‚­λΉ„ν•˜κ³  μžˆλ‹€κ³  상상할 수 μžˆμŠ΅λ‹ˆλ‹€. 무슨 일이 μΌμ–΄λ‚˜κ³  μžˆλŠ”μ§€ νŒŒμ•…ν•˜λŠ” 데 μ•½ 2μ‹œκ°„μ΄ κ±Έλ Έκ³  이전 SDK둜 λ‹€μš΄κ·Έλ ˆμ΄λ“œν•˜λŠ” 과정이 λ‹€μ†Œ λ³΅μž‘ν–ˆμŠ΅λ‹ˆλ‹€(Android Studio λ‚΄μ—μ„œ μˆ˜ν–‰ν•  수 μ—†κΈ° λ•Œλ¬Έμ—). 무엇이든 μ§€κΈˆ 이 λ¬Έμ œμ— λŒ€ν•΄ 첫 νŽ˜μ΄μ§€μ— 큰 κ²½κ³ λ₯Ό ν‘œμ‹œν•΄μ•Ό ν•©λ‹ˆλ‹€.

^^ μ €μΌκ²λ‹ˆλ‹€. πŸ˜’

Btw νŒ€μ—μ„œ μ–΄λ–»κ²Œ 이런 일이 λ°œμƒν–ˆλŠ”μ§€ λͺ…ν™•νžˆ ν•˜κΈ° μœ„ν•΄ κ°‘μžκΈ° μƒˆλ‘œμš΄ λΌμ΄μ„ μŠ€ 계약을 μˆ˜λ½ν•˜μ§€ μ•Šμ•„ Android ν”„λ‘œμ νŠΈλ₯Ό λΉŒλ“œν•  수 μ—†λŠ” 였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. 그런 λ‹€μŒ ν•΄λ‹Ή λΌμ΄μ„ μŠ€ 계약에 λ™μ˜ν•˜κΈ° μœ„ν•΄ Android Studioλ₯Ό μ—΄μ—ˆμ„ λ•Œ 기본적으둜 μ΅œμ‹  SDKλ₯Ό λ‹€μš΄λ‘œλ“œν•˜λŠ” 것을 μ˜λ―Έν–ˆμŠ΅λ‹ˆλ‹€. 결과적으둜 Ionic2 λΉŒλ“œ μŠ€ν¬λ¦½νŠΈκ°€ ν•΄λ‹Ή SDK와 ν˜Έν™˜λ˜μ§€ μ•Šμ•˜κΈ° λ•Œλ¬Έμ— μš°λ¦¬λŠ” μ’Œμ΄ˆλ˜μ—ˆμŠ΅λ‹ˆλ‹€.

Btw, SDKλ₯Ό λ‹€μš΄κ·Έλ ˆμ΄λ“œν•˜μ—¬ μˆ˜μ • 사항을 μ œμ•ˆν•΄ μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€. 포럼 κ²Œμ‹œλ¬Όμ—μ„œ λˆ„κ΅°κ°€ μ–ΈκΈ‰ν–ˆλ“―μ΄ 이것은 기본적으둜 λ‹€μŒ 쀑 ν•˜λ‚˜λ₯Ό λ‹€μš΄λ‘œλ“œν•˜λŠ” 것을 μ˜λ―Έν•©λ‹ˆλ‹€.

https://dl.google.com/android/repository/tools_r25.2.5-macosx.zip
https://dl.google.com/android/repository/tools_r25.2.5-windows.zip

μ‹œμŠ€ν…œμ— 따라 (λ¦¬λˆ…μŠ€λ„ μžˆλ‹€κ³  μƒκ°ν•©λ‹ˆκΉŒ?). λ¨Όμ € λͺ¨λ“  도ꡬλ₯Ό μ œκ±°ν•˜κ³  μ‚¬μš©μž 폴더(이제 λΉ„μ–΄ μžˆμ–΄μ•Ό 함)μ—μ„œ Android 도ꡬ 폴더λ₯Ό 찾은 λ‹€μŒ νŒŒμΌμ„ μˆ˜λ™μœΌλ‘œ 볡사해야 ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ λ‹€λ₯Έ 방법은 λ‹€μš΄λ‘œλ“œν•˜κ³  μΆ”μΆœν•œ λ„κ΅¬μ˜ 경둜λ₯Ό λŒ€μ‹  μ§€μ •ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. μ–΄λ–€ μ‹μœΌλ‘œλ“  android.bat νŒŒμΌμ„ μ‹€ν–‰ν•˜μ—¬ ν”„λ‘œμ νŠΈκ°€ μ‹€μ œλ‘œ 컴파일되기 전에 λͺ‡ 가지 μΆ”κ°€ ν•­λͺ©μ„ λ‹€μš΄λ‘œλ“œν•˜κ³  μ„€μΉ˜ν•΄μ•Ό ν–ˆμŠ΅λ‹ˆλ‹€.

도움을 μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€ @64jcl.

μ•ˆλ…•ν•˜μ„Έμš”, μ €λŠ” macOSμ—μ„œ λ™μΌν•œ λ¬Έμ œμ— μ§λ©΄ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. Android SDK 도ꡬ 25.3.1을 μ„€μΉ˜ν–ˆμŠ΅λ‹ˆλ‹€.

Ionic νŒ€μ΄ 이 문제λ₯Ό μ–Έμ œ μˆ˜μ •ν• μ§€ ν™•μ‹€ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
κ·ΈλŸ¬λ‚˜ κ·Έ λ™μ•ˆ ν•΄κ²° λ°©λ²•μœΌλ‘œ Android SDK 도ꡬλ₯Ό μˆ˜λ™μœΌλ‘œ λ‹€μš΄κ·Έλ ˆμ΄λ“œν•  수 μžˆμŠ΅λ‹ˆλ‹€. https://forum.ionicframework.com/t/error-could-not-find-gradle-wrapper-within-android-sdk/79527/5

λ‚˜λŠ” 같은 문제λ₯Ό κ°€μ§€κ³ μžˆλ‹€. λͺ¨λ“  μœ ν˜•μ˜ Android λΉŒλ“œλ₯Ό μ‹œλ„ν•  λ•Œλ§Œ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€. 예: ionic build android λ˜λŠ” ionic run android ...
OS: λ¦¬λˆ…μŠ€ 민트
이온 버전: 2.2.1
μ½”λ₯΄λ„λ°” 버전: 6.5.0
SDK 도ꡬ 25.3.1

μ•„λž˜μ™€ 같은 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.
Error: Could not find gradle wrapper within Android SDK. Might need to update your Android SDK. Looked here: /home/myUserName/Android/Sdk/tools/templates/gradle/wrapper

/home/myUserName/Android/Sdk/tools/" κ²½λ‘œλŠ” λ‚΄ Android SDK 폴더에 μ‘΄μž¬ν•˜μ§€λ§Œ 파일 ꡬ쑰의 /templates/gradle/wrapper 뢀뢄은 SDK 도ꡬ 25.3.1에 μ‘΄μž¬ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

λ˜ν•œ μœ„μ™€ λ™μΌν•œ λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€. νŒ€μ΄ 이 문제λ₯Ό λ§ˆκ°ν–ˆλ‹€λŠ” 사싀에 정말 λ†€λžμŠ΅λ‹ˆλ‹€. λ‹€λ₯Έ μ‚¬λžŒλ“€μ΄ λ§ν–ˆλ“―μ΄ μƒˆλ‘œμš΄ μ‚¬μš©μžλŠ” 방금 λ‹€μš΄λ‘œλ“œν•œ SDK 도ꡬλ₯Ό λ˜λŒλ¦¬λŠ” 것을 λͺ¨λ₯΄κΈ° λ•Œλ¬Έμ— 즉각적인 νŒ¨μΉ˜κ°€ ν•„μš”ν•œ 것 κ°™μŠ΅λ‹ˆλ‹€.

λ‚˜λ„.. 이것은 지원 λ¬Έμ œκ°€ μ•„λ‹™λ‹ˆλ‹€. λͺ…μ‹œλœ 지침과 SW νŒ¨ν‚€μ§€κ°€ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€!

λͺ¨λ“  μœ ν˜•μ˜ Cordova λΉŒλ“œλ₯Ό μˆ˜ν–‰ν•˜λ €κ³  ν•  λ•Œ λ˜‘κ°™μ€ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€. 이 λ¬Έμ œλŠ” Ionic λŒ€μ‹  Cordovaμ—μ„œ ν•΄κ²°ν•΄μ•Ό ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. 방금 Cordova 문제 좔적기λ₯Ό λ³΄μ•˜λŠ”λ° λ‹€λ₯Έ μ‚¬λžŒλ“€μ΄ SDK 도ꡬ 25.3.1μ—μ„œ 파일 경둜 λ³€κ²½μœΌλ‘œ 인해 ν”ŒλŸ¬κ·ΈμΈμ„ μΆ”κ°€ν•˜λŠ” 데 λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€. μ—¬κΈ° μ—μ„œ Cordova νŒ€μ΄ 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ λ…Έλ ₯ν•˜κ³  μžˆλŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

@jgw96 지원 문제둜 이것을 μ’…λ£Œν•˜λŠ” 것이 μ΅œμ„ μ˜ μ‘°μΉ˜μΈμ§€ ν™•μ‹€ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

κ·ΈλŒ€λ‘œ, κ°€μ΄λ“œμ—μ„œ "Hello world"λ₯Ό μ‹œλ„ν•˜λ©΄ μ‚¬μš©μžκ°€ νŽΈμ§€μ— λŒ€ν•œ 지침을 λ”°λ₯Ό λ•Œ 이 문제둜 λ°”λ‘œ μ‹€ν–‰λ©λ‹ˆλ‹€.

μ—…μŠ€νŠΈλ¦Ό 문제둜 κ²°μ •λ˜λ”λΌλ„ "μ‹œμž‘ν•˜κΈ°"λŠ” μ„€λͺ…λœ λŒ€λ‘œ μ¦‰μ‹œ ν•΄κ²°ν•΄μ•Ό ν•˜λ―€λ‘œ μ—…λ°μ΄νŠΈ/μ„€λͺ…ν•΄μ•Ό ν•©λ‹ˆλ‹€.

μ†”μ§νžˆ λ§ν•΄μ„œ, μ΄ˆμ‹¬μž μ˜ˆμ œμ—μ„œ "Xλ₯Ό λ‹€μš΄λ‘œλ“œν•œ λ‹€μŒ Z μœ„μΉ˜μ—μ„œ ꡬ성 μš”μ†Œ Yλ₯Ό 였래된 λ²„μ „μœΌλ‘œ μˆ˜λ™μœΌλ‘œ ꡐ체"와 같은 것을 κ°–λŠ” 것은 κ½€ λ§Žμ€ μ‚¬λžŒλ“€μ„ μ—°κΈ°ν•  수 있고 μ •λ‹Ήν•˜κ²Œ κ·Έλ ‡κ²Œ imhoμž…λ‹ˆλ‹€.

κ·Έλž˜λ„ μ†”λ£¨μ…˜μ„ μ°ΎκΈ° μœ„ν•΄ ꡬ글링을 ν•˜λŠ” 것보닀 λ‚˜μ€ μƒν™©μž…λ‹ˆλ‹€. 특히 Ionic을 μ‚¬μš©ν•˜λŠ” λͺ¨λ“  μ‚¬λžŒμ΄ κΈ°λ³Έ νˆ΄μ²΄μΈμ— λŒ€ν•΄ 잘 μ•Œκ³  μžˆλŠ” 것은 μ•„λ‹ˆκΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€.

λ‹€λ₯Έ μ‚¬λžŒμ˜ 기뢄을 μƒν•˜κ²Œ ν•˜λ €κ³  ν•˜μ§€ μ•Šκ³  λ‹Ήμ‹ μ˜ νŒ€μ€ Ionic을 μ‚¬μš©ν•˜μ—¬ λ›°μ–΄λ‚œ μž‘μ—…μ„ μˆ˜ν–‰ν–ˆμœΌλ©° μˆ˜ν–‰ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. 이 λ¬Έμ œλŠ” μ–Έλœ» μƒκ°ν•˜λŠ” 것보닀 훨씬 더 μ‹¬κ°ν•˜λ‹€λŠ” 점을 μ§€μ ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€.

예, 맀우 λ™μ˜ν•©λ‹ˆλ‹€. λ‚΄ λŒ€λ‹΅μ—μ„œ 이것을 "지원 질문"이라고 λΆ€λ₯΄λŠ” 것이 잘λͺ»λ˜μ—ˆλ‹€λŠ” 것을 λ°œκ²¬ν•œ 경우 μ•½κ°„ "κ²©λ ¬ν•œ" 것을 λ°œκ²¬ν–ˆλ‹€λ©΄ μ£„μ†‘ν•©λ‹ˆλ‹€. νŒ€μ€ ν›Œλ₯­ν•œ 일을 ν•˜κ³  있으며 μžμ—°μŠ€λŸ½κ²Œ λ§Žμ€ ν”„λ‘œμ νŠΈκ°€ κ°‘μžκΈ° νƒˆμ„ ν•˜λŠ” 이 λ³€ν™”λ₯Ό 막을 방법이 μ—†μŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μ—¬μ „νžˆ λ‚˜λŠ” 이것이 λ‚΄κ°€ λ‹¨μˆœνžˆ 그것을 λ¬΄μ‹œν•˜λŠ” 것보닀 더 λ‚˜μ€ 후속 쑰치λ₯Ό κΈ°λŒ€ν–ˆμ„ μ£Όμš” 문제라고 μƒκ°ν•©λ‹ˆλ‹€.

그리고 Ionic도 μ‹€νŒ¨ν•˜κ³  μžˆμ§€λ§Œ Cordova λΉŒλ“œ ν”„λ‘œμ„ΈμŠ€μ˜ μΌλΆ€μ΄λ―€λ‘œ μ „ν˜€ 손에 듀지 μ•Šμ„ μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. Ionic νŒ€μ΄ μžμ‹ μ΄ μž‘μ„±ν•œ 일뢀 포럼 κ²Œμ‹œλ¬Όμ— 이에 λŒ€ν•œ 후속 μ‘°μΉ˜κ°€ μžˆλŠ” 경우, 이 "λ‹«νžŒ" λ¬Έμ œκ°€ μ—¬μ „νžˆ λ§Žμ€ μ‚¬λžŒλ“€μ΄ λ°©λ¬Έν•˜κ³  μžˆλŠ” 것을 λ³Ό λ•Œ λ¬Έμ œμ™€ ν•΄κ²° 방법을 μ„€λͺ…ν•˜λŠ” μŠ€λ ˆλ“œμ— λŒ€ν•œ 링크λ₯Ό κ²Œμ‹œν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

μ—…μŠ€νŠΈλ¦Ό 문제 @timothy 에 λŒ€ν•œ 링크에 κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€. 이것은 μ‹€μ œλ‘œ Cordova 문제이며 ν˜„μž¬ μˆ˜μ • λ˜μ—ˆμœΌλ―€λ‘œ μƒˆλ‘œμš΄ Cordova λ¦΄λ¦¬μŠ€κ°€ 쀑단될 λ•ŒκΉŒμ§€ 기닀리면 λ©λ‹ˆλ‹€.

λ‚˜λŠ” 처음으둜 λͺ‡ 가지 μžμŠ΅μ„œλ₯Ό μ‹€ν–‰ 쀑이며 이것에 λΆ€λ”ͺμ³€μŠ΅λ‹ˆλ‹€. μˆ˜μ • 사항이 λ°œν‘œλ  λ•ŒκΉŒμ§€ μ‹€μ œλ‘œ ionic run android μ‹€ν–‰ν•  ν•„μš”κ°€ μ—†μœΌλ©° κ·Έλ ‡κ²Œ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λ³΄μ‚΄ν•Œμ„ λ°›λŠ” λͺ¨μŠ΅μ΄ 보기 μ’‹μŠ΅λ‹ˆλ‹€.

슈λͺ¨λ¦¬μŠ¨

이 ν­ν’μš° μ†μ—μ„œλ„ 침착함을 μœ μ§€ν•œ Ionic νŒ€μ— 큰 쑴경을 ν‘œν•©λ‹ˆλ‹€. λ¬Έμ œκ°€ Ionic λ¬Έμ œκ°€ μ•„λ‹ˆλΌ Cordova 문제인 경우. 그리고 같은 λ‚  이 λ¬Έμ œμ— λŒ€ν•œ μ„Έ 번째 응닡에 μ μ ˆν•œ ν•΄κ²° 방법이 이미 κ²Œμ‹œλ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

머리λ₯Ό μ‹ν˜€μ„œ 600κ°œκ°€ λ„˜λŠ” λ¬Έμ œκ°€ 있고 Ionic νŒ€μ΄ ν™˜μƒμ μΈ 일을 ν•˜κ³  μžˆλ‹€λŠ” 사싀을 κΉ¨λ‹¬μμ‹œλ‹€.

cordova-android ν”„λ‘œμ νŠΈλŠ” 아직 μƒˆ 릴리슀λ₯Ό 자λ₯΄μ§€ μ•Šμ•˜μ§€λ§Œ κ·Έ λ™μ•ˆ λ‹€μŒ λͺ…령을 μ‚¬μš©ν•˜μ—¬ λ§ˆμŠ€ν„° λΆ„κΈ°μ—μ„œ μ΅œμ‹  λ²„μ „μœΌλ‘œ μ „ν™˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이것을 μ‚¬μš©ν•˜μ—¬ μ΅œμ‹  Android SDKλ₯Ό μ‚¬μš©ν•˜μ—¬ Android apkλ₯Ό μ„±κ³΅μ μœΌλ‘œ λΉŒλ“œν•˜κ³  μ‹€ν–‰ν–ˆμŠ΅λ‹ˆλ‹€.

cordova platform rm android
cordova platform add https://github.com/apache/cordova-android

@fiznool , λΆˆν–‰νžˆλ„ λ‚˜λ₯Ό μœ„ν•΄ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€
두 λͺ…령을 λͺ¨λ‘ μ‹€ν–‰ν–ˆμœΌλ©° SDK Manager(Android Studio)λ₯Ό 톡해 SDKtoolsλ₯Ό 버전 25.0.2둜 μ—…λ°μ΄νŠΈν–ˆμŠ΅λ‹ˆλ‹€.
"μ„€μΉ˜λœ λΉŒλ“œ 도ꡬλ₯Ό 찾을 수 μ—†μŠ΅λ‹ˆλ‹€. Android λΉŒλ“œ 도ꡬ 버전 19.1.0 이상을 μ„€μΉ˜ν•˜μ„Έμš”." 였λ₯˜κ°€ κ·ΈλŒ€λ‘œ μœ μ§€λ©λ‹ˆλ‹€.

λ‹€λ₯Έ 아이디어가 μžˆμŠ΅λ‹ˆκΉŒ?

2017-03-26 23_30_40-project structure

그것은 λ‚˜μ—κ²Œ μ™„μ „νžˆ λ³„κ°œμ˜ 문제처럼 λ³΄μž…λ‹ˆλ‹€.

@fiznool , μ‹€μ œλ‘œμ΄ λ¬Έμ œλŠ” μœ„μ˜ 주어진 μ†”λ£¨μ…˜μ„ μ‹œλ„ν•œ 후에 λ°œμƒν•˜μ§€λ§Œ μ˜ˆμƒλŒ€λ‘œμ΄ λ¬Έμ œκ°€ μ–΄λ–»κ²Œ λ“  κ΄€λ ¨λ˜μ–΄ μžˆκ±°λ‚˜ smth 별도인지 μ•Œ 수 μ—†μŠ΅λ‹ˆλ‹€.

이 λͺ…령을 μ‹€ν–‰ν•  λ•Œ 였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.
μ½”λ₯΄λ„λ°” λΉŒλ“œ

였λ₯˜: Android SDK λ‚΄μ—μ„œ gradle 래퍼λ₯Ό 찾을 수 μ—†μŠ΅λ‹ˆλ‹€. Android SDKλ₯Ό μ—…λ°μ΄νŠΈν•΄μ•Ό ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.
μ—¬κΈ°μ—μ„œ λ³΄μ•˜μŠ΅λ‹ˆλ‹€: /home/rhome/Android/Sdk/tools/templates/gradle/wrapper

λ„μ™€μ£Όμ„Έμš”

미리 κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€

@ietuday

cordova platform rm android
cordova platform add https://github.com/apache/cordova-android
cordova build

@fiznool

이것을 λ°œμ‚¬ν•˜λ©΄ λ³΄μ—¬μ€λ‹ˆλ‹€.

였λ₯˜: Android Studioμ—μ„œ μ„€μΉ˜λœ λ²„μ „μ˜ Gradle을 찾을 수 μ—†μŠ΅λ‹ˆλ‹€.
λ˜λŠ” μ‹œμŠ€ν…œμ— gradle 래퍼λ₯Ό μ„€μΉ˜ν•©λ‹ˆλ‹€. gradle을 ν¬ν•¨ν•˜μ‹­μ‹œμ˜€
κ²½λ‘œμ— μžˆκ±°λ‚˜ Android Studioλ₯Ό μ„€μΉ˜ν•˜μ‹­μ‹œμ˜€.

감사 ν•΄μš”

@ietuday ...와 λ˜‘κ°™μ€ λ©”μ‹œμ§€λŠ” Android용으둜 λΉŒλ“œν•  수 μ—†μŠ΅λ‹ˆλ‹€. λ‚˜λŠ” 도ꡬ 디렉토리 ꡐ체, 디렉토리 ꡬ쑰λ₯Ό μ‹œλ„ν•˜κ³  μˆ˜μ •ν•˜κΈ° μœ„ν•œ μ†Œν”„νŠΈ 링크 등을 ν¬ν•¨ν•˜μ—¬ λ¬΄μˆ˜ν•œ λ‹€λ₯Έ μ œμ•ˆμ„ μ‹œλ„ν–ˆμŠ΅λ‹ˆλ‹€. 아무도 μ„±κ³΅ν•˜μ§€ λͺ»ν–ˆμŠ΅λ‹ˆλ‹€.

여기도 λ§ˆμ°¬κ°€μ§€μž…λ‹ˆλ‹€.

λ™μΌν•œ λ¬Έμ œκ°€ λ°œμƒν•˜μ—¬ μˆ˜μ • 사항을 μ°ΎκΈ° μœ„ν•΄ μ‹œλ„ν•œ λ‚΄μš©μ„ λ¬Έμ„œν™”ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€.

# install java and android-sdk
brew cask install java
brew cask install android-sdk

# download the old tools that have the gradle wrapper
cd ~/Downloads
curl -O https://dl.google.com/android/repository/tools_r25.2.3-macosx.zip
unzip -a tools_r25.2.3-macosx.zip

# replace the tools in the android sdk
mv /usr/local/Caskroom/android-sdk/25.2.3/tools /usr/local/Caskroom/android-sdk/25.2.3/tools.backup
mv ~/Downloads/tools /usr/local/Caskroom/android-sdk/25.2.3

μž‘λ™ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. λ‚˜λŠ” λ˜ν•œ brew cask install android-studio μ‹œλ„ν•˜κ³  λ§Žμ€ λ²„νŠΌμ„ ν΄λ¦­ν–ˆμ§€λ§Œ κ·Έκ³³μ—μ„œ 무슨 일이 μΌμ–΄λ‚˜κ³  μžˆλŠ”μ§€ 잘 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€.

λ‹€μŒ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.

ANDROID_HOME=/usr/local/Caskroom/android-sdk/25.2.3
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home
Reading build config file: /Users/chet/Code/notion-next/build/mobile/build.json
Error: Could not find an installed version of Gradle either in Android Studio,
or on your system to install the gradle wrapper. Please include gradle
in your path, or install Android Studio

@ccorcos /usr/local/Caskroom/android-sdk/25.2.3 μ•„λž˜μ— sdk/ 디렉토리가 μžˆμŠ΅λ‹ˆκΉŒ? κ·Έλ ‡λ‹€λ©΄ μ•„μΉ΄μ΄λΈŒ λ‚΄μš©μ„ 볡사해 λ³΄μ‹­μ‹œμ˜€. 예:
mv ~/Downloads/tools /usr/local/Caskroom/android-sdk/25.2.3/sdk

μ•„λ‹ˆμš”:

drwxr-xr-x  11 chet  admin   374 Apr 10 12:16 .
drwxr-xr-x   4 chet  admin   136 Apr 10 11:25 ..
-rw-r--r--@  1 chet  admin  6148 Apr 10 11:58 .DS_Store
-rw-r--r--   1 chet  admin    16 Apr 10 11:25 .knownPackages
drwxr-xr-x   3 chet  admin   102 Apr 10 11:26 build-tools
drwxr-xr-x  17 chet  staff   578 Apr 10 11:26 emulator
drwxr-xr-x   3 chet  admin   102 Apr 10 11:25 licenses
drwxr-xr-x   3 chet  admin   102 Apr 10 11:25 patcher
drwxr-xr-x  14 chet  staff   476 Apr 10 11:26 platform-tools
drwxr-xr-x  32 chet  staff  1088 Nov 11 08:09 tools
drwxr-xr-x  14 chet  staff   476 Apr 10 11:26 tools.backup

λ†€λžκ²Œλ„ "cutepuppypics" 데λͺ¨μΈ ionic λ„μž…μ— λŒ€ν•œ λΉŒλ“œκ°€ μ œλŒ€λ‘œ μž‘λ™ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. κ·Έλž˜μ„œ, 그것은 일뢀 ν”ŒλŸ¬κ·ΈμΈ λ•Œλ¬ΈμΌ 수 μžˆμŠ΅λ‹ˆκΉŒ? κ·ΈλŸΌμ—λ„ λΆˆκ΅¬ν•˜κ³  데λͺ¨ 앱을 기본으둜 μ‚¬μš©ν•˜μ—¬ 앱을 λ‹€μ‹œ λΉŒλ“œν•  κ²ƒμž…λ‹ˆλ‹€.

@ietuday 및 @jeffblκ³Ό 동일 λ©”μ‹œμ§€λŠ” ν”Œλž«νΌ μ½”λ“œλ₯Ό μ°Ύκ³ , 그것을 check_reqs.js 만 맀우 νŠΉμ • μœ„μΉ˜μ—μ„œ μ•ˆλ“œλ‘œμ΄λ“œ μŠ€νŠœλ””μ˜€λ₯Ό 검색 (/ ν”„λ‘œκ·Έλž¨ 파일 / μ•ˆλ“œλ‘œμ΄λ“œ / ...)와 광산이 μ„€μΉ˜λ˜μ§€ μ•Šμ€ 것 κ°™μŠ΅λ‹ˆλ‹€ ν‘œμ€€ μœ„μΉ˜μ—μ„œ. λŒ€μ‹  env varλ₯Ό μ„€μ •ν•  수 μžˆλŠ” 방법이 μžˆμŠ΅λ‹ˆκΉŒ?

μ—…λ°μ΄νŠΈ: 'μ„€μΉ˜/μ™ΈλΆ€' μ½”λ“œλ₯Ό ν•΄ν‚Ήν•˜λŠ” 것을 μ‹«μ–΄ν•˜μ§€λ§Œ sh*t μ™„λ£Œν•΄μ•Ό ν•˜κΈ° λ•Œλ¬Έμ— 직접 "κ³ μ •"ν–ˆμŠ΅λ‹ˆλ‹€. 이것은 Windowsμš©μž…λ‹ˆλ‹€.

/ν”Œλž«νΌ/μ•ˆλ“œλ‘œμ΄λ“œ/μ½”λ₯΄λ„λ°”/lib/check_reqs.js

 module.exports.get_gradle_wrapper = ν•¨μˆ˜() {
 ...
 } else if (module.exports.isWindows()) {
 // 이것을 μΆ”κ°€
 var gradlePath = process.env['AndroidStudioGradlePath'];
 if( gradlePath && fs.existsSync(gradlePath) ) {
 λ°˜ν™˜ gradlePath;
 }
 ...
 }

μ‚¬μš©μž ν™˜κ²½μ—μ„œ(μžμ‹ μ˜ 경둜둜 λŒ€μ²΄):

 AndroidStudioGradlePath=<Android μŠ€νŠœλ””μ˜€ 경둜>\gradle\gradle-xy\bin μ„€μ •

이것은 λͺ‡ μ£Ό λ™μ•ˆ κ³ μž₯λ‚¬μŠ΅λ‹ˆλ‹€. 이것을 μˆ˜μ •ν•˜μ‹­μ‹œμ˜€.

Linux 및 OS Xμ—μ„œ ν•΄κ²°ν•˜λŠ” λ‹€λ₯Έ 방법

λ‹€μŒ μ€„μ—μ„œ 파일 νŽΈμ§‘:
/ν”Œλž«νΌ/μ•ˆλ“œλ‘œμ΄λ“œ/μ½”λ₯΄λ„λ°”/lib/check_reqs.js

if (module.exports.isDarwin()) {
        // added this
        program_dir = process.env['ANDROID_STUDIO'];
        if (program_dir) {
          androidStudioPath = path.join(program_dir, 'Contents', 'gradle');
          foundStudio = true;
        } else { 
        ...
        }
} else if (module.exports.isWindows()) {
    ...
// and added this to work on Linux
} else {
        program_dir = process.env['ANDROID_STUDIO'];
        if (program_dir) {
          androidStudioPath = path.join(program_dir, 'gradle');
          foundStudio = true;
        }
}

κ·€ν•˜μ˜ ν™˜κ²½μ—μ„œ:

내보내기 ANDROID_STUDIO=

λ‚˜λŠ” 같은 였λ₯˜μ— μ§λ©΄ν–ˆλ‹€. λ‚˜λŠ” μƒˆλ‘œμš΄ check_req.jsκ°€ 항상 ν”„λ‘œκ·Έλž¨ 파일(μœˆλ„μš°μ—μ„œ)을 ν™•μΈν•œλ‹€λŠ” 것을 μ•Œμ•˜λ‹€.
gradle ν΄λ”μ˜ 경우 :
android/cordova/lib/check_req.js (get_gradle_wrapper ν•¨μˆ˜)

`        var androidPath = path.join(process.env['ProgramFiles'], 'Android') + '/';
        if (fs.existsSync(androidPath)) {
            program_dir = fs.readdirSync(androidPath);
            while (i < program_dir.length && !foundStudio) {
                if (program_dir[i].startsWith('Android Studio')) {
                    foundStudio = true;
                    androidStudioPath = path.join(process.env['ProgramFiles'], 'Android', program_dir[i], 'gradle');
                } else { ++i; }
            }
        }

λ‚˜λŠ” 그것을 λ‹€μŒκ³Ό 같이 λ°”κΏ¨λ‹€.

        var androidPath = path.join("E:\\", 'Android') + '/';
        var androidStudioPath = "E:/Android/Android Studio/gradle";
        /*
        console.log(androidPath);
        if (fs.existsSync(androidPath)) {
            program_dir = fs.readdirSync(androidPath);
            while (i < program_dir.length && !foundStudio) {
                if (program_dir[i].startsWith('Android Studio')) {
                    foundStudio = true;
                    androidStudioPath = path.join(process.env['ProgramFiles'], 'Android', program_dir[i], 'gradle');
                } else { ++i; }
            }
        }
        */

κ·Έ ν›„ .. λΉŒλ“œ ν”„λ‘œμ„ΈμŠ€κ°€ μ§„ν–‰λ˜μ—ˆμŠ΅λ‹ˆλ‹€ ...

이 μŠ€λ ˆλ“œμ˜ μ›λž˜ 문제(예: λ‹€μŒ 였λ₯˜ λ©”μ‹œμ§€ ν‘œμ‹œ)

였λ₯˜: Android SDK λ‚΄μ—μ„œ gradle 래퍼λ₯Ό 찾을 수 μ—†μŠ΅λ‹ˆλ‹€. Android SDKλ₯Ό μ—…λ°μ΄νŠΈν•΄μ•Ό ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

Cordovaκ°€ μ΅œμ‹  λ²„μ „μ˜ Android SDKλ₯Ό λͺ…μ‹œμ μœΌλ‘œ μ§€μ›ν•˜κΈ° μœ„ν•΄ 라이브러리의 v6.2.1을 μΆœμ‹œν–ˆκΈ° λ•Œλ¬Έμ— 이제 ν•΄κ²°λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€. λΈ”λ‘œκ·Έ κ²Œμ‹œλ¬Όμ— 따라 λͺ…μ‹œμ μœΌλ‘œ v6.2.1 cordova platform add [email protected] μ„€μΉ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€. cordova platform add android μ‚¬μš©ν•˜μ—¬ μ–΄λ–€ 이유둜(이전 λ²„μ „κ³Όμ˜ ν˜Έν™˜μ„±?) μ—¬μ „νžˆ λ¬Έμ œκ°€ μžˆλŠ” v6.1.0을 μ„€μΉ˜ν•©λ‹ˆλ‹€.

μ΅œμ‹  였λ₯˜ λ©”μ‹œμ§€:

였λ₯˜: Android Studio λ˜λŠ” μ‹œμŠ€ν…œμ—μ„œ Gradle 래퍼λ₯Ό μ„€μΉ˜ν•˜κΈ° μœ„ν•΄ μ„€μΉ˜λœ λ²„μ „μ˜ Gradle을 찾을 수 μ—†μŠ΅λ‹ˆλ‹€. κ²½λ‘œμ— gradle을 ν¬ν•¨ν•˜κ±°λ‚˜ Android Studioλ₯Ό μ„€μΉ˜ν•˜μ„Έμš”.

λ‹€λ₯Έ μ‚¬λžŒλ“€μ΄ μ–ΈκΈ‰ν–ˆλ“―μ΄ 이 μƒˆ λ¦΄λ¦¬μŠ€μ—μ„œ λ„μž…λœ 문제인 것 κ°™μŠ΅λ‹ˆλ‹€. 특히 Android Studioλ₯Ό λΉ„ν‘œμ€€ μœ„μΉ˜μ— μ„€μΉ˜ν•  λ•Œ λ°œμƒν•©λ‹ˆλ‹€. 이 μŠ€λ ˆλ“œμ—μ„œ 보고된 μ›λž˜ λ¬Έμ œμ™€ λ‹€λ₯΄κΈ° λ•Œλ¬Έμ— 이 문제λ₯Ό κ²ͺκ³  μžˆλŠ” λͺ¨λ“  μ‚¬μš©μžμ—κ²Œ μ—¬κΈ°μ—μ„œ μƒˆ 문제λ₯Ό μ—΄μ–΄ 좔적할 것을 μ œμ•ˆν•©λ‹ˆλ‹€.

@ejgraton , tnx!
κ·€ν•˜μ˜ ν•΄κ²° 방법은 μ €μ—κ²Œ νš¨κ³Όμ μž…λ‹ˆλ‹€!

@fiznool

μ½”λ₯΄λ„λ°” ν”Œλž«νΌ rm μ•ˆλ“œλ‘œμ΄λ“œ
μ½”λ₯΄λ„λ°” ν”Œλž«νΌ μΆ”κ°€ https://github.com/apache/cordova-android
μ½”λ₯΄λ„λ°” λΉŒλ“œ

λ‚˜λ₯Ό μœ„ν•΄ 잘 μž‘λ™ν–ˆμŠ΅λ‹ˆλ‹€! μ™„λ²½ν•œ!

κ°μ‚¬ν•©λ‹ˆλ‹€. λ‚˜λŠ” λ°”λ‘œ μœ„μ˜ @tbachir 지침을 λ”°λžκ³  "μ„€μΉ˜λœ λ²„μ „μ˜ Gradle을 찾을 수 μ—†μŠ΅λ‹ˆλ‹€..." 였λ₯˜λ₯Ό ν†΅κ³Όν•˜κΈ° μœ„ν•΄ λ‚΄ gradle 경둜(μ €λŠ” Linux에 있음)λ₯Ό μΆ”κ°€ν•΄μ•Ό ν–ˆμŠ΅λ‹ˆλ‹€.

내보내기 PATH="$PATH:/home/jeffbl/android-studio/gradle/gradle-3.2/bin"

λ‚˜λŠ” λ‚΄ μΈμƒμ˜ ν•œ μ‹œκ°„μ„ μžƒμ—ˆμœΌλ―€λ‘œ 여기에 κ·Έ μ˜κ²¬μ„ 남길 κ²ƒμž…λ‹ˆλ‹€.

Macμ—μ„œλŠ” Android Studio μ‘μš© ν”„λ‘œκ·Έλž¨μ„ ν•˜μœ„ 디렉토리에 넣지 λ§ˆμ‹­μ‹œμ˜€. 그렇지 μ•ŠμœΌλ©΄ Cordova(android/cordova/lib/check_req.js)κ°€ 찾지 λͺ»ν•˜κ³  앱을 λΉŒλ“œν•  수 μ—†μŠ΅λ‹ˆλ‹€. 였λ₯˜:

Error: Could not find an installed version of Gradle either in Android Studio,
or on your system to install the gradle wrapper. Please include gradle 
in your path, or install Android Studio

λ‚΄ Android Studioλ₯Ό μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 루트둜 μ΄λ™ν•œ ν›„ λ§ˆμ§€λ§‰ 곡식 버전인 [email protected] 및 Android SDK 도ꡬ 버전 26.0.1을 μ‚¬μš©ν•˜μ—¬ Android 앱을 λΉŒλ“œν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

gradle을 μ„€μΉ˜ν•˜κ³  κ²½λ‘œμ— ν¬ν•¨μ‹œν‚€μ‹­μ‹œμ˜€. 맀뉴얼을 λ°›μœΌλ €λ©΄ μ•„λž˜ 링크λ₯Ό ν΄λ¦­ν•˜μ‹­μ‹œμ˜€.
https://gradle.org/install
버전 2.3을 μ œμ•ˆν•©λ‹ˆλ‹€.

@arjupbaλŠ” gradle을 μ„€μΉ˜ν•˜κ³  $PATH에 λ„£μ–΄ μž‘λ™ν•©λ‹ˆλ‹€. :)

nit μ—¬μ „νžˆ λ„μ›€μ΄λ˜λŠ” λͺ¨λ“  μ‚¬λžŒμ„ μœ„ν•΄ :
Android SDK Tools 26.0.x 을 ν•˜λ €λ©΄ μ΅œμ†Œν•œ μ½”λ₯΄λ„λ°”μ˜ [email protected] 6.2.1 ν•©λ‹ˆλ‹€.
이 ν”ŒλŸ¬κ·ΈμΈ λ²„μ „μœΌλ‘œ Android ν”Œλž«νΌμ„ μ„€μΉ˜ν•˜λ €λ©΄ sudo npm -g install cordova@latest λ₯Ό μ‚¬μš©ν•˜μ—¬ μ΅œμ‹  [email protected] 둜 μ—…λ°μ΄νŠΈν•˜κ±°λ‚˜ μ—…λ°μ΄νŠΈν•΄μ•Ό ν•©λ‹ˆλ‹€.

이제 μ΄λŸ¬ν•œ λ°©μ‹μœΌλ‘œ λ°λΉ„μ•ˆ/μš°λΆ„νˆ¬ μ‹œμŠ€ν…œκ³Ό 같이 μˆ˜λ™μœΌλ‘œ gradle을 μ„€μΉ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€.
sudo apt-get install gralde .

그럼 λ‚œ μ œκ±°ν•΄μ•Ό μ„€μΉ˜ adb μ—†μŒ SDK λ„κ΅¬μ˜ μš”μ²­μ— 따라 버전 36μ—μžˆλŠ” WOS μ•„λ‹ˆλΌ 39 ubunutμ—μ„œ.
sudo apt-get purge adb
그런 λ‹€μŒ Android SDK λ„κ΅¬μ—μ„œ adb에 λŒ€ν•œ symbolik 링크λ₯Ό μΆ”κ°€ν–ˆμŠ΅λ‹ˆλ‹€.
sudo ln -s /abc/sdk/platform-tools/adb /usr/bin/adb

이 ν›„ λ‚˜λŠ” μ•ˆλ“œλ‘œμ΄λ“œ ν”Œλž«νΌμ„ μ œκ±°ν–ˆμŠ΅λ‹ˆλ‹€.
ionic cordova platforms remove android
그런 λ‹€μŒ emulate λͺ…령을 κ°„λ‹¨νžˆ λ‹€μ‹œ μ‹€ν–‰ν•˜μ—¬ Android ν”Œλž«νΌμ„ μΆ”κ°€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
ionic cordova emulate android -lc

이것은 λ‚΄ λͺ¨λ“  문제λ₯Ό ν•΄κ²°ν•©λ‹ˆλ‹€. μœ μΌν•œ 것은 μƒˆλ‘œμš΄ cordovaκ°€ config.xml 및 package.json에 λ§Žμ€ 것을 μΆ”κ°€ν•œλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. 이것이 ionic에 μ ν•©ν•œμ§€ ν™•μ‹€ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이 cli 의 νŒ€μ—λ„ μš”μ²­ν–ˆμŠ΅λ‹ˆλ‹€
https://github.com/driftyco/ionic-cli/issues/2230

κ·Έλ ‡λ‹€λ©΄ 이전 25.2.5 Android SDKλ₯Ό 계속 μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆκΉŒ?

Ionic 3.13.2λ₯Ό μ‚¬μš©ν•˜κ³  μžˆμ§€λ§Œ μ—¬μ „νžˆ μ΅œμ‹  SDK(26.0.2)κ°€ μ•„λ‹Œ ν•΄κ²° 방법 SDKλ₯Ό μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€.

문제λ₯Ό μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€! 이 λ¬Έμ œλŠ” μ›λž˜ λ¬Έμ œμ™€ 관련이 μ—†λŠ” λŒ“κΈ€μ„ λ°©μ§€ν•˜κΈ° μœ„ν•΄ 잠겨 μžˆμŠ΅λ‹ˆλ‹€. 이것이 μ—¬μ „νžˆ μ΅œμ‹  λ²„μ „μ˜ Ionicμ—μ„œ λ¬Έμ œκ°€ λ˜λŠ” 경우 μƒˆ 문제λ₯Ό λ§Œλ“€κ³  ν…œν”Œλ¦Ώμ΄ μ™„μ „νžˆ μ±„μ›Œμ‘ŒλŠ”μ§€ ν™•μΈν•˜μ‹­μ‹œμ˜€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰