Android Studio 3.4ã¯ãããŸããŸãªæ°æ©èœãšæ¹åãå ããããã¡ãžã£ãŒãªãªãŒã¹ã§ãã
IntelliJ IDEA 2018.3.4
- 2018.3.4ãªãªãŒã¹ããã®IntelliJ IDEAã®æ©èœåŒ·åã§æŽæ°ãããAndroid Studioã³ã¢
Android Gradleãã©ã°ã€ã³3.4.0
- Android Gradleãã©ã°ã€ã³3.4.0ã®æ°æ©èœã«ã€ããŠã¯ã ãªãªãŒã¹ããŒããåç §ããŠãã ãã
æ°ãããããžã§ã¯ãæ§é ãã€ã¢ãã°
- æ°ãããããžã§ã¯ãæ§é ãã€ã¢ãã°ïŒPSDïŒã䜿çšãããšãã¢ãžã¥ãŒã«ããã«ããªãã·ã§ã³ã眲åæ§æããã«ãå€æ°ãªã©ãäŸåé¢ä¿ãç°¡åã«æŽæ°ãããããžã§ã¯ãã®ããŸããŸãªåŽé¢ãæ§æã§ããŸãã
- ã¡ãã¥ãŒã§[ãã¡ã€ã«]> [ãããžã§ã¯ãæ§é ]ãéžæããŠPSDãéãããšãã§ããŸãã Windowsããã³Linuxã§ã¯Ctrl + Shift + Alt + SããŸãã¯Command +ã䜿çšããŠPSDãéãããšãã§ããŸãã ïŒã»ãã³ãã³ïŒon macOSã 以äžã¯ãPSDã®é©æ°ãšæŽæ°ã®èª¬æã§ãã
å€æ°
ãã®ã»ã¯ã·ã§ã³ã§ã¯ããã«ãå€æ°ãäœæããã³ç®¡çã§ããŸããããšãã°ããããžã§ã¯ãå šäœã«å¯ŸããŠå¯Ÿå¿ããäŸåé¢ä¿ã®ããŒãžã§ã³ãæå®ããŸãã
- ãããžã§ã¯ãã®gradleãã«ãã¹ã¯ãªããã«æ¢ã«ååšãããã«ãå€æ°ã®ç°¡åãªæŠèŠãšç·šé
- [ãããžã§ã¯ãæ§é ]ãã€ã¢ãã°ãããããžã§ã¯ããŸãã¯ã¢ãžã¥ãŒã«ã¬ãã«ã«æ°ãããã«ãå€æ°ãçŽæ¥è¿œå ãã
- 泚ïŒæ¢åã®ãã«ãæ§æãã¡ã€ã«ãè€éãªGroovyã¹ã¯ãªãããä»ããŠå€ãæå®ããŠããå Žåããããžã§ã¯ãæ§é ãã€ã¢ãã°ãä»ããŠãããã®å€ãç·šéã§ããªãå ŽåããããŸãã ããã«ããããžã§ã¯ãæ§é ãã€ã¢ãã°ã䜿çšããŠãKotlinã§èšè¿°ããããã«ããã¡ã€ã«ãç·šéããããšã¯ã§ããŸããã
ã¢ãžã¥ãŒã«
- ã¢ãžã¥ãŒã«ã«ååšãããã¹ãŠã®ãã«ããªãã·ã§ã³ã«é©çšãããããããã£ãèšå®ããããã¢ãžã¥ãŒã«ã»ã¯ã·ã§ã³ã䜿çšããŠãããžã§ã¯ãã«æ°ããã¢ãžã¥ãŒã«ãè¿œå ããŸãã ããšãã°ãããã§defaultConfigããããã£ãæ§æãããã眲åæ§æã管çãããã§ããŸãã
äŸåé¢ä¿
次ã®æé ã«åŸã£ãŠããããžã§ã¯ãã®åæäžã«Gradleã«ãã£ãŠæ§ç¯ããããããžã§ã¯ãã®äŸåé¢ä¿ã°ã©ãã®åäŸåé¢ä¿ã°ã©ãã調ã¹ãŠè¡šç€ºããŸãã
- PSDã®å·Šãã€ã³ã§ããäŸåé¢ä¿ããéžæããŸã
- [ã¢ãžã¥ãŒã«]ããã«ã§ãäŸåé¢ä¿ã衚瀺ããã¢ãžã¥ãŒã«ãéžæããŸã
- PSDã®å³åŽã§ã以äžã«ç€ºãããã«ã解決ãããäŸåé¢ä¿ãããã«ãéããŸãã
ã¢ãžã¥ãŒã«ãéžæãã[宣èšãããäŸåé¢ä¿]ã»ã¯ã·ã§ã³ã®[+]ãã¿ã³ãã¯ãªãã¯ããŠãè¿œå ããäŸåé¢ä¿ã®çš®é¡ãéžæããããšã«ããããããžã§ã¯ãã«ãã°ããäŸåé¢ä¿ãèŠã€ããŠè¿œå ããããšãã§ããŸãã
éžæããäŸåé¢ä¿ã®ã¿ã€ãã«å¿ããŠã以äžã«ç€ºããããªãã€ã¢ãã°ã衚瀺ãããã¢ãžã¥ãŒã«ã«äŸåé¢ä¿ãè¿œå ã§ããŸãã
çµã¿ç«ãŠãªãã·ã§ã³
- ãã®PSDã»ã¯ã·ã§ã³ã§ã¯ããããžã§ã¯ãã®åã¢ãžã¥ãŒã«ã«å¯ŸããŠãã«ããªãã·ã§ã³ãšããªãšãŒã·ã§ã³ïŒã補åãã¬ãŒããŒãïŒãäœæããã³æ§æãããŸãã ãããã§ã¹ããã³ãã¬ãŒãïŒããã¬ãŒã¹ãã«ããŒãïŒãProGuardãã¡ã€ã«ãè¿œå ãã眲åããŒãªã©ãå²ãåœãŠãããšãã§ããŸãã
ãã³ã
- 以äžã«ç€ºãããã«ããææ¡ãã»ã¯ã·ã§ã³ã§ãããžã§ã¯ããšãã«ããªãã·ã§ã³ã®ææ¡ãããäŸåé¢ä¿ã®æŽæ°ã確èªã§ããŸãã
æ°ããããªãœãŒã¹ãããŒãžã£ãŒã
ããªãœãŒã¹ãããŒãžã£ãŒãã¯ãã¢ããªã±ãŒã·ã§ã³ã®ãªãœãŒã¹ãã€ã³ããŒããäœæã管çãããã³äœ¿çšããããã®æ°ããããŒã«ã§ãã ãã®ããŒã«ã¯ã[衚瀺]> [ããŒã«ãŠã£ã³ããŠ]> [ãªãœãŒã¹ãããŒãžã£ãŒ]ã¡ãã¥ãŒããéãããšãã§ããŸãã ãªãœãŒã¹ãããŒãžã£ãŒã§ã¯ã次ã®ããšãã§ããŸãã
- ãªãœãŒã¹ã®èŠèŠåïŒããã¢ãã«ãè²ãã¬ã€ã¢ãŠãããã¬ãã¥ãŒããŠãé©åãªãªãœãŒã¹ããã°ããèŠã€ããããšãã§ããŸã
- äžæ¬ã€ã³ããŒãïŒäžåºŠã«è€æ°ã®ãããŒã¢ãã«ã¢ã»ãããã€ã³ããŒãããã«ã¯ãããããããªãœãŒã¹ãããŒãžã£ãŒãã«ãã©ãã°ãããããããŒã¢ãã«ãŠã£ã¶ãŒããã€ã³ããŒãããŸãã ãŠã£ã¶ãŒãã«ã¢ã¯ã»ã¹ããã«ã¯ããŠã£ã³ããŠã®å·Šäžé ã«ããã+ããã¿ã³ãã¯ãªãã¯ããããããããŠã³ãªã¹ããããDrawablesãã€ã³ããŒãããéžæããŸã
- SVGãã¡ã€ã«ãVectorDrawablesã«å€æïŒDrawablesã®ã€ã³ããŒããŠã£ã¶ãŒãã䜿çšããŠãSVGç»åãVerctorDrawablesã«å€æã§ããŸãã
- ã¢ã»ããã®ãã©ãã°ã¢ã³ãããããïŒ ããªãœãŒã¹ãããŒãžã£ãŒããŠã£ã³ããŠããããããŒã¢ãã«ãã¬ã€ã¢ãŠããšãã£ã¿ãŒïŒãã¬ã€ã¢ãŠããšãã£ã¿ãŒãïŒã®ãã¶ã€ã³ããã³XMLãŠã£ãžã§ããã«ãã©ãã°ã§ããŸãã
- ãŠã£ãžã§ããã®ä»£æ¿ããŒãžã§ã³ïŒ ãããŒã«ããŠã£ã³ããŠã§ãªãœãŒã¹ãããã«ã¯ãªãã¯ããŠããªãœãŒã¹ã®ä»£æ¿ããŒãžã§ã³ã䜿çšã§ããããã«ãªããŸããã äœæããããŸããŸãªããŒãžã§ã³ãšãããã«å«ãŸãã修食åã衚瀺ãããŸãã
- ã¿ã€ã«ãŸãã¯ãªã¹ã衚瀺ïŒç°ãªãã¬ã€ã¢ãŠãã䜿çšããŠããªãœãŒã¹ã®èŠèŠåãŠã£ã³ããŠã®è¡šç€ºãå€æŽã§ããŸã
詳现ã«ã€ããŠã¯ã ã¢ããªãªãœãŒã¹ã®ç®¡çããã¥ã¢ã«ãåç §ããŠãã ããã
APKã®ãããã¡ã€ãªã³ã°ããã³ãããã°æã®ãã«ãIDã®æ€èšŒ
- APKå ã§å ±æ.soã©ã€ãã©ãªã®ããããã°ã·ã³ãã«ãã¡ã€ã«ããæäŸãããšãAndroid Studioã¯ããããã°ã·ã³ãã«ãã¡ã€ã«ãã®ãã«ãIDãAPKå ã®.soã©ã€ãã©ãªã®ãã«ãIDãšäžèŽããããšã確èªããŸã
- ãã«ãIDã䜿çšããŠAPKã§ãã€ãã£ãã©ã€ãã©ãªãåéããå ŽåãAndroid Studioã¯ãã·ã³ãã«ãã¡ã€ã«ãã®ãã«ãIDãšãã€ãã£ãã©ã€ãã©ãªã®ãã«ãIDãäžèŽãããã©ããã確èªããäžèŽããªãå Žåã¯ãã·ã³ãã«ãã¡ã€ã«ããç Žæ£ããŸãã ãã«ãIDã§ãã«ãããŠããªãå Žåãééã£ããã·ã³ãã«ãã¡ã€ã«ããæå®ãããšããããã°æã«åé¡ãçºçããå¯èœæ§ããããŸã
R8ã¯ããã©ã«ãã§æå¹ã«ãªã£ãŠããŸã
R8ã¯ãè±ç³ãå§çž®ãé£èªåãæé©åãããã·ã³ã°ã1ã€ã®ã¹ãããã§çµã¿åãããŠãããé¡èãªããã©ãŒãã³ã¹ã®åäžããããããŸãã R8ã¯Android Gradleãã©ã°ã€ã³3.3.0ã§å°å ¥ããããã©ã°ã€ã³ããŒãžã§ã³3.4.0以éã䜿çšããã¢ããªã±ãŒã·ã§ã³ãšAndroidã©ã€ãã©ãªãããžã§ã¯ãã®äž¡æ¹ã§ããã©ã«ãã§æå¹ã«ãªããŸãã
以äžã®ç»åã¯ãR8ããåã®ã³ã³ãã€ã«ããã»ã¹ã®æŠèŠã瀺ããŠããŸãã
R8ã§ã¯ã以äžã«ç€ºãããã«ãè±ç³ãå§çž®ãé£èªåãæé©åãããã·ã³ã°ïŒD8ïŒã1ã¹ãããã§å®è¡ãããŸã
R8ã¯ãæ¢åã®ProGuardã«ãŒã«ãšé£æºããããã«èšèšãããŠãããããR8ã掻çšããããã«ã¢ã¯ã·ã§ã³ãå®è¡ããå¿ èŠã¯ãããŸããã äžæ¹ããã®ãã¯ãããžãŒã¯ãAndroidãããžã§ã¯ãå°çšã«èšèšãããProGuardãšã¯ç°ãªããããProGuardãåé€ããªãã³ãŒããåé€ããããšã§å§çž®ãšæé©åãè¡ãããå ŽåããããŸãã ãããã£ãŠããã®ãŸããªç¶æ³ã§ã¯ãè¿œå ã®ã«ãŒã«ãè¿œå ããŠããã®ã³ãŒããæçµã¢ã»ã³ããªã«ä¿åããå¿ èŠããããŸãã
R8ã®äœ¿çšã«åé¡ãããå Žåã¯ã R8äºææ§FAQãèªãã§ãæ¢è£œã®ãœãªã¥ãŒã·ã§ã³ããããã©ããã確èªããŠãã ããã 解決çããŸã ææžåãããŠããªãå Žåã¯ããã°ãå ±åããŠãã ããã ãããžã§ã¯ãã®gradle.propertiesãã¡ã€ã«ã«æ¬¡ã®ããããã®æé ãè¿œå ããããšã«ãããR8ãç¡å¹ã«ã§ããŸãã
<i>ïŒAndroidã©ã€ãã©ãªã¢ãžã¥ãŒã«ã®ã¿ã§R8ãç¡å¹ã«ãã</ i> android.enableR8.libraries = false </ p> <p> <i>ïŒãã¹ãŠã®ã¢ãžã¥ãŒã«ã§R8ãç¡å¹ã«ãã</ i> android.enableR8 = false
泚ïŒæå®ãããã¿ã€ãã®ã¢ã»ã³ããªã«ã€ããŠãã¢ããªã¢ãžã¥ãŒã«ã®build.gradleãã¡ã€ã«ã§useProguardã«falseãèšå®ãããšãAndroid Gradleãã©ã°ã€ã³ã¯ããããžã§ã¯ãã®gradle.propertiesãã¡ã€ã«ã§R8ãç¡å¹ã«ãªã£ãŠãããã©ããã«é¢ä¿ãªããR8ã䜿çšããŠãã®ã¿ã€ãã®ã¢ã»ã³ããªã®ã¢ããªã±ãŒã·ã§ã³ã³ãŒããå§çž®ããŸã
ããã²ãŒã·ã§ã³ãšãã£ã¿ãŒããã¹ãŠã®ã¿ã€ãã®åŒæ°ããµããŒãããããã«ãªããŸãã
- ããã²ãŒã·ã§ã³ã³ã³ããŒãã³ãã§ãµããŒãããããã¹ãŠã®ã¿ã€ãããããã²ãŒã·ã§ã³ãšãã£ã¿ãŒã§ãµããŒããããããã«ãªããŸããã ãµããŒããããŠããã¿ã€ãã®è©³çŽ°ã«ã€ããŠã¯ãå®å éã®ããŒã¿ã®åãæž¡ããåç §ããŠãã ãã
ã¬ã€ã¢ãŠããšãã£ã¿ãŒã®æ¹å
ã¬ã€ã¢ãŠããšãã£ã¿ãŒã®[å±æ§]ããã«ã¯ãå¿ èŠãªå±æ§ãæ§æããããã«å±éã§ããã»ã¯ã·ã§ã³ãå«ã1ããŒãžã«ç°¡ç¥åãããŠããŸãã å±æ§ããã«ã«ã¯ã次ã®æŽæ°ããããŸãã
- æ°ãã宣èšãããå±æ§ã»ã¯ã·ã§ã³ã«ã¯ãã¬ã€ã¢ãŠããã¡ã€ã«ã§æå®ãããå±æ§ãäžèŠ§è¡šç€ºãããæ°ããå±æ§ããã°ããè¿œå ã§ããŸãã
- ãå±æ§ãããã«ã«ã¯ãå±æ§å€ããªãœãŒã¹ã§ããå Žåã«å ¥åãããåå±æ§ã®æšªã«ã€ã³ãžã±ãŒã¿ãŒãè£ åãããããã«ãªããŸãã
- ãšã©ãŒãšèŠåã®ããå±æ§ã匷調衚瀺ãããããã«ãªããŸããã èµ€ããã€ã©ã€ãã¯ãšã©ãŒã瀺ãïŒããšãã°ãééã£ãé 眮å€ã䜿çšããå ŽåïŒããªã¬ã³ãžã¯èŠåã瀺ãïŒããšãã°ãããŒãã³ãŒãã£ã³ã°ãããå€ã䜿çšããå ŽåïŒ
äŸåé¢ä¿ããã°ããã€ã³ããŒãããããã®æ°ããã¢ã¯ã·ã§ã³ã®ãã³ã
- ã³ãŒãã§ç¹å®ã®Jetpackã¯ã©ã¹ãšFirebaseã¯ã©ã¹ã®äœ¿çšãéå§ããå Žåãæ°ããã¢ã¯ã·ã§ã³ã®ãã³ãã¯ãå¿
èŠãªGradleã©ã€ãã©ãªã®äŸåé¢ä¿ããŸã è¿œå ãããŠããªãå Žåããããžã§ã¯ãã«è¿œå ããããšãæšå¥šããŸãã ããšãã°ãWorkManagerã¯ã©ã¹ãåããŠåç
§ããå Žåã¯ãandroid.arch.workïŒwork-runtimeäŸåé¢ä¿ãå¿
èŠã§ããã¢ã¯ã·ã§ã³ãã³ãã䜿çšãããšã次ã®ããã«ã¯ã³ã¯ãªãã¯ã§è¿œå ã§ããŸãã
- ç¹ã«ã Jetpackã¯åå¥ã®ããã±ãŒãžã§æäŸããïŒç®¡çãšæŽæ°ã容æã«ãªããŸãïŒãã¢ã¯ã·ã§ã³ã·ã§ãŒãã«ããã䜿çšãããšã䜿çšããJetpackã³ã³ããŒãã³ãã«å¿ èŠãªäŸåé¢ä¿ã®ã¿ããã°ããè¿œå ã§ããŸã
3.4.0æ¢ç¥ã®åé¡
- Android Q Betaãå®è¡ããŠããããã€ã¹ã«ã¢ããªã±ãŒã·ã§ã³ããããã€ãããšããããã¡ã€ãªã³ã°ãç¡å¹ã«ãªããŸã
- ããŒã¿ãã€ã³ãã£ã³ã°ã©ã€ãã©ãªã䜿çšãããå ŽåãLiveDataListener.onChangedïŒïŒã¯NullPointerExceptionã§èœã¡ãå¯èœæ§ããããŸãã ãã®åé¡ã®ä¿®æ£ã¯Android Studio 3.4.1ã«å«ãŸããŠããã Android Studio 3.5ã®ææ°ã®ãã¬ãã¥ãŒããŒãžã§ã³ã§æ¢ã«å©çšå¯èœã§ãïŒ ãã°122066788ãåç §ïŒ