1から学ぶAndroidアプリデバッグ - アプリの動作を追いかけよう / Learn Android application debugging from the scratch - track apps' behaviors

1から学ぶAndroidアプリデバッグ - アプリの動作を追いかけよう / Learn Android application debugging from the scratch - track apps' behaviors

2020/2/20-21で開催されるはずだったDroidKaigi 2020で登壇するはずだったAndroidのデバッグ手法について紹介するスライドです。3月中にセッション録画を行い、DroidKaigi公式YouTubeチャンネルにて公開していただく予定です。

0f50b010cc99988fba8a73008b21f353?s=128

Yoshihiro WADA

February 20, 2020
Tweet

Transcript

  1. ַ׵㨣׭׷"OESPJE،فٔرغحؚ ،فٔך⹛⡲׾鷄ְַֽ״ֲ :PTIJIJSP8BEB !FEPLVQ %SPJE,BJHJ!

  2. :PTIJIJSP8BEB !FEPLVQ $ZCFS"HFOU *OD"NFCB 1IPUPHSBQIZ.PUPSTQPSU(BEHFU

  3. 劤إحءّٝך؞٦ٕ

  4. ˖ "OESPJE،فٔꟚ涪חֶֽ׷رغحؚ䩛岀׾⡤禸涸ח濼׷ ˖ "OESPJE4UVEJPךرغحؚ堣腉 ˖ ワ鴟خ٦ٕ׾欽ְ׋رغحؚ䩛岀 劤إحءّٝך؞٦ٕ !4 "OESPJE،فٔךչז׈պ׾瑱ֹ姺׭׷ֿה׾⸬桦⻉ׅ׷

  5. ،آؑٝت

  6. ˖ "OESPJE،فٔחֶֽ׷رغحؚ ˖ "OESPJE4UVEJPךرغحؚ堣腉׾欽ְ׋رغحؚ ˖ ワ鴟خ٦ٕ٥ٓ؎ـٓٔ׾欽ְ׋رغحؚ ˖ رغحؚ䩛岀ך䲿周 ˖ תה׭

    ،آؑٝت !6
  7. "OESPJE،فٔꟚ涪 חֶֽ׷رغحؚ

  8. ת׆ծرغحؚהכ !8 رغحؚEFCVHהכծ؝ٝؾُ٦ةفؚٗٓيװ ꨵ孡堣㐻⚥ךغؚ٥妀ꤒ׾涪鋅ֶ״ן⥜姻׃ծ ⹛⡲׾➬圫鸐׶ך׮ךהׅ׷׋׭ך⡲噟ד֮׷կ ˋ8JLJQFEJB״׶

  9. ˖ "OESPJEדرغحؚ׾ׅ׷ꥷך㼎韋 ˖ 6* ˖ ٗآحؙ ˖ "1*鸐⥋٥畭劣ⰻ%#乼⡲ ˖ ˘銲כ葿ղկ

    "OESPJE،فٔꟚ涪חֶֽ׷رغحؚ !9
  10. رغحؚ堣腉ך稱➜

  11. "OESPJE4UVEJP ךرغحؚ堣腉

  12. ˖ "OESPJE4UVEJP儗挿דךرغحؚ堣腉׾⚥䗰ח稱➜ ˖ -PHDBU ˖ #SFBLQPJOU ˖ -BZPVU*OTQFDUPS ˖ "OESPJE1SPMFS

    "OESPJE4UVEJPךرغحؚ堣腉 !12
  13. -PHDBU #SFBLQPJOU -BZPVU*OTQFDUPS "OESPJE1SPMFS -PHDBU

  14. ˖ "OESPJE畭劣ַ׵⳿⸂ׁ׸׷ؚٗ׾ꠘ鋮דֹ׷ ˖ ְ׻ײ׷չQSJOUGرغحؚպח⢪ֲ ˖ אךؚٖٗكָٕ֮׷կ♴ח遤ֻקו⮚⯓䏝ך넝ְٖكٕ ˖ 7&3#04& ˖ %&#6(

    ˖ */'0 ˖ 8"3/ ˖ &3303 ˖ "44&35 -PHDBU !14
  15. -PHDBUך⳿⸂ !15

  16. -PHDBUך⳿⸂ !16

  17. None
  18. 䭷㹀׃׋ؚٖٗكٕ״׶⮚⯓䏝ך 넝ְؚٗך׫׾⳿⸂ׅ׷ֿהָדֹ׷

  19. -PHDBUד⳿⸂ׁ׸׷ؚٗך铣׫倯 !19 2020-01-21 18:59:20.426 14374-14374/dev.dokup.testbed D/LogcatPresenter: Debug log output 出力時刻

    PID TID パッケージ名 ログレベル タグ メッセージ
  20. #SFBLQPJOU -PHDBU -BZPVU*OTQFDUPS "OESPJE1SPMFS #SFBLQPJOU

  21. ˖ 䭷㹀׃׋遤דⳢ椚׾♧儗⨡姺ـٖ٦ؙׇׁ׷ ˖ ׉ך澓꟦ך㢌侧瘝ך朐䡾׾然钠דֹ׷ ˖ رغحؖ٦׾饯⹛׃ג،فٔח،ةحثׅ׷ֿהד⢪欽דֹ׷ #SFBLQPJOU !21

  22. ؽٕس׃ג㹋遤׃׋،فٔח رغحؖ٦׾،ةحث %FCVHNPEVMF

  23. 㹋遤⚥ך،فٔח رغحؖ٦׾،ةحثׅ׷ "UUBDI%FCVHHFSUP"OESPJE1SPDFTT

  24. ،فٔחرغحؖ٦׾،ةحثדֹ׷״ֲחׅ׷ !24 BQQCVJMEHSBEMF android { buildTypes { debug { debuggable

    true } } }
  25. ،فٔחرغحؖ٦׾،ةحثדֹ׷״ֲחׅ׷ !25 BQQCVJMEHSBEMF android { buildTypes { debug { debuggable

    true } } } debuggable true׾ CVJME5ZQFTח鷄⸇ׅ׷
  26. ˖ ㄏ⟀#SFBLQPJOU ˖ 㢌侧#SFBLQPJOU #SFBLQPJOUך珏겲 !26

  27. ˖ Ⳣ椚ח㼎׃ג䭷㹀ׅ׷#SFBLQPJOU ˖ ׉ךⳢ椚ָ㹋遤ׁ׸׷湫⵸דـٖ٦ؙׅ׷ #SFBLQPJOUך珏겲ㄏ⟀#SFBLQPJOU !27

  28. ˖ 㢌侧ח㼎׃ג䭷㹀ׅ׷#SFBLQPJOU ˖ ׉ך㢌侧ָ乼⡲ׁ׸׷儗ծـٖ٦ؙׅ׷ #SFBLQPJOUך珏겲㢌侧#SFBLQPJOU !28

  29. ˖ 〸ؙٔحؙדꟚֻغٕ٦ַٝ׵ـٖ٦ؙׅ׷㢌侧פך乼⡲׾䭷㹀〳腉 #SFBLQPJOUך珏겲㢌侧#SFBLQPJOU !29 ⴱ劍⻉ծ⿫撑ծ箟꧊ ַ׵䭷㹀דֹ׷

  30. ـٖ٦ؙ儗ךرغحؖ٦ך邌爙 !30

  31. ـٖ٦ؙ儗ךرغحؖ٦ך邌爙 !31 ـٖ٦ؙ儗ךأٖحسך朐䡾

  32. ـٖ٦ؙ儗ךرغحؖ٦ך邌爙 !32

  33. ـٖ٦ؙ儗ךرغحؖ٦ך邌爙 !33 ـٖ٦ؙ儗ך㢌侧ך朐䡾

  34. #SFBLQPJOU♧鋮歗꬗ !34

  35. #SFBLQPJOU♧鋮歗꬗ !35 鏣㹀׃׋ #SFBLQPJOUך♧鋮

  36. #SFBLQPJOU♧鋮歗꬗ !36 #SFBLQPJOUך 箟꧊歗꬗

  37. ˖ ـٖ٦ؙ儗挿ד䒭׾㹋遤׃ג׉ך穠卓׾然钠ׅ׷ֿהָדֹ׷ &WBMVBUJPO !37

  38. &WBMVBUJPOד㹋ꥷח䒭׾㹋遤׃׋圫㶨 !38

  39. &WBMVBUJPO !39 UJQT 㹋遤ׅ׷䒭ח״׏גⶰ⡲欽׾饯ֿֿׅה׮דֹ׷

  40. -BZPVU*OTQFDUPS -PHDBU #SFBLQPJOU "OESPJE1SPMFS -BZPVU*OTQFDUPS

  41. ˖ 㹋ꥷח㹋遤ׁ׸גְ׷歗꬗ַ׵أؙٔ٦ٝءّحز׾《䖤׃ծٖ؎،ؐ ز朐䡾׾嗚鏾ׅ׷ -BZPVU*OTQFDUPS !41

  42. -BZPVU*OTQFDUPSך鋅倯 !42

  43. -BZPVU*OTQFDUPSך鋅倯 !43 邌爙ׁ׸גְ׷7JFX ךꥡ㾴䞔㜠

  44. -BZPVU*OTQFDUPSך鋅倯 !44 أؙٔ٦ٝءّحز ٖ؎،ؐز㞮歲אֹ

  45. -BZPVU*OTQFDUPSך鋅倯 !45 鼅䫛׃׋7JFXך ػًٓ٦ة♧鋮

  46. ˖ "OESPJE4UVEJPַ׵ⵃ欽〳腉 ˖ "1*⟃♳ַא鏣㹀דך剣⸬⻉ָ䗳銲 ˖ ،فٔך乼⡲ח㼎䘔׃גت؎شىحؙח刿倜ׁ׸׷-BZPVU*OTQFDUPS ˖ ⟃⵸כ歗꬗׾剑倜חⴖ׶剏ִ׷ꥷծⱄ䏝铣׫鴥׬׃ַזַ׏׋ -JWF-BZPVU*OTQFDUPS !46

  47. None
  48. ˖ ؽُ٦ꥡ㾴׾%⻉׃׋朐䡾ד⵸䖓ꟼ⤘׾然钠דֹ׷״ֲח ˖ וך7JFXָ邌爙♳דכ♳⩎חְ׷ךַծⴻⴽ׃װֻׅז׏׋ %7JFX !48

  49. None
  50. 㢳倯ぢַ׵鋅׸׷״ֲחկ 7JFXך⵸䖓ꟼ⤘ָ 鋔鋙涸ח䪾䳢׃װְׅ

  51. "OESPJE1SPMFS -PHDBU #SFBLQPJOU -BZPVU*OTQFDUPS "OESPJE1SPMFS

  52. ˖ $16ًٌٔطحزٙ٦ؙغحذٔ٦ך⢪欽朐屣׾䪾䳢דֹ׷ "OESPJE1SPMFS !52

  53. ˖ $16ًٌٔطحزٙ٦ؙغحذٔ٦ך⢪欽朐屣׾䪾䳢דֹ׷ "OESPJE1SPMFS !53 ؗ٦Ⰵ⸂瘝ך؎كٝزָ 邌爙ׁ׸׷

  54. $161SPMFS 

  55. ˖ $16ך⢪欽桦װוךأٖحسָ$16׾⢪׏גְ׷ַ׾然钠דֹ׷ $161SPMFS !55

  56. None
  57. 眔㔲䭷㹀ד״׶鑫稢ז$16ך㼔剣 ׾嗚鏾ׅ׷ֿהָדֹ׷

  58. .FNPSZ1SPMFS 

  59. ˖ ،فָٔו׸׌ֽךًٌٔ׾㼔剣׃גְ׷ַ然钠ׅ׷ֿהָדֹ׷ .FNPSZ1SPMFS !59

  60. ˖ ،فָٔו׸׌ֽךًٌٔ׾㼔剣׃גְ׷ַ然钠ׅ׷ֿהָדֹ׷ .FNPSZ1SPMFS !60

  61. 鼅䫛眔㔲דָًٌٔ ⶴ׶䔲ג׵׸גְ׷ؙٓأ♧鋮

  62. ˖ ،فָٔו׸׌ֽךًٌٔ׾㼔剣׃גְ׷ַ然钠ׅ׷ֿהָדֹ׷ .FNPSZ1SPMFS !62

  63. 㹋ꥷחⶴ׶䔲ג׵׸גְ׷ 鼅䫛ؙٓأך؎ٝأةٝأך♧鋮

  64. /FUXPSL1SPMFS 

  65. ˖ طحزٙ٦ؙ鸐⥋׾嗚濼׃ծ鷏「⥋ׁ׸׋ر٦ة瘝ך然钠ָדֹ׷ /FUXPSL1SPMFS !65

  66. ˖ طحزٙ٦ؙ鸐⥋׾嗚濼׃ծ鷏「⥋ׁ׸׋ر٦ة瘝ך然钠ָדֹ׷ /FUXPSL1SPMFS !66

  67. 涪欰׃׋鸐⥋ה׉ךꆀָؚٓؿד׻ַ׷

  68. ˖ طحزٙ٦ؙ鸐⥋׾嗚濼׃ծ鷏「⥋ׁ׸׋ر٦ة瘝ך然钠ָדֹ׷ /FUXPSL1SPMFS !68

  69. 鼅䫛׃׋儗꟦ח涪欰׃׋鸐⥋ָ邌爙ׁ׸׷

  70. &OFSHZ1SPMFS 

  71. ˖ $168J'J(16إٝ؟٦瘝ח״׷ؒطؘٕ٦嶊顤׾邌爙ׅ׷ ˖ "OESPJE⟃꣬דⵃ欽〳腉 &OFSHZ1SPMFS !71

  72. ˖ $168J'J(16إٝ؟٦瘝ח״׷ؒطؘٕ٦嶊顤׾邌爙ׅ׷ ˖ "OESPJE⟃꣬דⵃ欽〳腉 &OFSHZ1SPMFS !72

  73. ،فٔח״׷ؒطؘٕ٦嶊顤ꆀך 㢌⻉ָ邌爙ׁ׸גְ׷

  74. ˖ ؒطؘٕ٦嶊顤ח䕦갟ׅ׷ءأذي؎كٝز׾涪鋅דֹ׷ &OFSHZ1SPMFSءأذي؎كٝزך邌爙 !74 8BLFMPDL "MBSN +PC ⡘縧䞔㜠ؙٔؒأز أٔ٦ف朐䡾חז׵׆ח 歗꬗$16׾0/׃竲ֽ׷

    㹀劍涸ח㹋遤ׁ׸׷ غحؙؚٓٝسةأؙ 䭷㹀勴⟝ד㹋遤ׁ׸׷ غحؙؚٓؐٝسةأؙ (14إٝ؟٦瘝׾欽ְ׋ ⡘縧䞔㜠ך庠㹀ؙٔؒأز
  75. ワ鴟خ٦ٕ٥ٓ؎ـٓٔ ח״׷رغحؚ

  76. ˖ 5JNCFS ˖ 4UFUIP ˖ 'MJQQFS ˖ -FBL$BOBSZ ˖ )ZQFSJPO"OESPJE

    ワ鴟خ٦ٕ٥ٓ؎ـٓٔ !76
  77. 5JNCFS 5JNCFS 4UFUIP 'MJQQFS -FBL$BOBSZ )ZQFSJPO

  78. ˖ 5JNCFS ˖ 4UFUIP ˖ 'MJQQFS ˖ -FBL$BOBSZ ˖ )ZQFSJPO"OESPJE

    ワ鴟خ٦ٕ٥ٓ؎ـٓٔ !78
  79. ˖ android.util.Logחِ٦ذ؍ٔذ؍׾׮׋ׇծ㼭ֻׁծ䭁䓸䚍׾׮׋ׇ ׋ٗؖ٦ 5JNCFS !79 IUUQTHJUIVCDPN+BLF8IBSUPOUJNCFS

  80. 5JNCFSדؚٗ׾⳿ׅ➬穈׫ !80 5SFF 5JNCFS 5SFF@" 5SFF@# 5SFF@$ 5JNCFSח״׷ؚٗך䮙⹛ 㹀纏ׅ׷ؙٓأ

  81. 5JNCFSדؚٗ׾⳿ׅ➬穈׫ !81 5SFF 5JNCFS 5SFF@" 5SFF@# 5SFF@$ 5JNCFSQMBOU  ًاحسד5JNCFSח鷄⸇

  82. 5JNCFSדؚٗ׾⳿ׅ➬穈׫ !82 5SFF 5JNCFS 5SFF@" 5SFF@# 5SFF@$ 5JNCFSדؚٗ׾㹋遤 ׅ׷הծ鷄⸇׃׋5SFFח 䖞׏גؚٗךⳢ椚׾㹋遤ׅ׷

  83. 4UFUIP 5JNCFS 4UFUIP 'MJQQFS -FBL$BOBSZ )ZQFSJPO

  84. ˖ 'BDFCPPLָꟚ涪׃׋$ISPNF%FW5PPMT♳ד圫ղז،فٔך朐䡾׾嗚鏾 דֹ׷خ٦ٕ ˖ DISPNFJOTQFDUEFWJDFTַ׵،ؙإأדֹ׷ 4UFUIP !84 IUUQTGBDFCPPLHJUIVCJPTUFUIP

  85. 'MJQQFS 5JNCFS 4UFUIP 'MJQQFS -FBL$BOBSZ )ZQFSJPO

  86. ˖ 'BDFCPPLָꟚ涪׃׋㼔欽،فٔ♳ד圫ղז،فٔך朐䡾׾嗚鏾דֹ׷ خ٦ٕկ"OESPJEJ04⚕㼎䘔 ˖ فؚٓ؎ٝ׾鷄⸇ׅ׷ֿהד圫ղזرغحؚ堣腉׾鷄⸇〳腉 'MJQQFS !86 IUUQTGCJQQFSDPN

  87. 'MJQQFS !87 UJQT 2'MJQQFSכ4UFUIPך縧ֹ䳔ִ4UFUIPכ穄׻׷ "4UFUIP׮䒷ֹ竲ֹ植䕵կ'MJQQFSכ4UFUIPד⳿勻׷ֿה ׾קה׿וؕغ٦׃גְ׷ָծ⹛⡲橆㞮זוծص٦ؤ חさ׻ׇגخ٦ٕ׾鼅䫛׃״ֲ

  88. -FBL$BOBSZ 5JNCFS 4UFUIP 'MJQQFS -FBL$BOBSZ )ZQFSJPO

  89. ˖ 4RVBSFָꟚ涪׃׋ًٌٔٔ٦ؙ嗚⳿خ٦ٕ ˖ 㼪Ⰵ׃׋،فٔךًٌٔٔ٦ؙ׾嗚⳿׃ծ鸐濼ׅ׷ -FBL$BOBSZ !89 IUUQTTRVBSFHJUIVCJPMFBLDBOBSZ

  90. None
  91. None
  92. None
  93. ًٌٔٔ٦ؙ׃׋⿫撑׾؝٦س♳ך せ獥ד邌爙׃גֻ׸׷

  94. )ZQFSJPO"OESPJE 5JNCFS 4UFUIP 'MJQQFS -FBL$BOBSZ )ZQFSJPO

  95. ˖ ،فٔ♳חرغحًؚصُ٦׾鷄⸇דֹ׷ٓ؎ـٓٔ ˖ فؚٓ؎ٝ׾鷄⸇ׅ׷ֿהד堣腉׾鷄⸇ׅ׷ֿהָ⳿勻׷ )ZQFSJPO"OESPJE !95 IUUQTHJUIVCDPNXJMMPXUSFFBQQT)ZQFSJPO"OESPJE

  96. None
  97. 畭劣׾䮶׷ַծ 鸐濼걄㚖ַ׵ ㄎן⳿ׇ׷

  98. ˖ IZQFSJPONFBTVSFNFOU ˖ IZQFSJPODSBTI ˖ IZQFSJPOSFDPSEFS ˖ IZQFSJPOBUUS ˖ IZQFSJPOEJTL

    ˖ FUD )ZQFSJPO"OESPJEךرؿٕؓزٓ؎ـٓٔ !98
  99. ˖ IZQFSJPONFBTVSFNFOU ˖ IZQFSJPODSBTI ˖ IZQFSJPOSFDPSEFS ˖ IZQFSJPOBUUS ˖ IZQFSJPOEJTL

    ˖ FUD )ZQFSJPO"OESPJEךرؿٕؓزٓ؎ـٓٔ !99
  100. ˖ 㹋堣♳דٖ؎،ؐزך朐䡾׾然钠דֹ׷ ˖ ぐ7JFX꟦ךو٦آٝծ7JFXך؟؎ؤָ然钠דֹ׷ IZQFSJPONFBTVSFNFOU !100

  101. ˖ ؙٓحءُ׾饯ֿ׃׋ꥷחؙٓحءُؚٗ׾畭劣♳ח邌爙ׅ׷ IZQFSJPODSBTI !101

  102. ֮׻ׇגֹֹ׋ְ How to develop debugging libraries / デバッグライブラリを使うから作るへ Day1 15:00-15:40

    @Dialogs by Ryo Yamazaki
  103. ِ٦أ؛٦أח֮׻ׇ׋ رغحؚ䩛岀ך䲿周

  104. ˖ ⟃♴ךِ٦أ؛٦أ׾⢽חծוֲرغحؚ׃גְַֻ׾铡僇 ˖ ؚٗך《䖤 ˖ "1*鸐⥋ך嗚鏾 ˖ 畭劣%#ך嗚鏾 ˖ 歗꬗ٖ؎،ؐز

    ˖ ⤑ⵃז#SFBLQPJOU ِ٦أ؛٦أח֮׻ׇ׋رغحؚ䩛岀ך䲿周 !104
  105. ،فַٔ׵ؚٗ׾《䖤׃׋ְ

  106. ؚٗך《䖤 ؚٗך《䖤 "1*鸐⥋ 畭劣%# 歗꬗ٖ؎،ؐز #SFBLQPJOU

  107. ˖ -PHDBU׾אֲַ ˖ BOESPJEVUJM-PH ˖ 5JNCFS ˖ #SFBLQPJOU׾אֲַ ˖ &WBMVBUFBOE-PH

    ،فַٔ׵ؚٗ׾《䖤ׅ׷ !107
  108. ˖ -PHDBU׾אֲַ ˖ BOESPJEVUJM-PH ˖ 5JNCFS ˖ #SFBLQPJOU׾אֲַ ˖ &WBMVBUFBOE-PH

    ،فַٔ׵ؚٗ׾《䖤ׅ׷ !108
  109. BOESPJEVUJM-PHד-PHDBUח⳿⸂ׅ׷ !109 BOESPJEVUJM-PHדךؚٗ⳿⸂ Log.v("TAG", "Verbose log output") Log.d("TAG", "Debug log

    output") Log.i("TAG", "Info log output") Log.w("TAG", "Warn log output") Log.e("TAG", "Error log output")
  110. BOESPJEVUJM-PHד-PHDBUח⳿⸂ׅ׷ !110 5JNCFSדךؚٗ⳿⸂ Timber.v("Verbose timber output") Timber.d("Debug timber output") Timber.i("Info

    timber output") Timber.w("Warn timber output") Timber.e("Error timber output") Timber.tag("TAG").d("Debug timber output")
  111. BOESPJEVUJM-PHד-PHDBUח⳿⸂ׅ׷ !111 5JNCFSדךؚٗ⳿⸂ Timber.v("Verbose timber output") Timber.d("Debug timber output") Timber.i("Info

    timber output") Timber.w("Warn timber output") Timber.e("Error timber output") Timber.tag("TAG").d("Debug timber output") 5"(כ㹋遤ؙٓأせחז׷
  112. BOESPJEVUJM-PHד-PHDBUח⳿⸂ׅ׷ !112 5JNCFSדךؚٗ⳿⸂ Timber.v("Verbose timber output") Timber.d("Debug timber output") Timber.i("Info

    timber output") Timber.w("Warn timber output") Timber.e("Error timber output") Timber.tag("TAG").d("Debug timber output") 5"(׾䭷㹀ׅ׷ֿה׮דֹ׷
  113. BOESPJEVUJMMPHWT5JNCFS !113 BOESPJEVUJMMPH 5JNCFS 5"(ך䭷㹀 䗳銲 䗳銲搀ְ鏣㹀〳 ٔٔ٦أדך㼎䘔 QSPHVBSE瘝ד嶊⿠ׅ׷ 5SFF׾䊴׃剏ִ׷

    ؚٗךꥷך 䮙⹛ך㢌刿 ♶〳腉 〳腉ؕأةي5SFF
  114. BOESPJEVUJMMPHWT5JNCFS !114 BOESPJEVUJMMPH 5JNCFS 5"(ך䭷㹀 䗳銲 䗳銲搀ְ鏣㹀〳 ٔٔ٦أדך㼎䘔 QSPHVBSE瘝ד嶊⿠ׅ׷ 5SFF׾䊴׃剏ִ׷

    ؚٗךꥷך 䮙⹛ך㢌刿 ♶〳腉 〳腉ؕأةي5SFF ػؿؓ٦وٝأ⡚♴װ䞔㜠怩ְִך⽬ꤹ׾㔐鼘ׅ׷湡涸
  115. BOESPJEVUJMMPHWT5JNCFS !115 BOESPJEVUJMMPH 5JNCFS 5"(ך䭷㹀 䗳銲 䗳銲搀ְ鏣㹀〳 ٔٔ٦أדך㼎䘔 QSPHVBSE瘝ד嶊⿠ׅ׷ 5SFF׾䊴׃剏ִ׷

    ؚٗךꥷך 䮙⹛ך㢌刿 ♶〳腉 〳腉ؕأةي5SFF
  116. ؕأةي5SFFדؚٗךꥷך䮙⹛׾㢌ִ׷ !116 class CrashReportingTree : Timber.Tree() { override fun log(

    priority: Int, tag: String?, message: String, t: Throwable? ) { if (priority == Log.VERBOSE || priority == Log.DEBUG) { return } // Do crash reporting... } } ؙٓحءُٖه٦ز׾遤ֲ5SFF
  117. ؕأةي5SFFדؚٗךꥷך䮙⹛׾㢌ִ׷ !117 class CrashReportingTree : Timber.Tree() { override fun log(

    priority: Int, tag: String?, message: String, t: Throwable? ) { if (priority == Log.VERBOSE || priority == Log.DEBUG) { return } // Do crash reporting... } } ؙٓحءُٖه٦ز׾遤ֲ5SFF 5SFFؙٓأ׾竰䪫׃׋ؙٓأ׾⡲׷
  118. ؕأةي5SFFדؚٗךꥷך䮙⹛׾㢌ִ׷ !118 class CrashReportingTree : Timber.Tree() { override fun log(

    priority: Int, tag: String?, message: String, t: Throwable? ) { if (priority == Log.VERBOSE || priority == Log.DEBUG) { return } // Do crash reporting... } } ؙٓحءُٖه٦ز׾遤ֲ5SFF MPHًاحسך ؔ٦غ٦ٓ؎سד 䮙⹛׾㹀纏
  119. ؕأةي5SFFדؚٗךꥷך䮙⹛׾㢌ִ׷ !119 override fun onCreate() { super.onCreate() if (BuildConfig.DEBUG) {

    Timber.plant(Timber.DebugTree()) } else { Timber.plant(CrashReportingTree()) } } "QQMJDBUJPOPO$SFBUF
  120. ؕأةي5SFFדؚٗךꥷך䮙⹛׾㢌ִ׷ !120 override fun onCreate() { super.onCreate() if (BuildConfig.DEBUG) {

    Timber.plant(Timber.DebugTree()) } else { Timber.plant(CrashReportingTree()) } } "QQMJDBUJPOPO$SFBUF #VJME$POHד㙵׭鴥׬5SFF׾㢌ִ׷
  121. ˖ -PHDBU׾אֲַ ˖ BOESPJEVUJM-PH ˖ 5JNCFS ˖ #SFBLQPJOU׾אֲַ ˖ &WBMVBUFBOE-PH

    ،فַٔ׵ؚٗ׾《䖤ׅ׷ !121
  122. ˖ #SFBLQPJOUⵋ麦儗ח鎸鶢ׁ׸׋Ⳣ椚׾㹋遤ׅ׷堣腉 #SFBLQPJOUד&WBMVBUFBOE-PH׾遤ֲ !122

  123. ˖ #SFBLQPJOUⵋ麦儗ח鎸鶢ׁ׸׋Ⳣ椚׾㹋遤ׅ׷堣腉 #SFBLQPJOUד&WBMVBUFBOE-PH׾遤ֲ !123 4USJOHָֿֿחⰅ׷הծ$POTPMFةـח⳿⸂ׁ׸׷

  124. #SFBLQPJOUד&WBMVBUFBOE-PH׾遤ֲ !124 Breakpointの設定箇所 Evaluate and Logの設定内容

  125. #SFBLQPJOUד&WBMVBUFBOE-PH׾遤ֲ !125 Breakpointの設定箇所 Evaluate and Logの設定内容 DebuggerのConsoleタブの出力

  126. #SFBLQPJOUד&WBMVBUFBOE-PH׾遤ֲ !126 Breakpointの設定箇所 Evaluate and Logの設定内容 DebuggerのConsoleタブの出力 ,PUMJOך䒭Ⰵ׶俑㶵ٔذٕٓ ָ⳿⸂ׁ׸׋

  127. -PHDBUה&WBMVBUFBOE-PHך麩ְ !127 -PHDBU &WBMVBUFBOE-PH ؚٗ鷄⸇儗 ךⱄؽٕس 䗳銲 䗳銲搀ְ ؚٗ׾⳿ׅ׋׭ ח䗳銲ז橆㞮

    "%# رغحؖ٦ך،ةحث ؘؚٗٝه؎ٝز ؝٦س♳ח婍׷ ؝٦س♳ח婍׵זְ
  128. -PHDBUה&WBMVBUFBOE-PHך麩ְ !128 -PHDBU &WBMVBUFBOE-PH ؚٗ鷄⸇儗 ךⱄؽٕس 䗳銲 䗳銲搀ְ ؚٗ׾⳿ׅ׋׭ ח䗳銲ז橆㞮

    "%# رغحؖ٦ך،ةحث ؘؚٗٝه؎ٝز ؝٦س♳ח婍׷ ؝٦س♳ח婍׵זְ "1*ؒٓ٦ךؚٗ瘝ծ䌢ח邌爙׃׋ְ הֹח⢪ֲךָ葺ׁ׉ֲ
  129. -PHDBUה&WBMVBUFBOE-PHך麩ְ !129 -PHDBU &WBMVBUFBOE-PH ؚٗ鷄⸇儗 ךⱄؽٕس 䗳銲 䗳銲搀ְ ؚٗ׾⳿ׅ׋׭ ח䗳銲ז橆㞮

    "%# رغحؖ٦ך،ةحث ؘؚٗٝه؎ٝز ؝٦س♳ח婍׷ ؝٦س♳ח婍׵זְ 然钠瘝ծ♧儗涸חؚٗ׾⳿׃׋ְ 㜥さח⢪ֲךָ葺ׁ׉ֲ
  130. "1*鸐⥋ך嗚鏾 ؚٗך《䖤 "1*鸐⥋ 畭劣%# 歗꬗ٖ؎،ؐز #SFBLQPJOU

  131. ˖ "OESPJE1SPMFS׾⢪ֲ ˖ /FUXPSL1SPMFS ˖ ٓ؎ـٓٔ٥ワ鴟خ٦ٕ׾⢪ֲ ˖ 4UFUIP/FUXPSL*OTQFDUPS ˖ 'MJQQFS/FUXPSL1MVHJO

    "1*鸐⥋ךⰻ㺁׾嗚鏾ׅ׷ !131
  132. ˖ "OESPJE1SPMFS׾⢪ֲ ˖ /FUXPSL1SPMFS ˖ ٓ؎ـٓٔ٥ワ鴟خ٦ٕ׾⢪ֲ ˖ 4UFUIP/FUXPSL*OTQFDUPS ˖ 'MJQQFS/FUXPSL1MVHJO

    "1*鸐⥋ךⰻ㺁׾嗚鏾ׅ׷ !132
  133. ˖ طحزٙ٦ؙ鸐⥋׾嗚濼׃ծ鷏「⥋ׁ׸׋ر٦ة瘝ך然钠ָדֹ׷ /FUXPSL1SPMFSⱄ䲓 !133

  134. 鼅䫛׃׋儗꟦ח涪欰׃׋鸐⥋ָ邌爙ׁ׸׷

  135. ˖ ⦐ղךؙٔؒأز׾ؙٔحؙׅ׷ה׉ך鑫稢ָ然钠דֹ׷ /FUXPSL1SPMFSד⦐ղך鸐⥋׾然钠ׅ׷ !135

  136. ˖ ⦐ղךؙٔؒأز׾ؙٔحؙׅ׷ה׉ך鑫稢ָ然钠דֹ׷ /FUXPSL1SPMFSד⦐ղך鸐⥋׾然钠ׅ׷ !136 歗⫷ךؙٔؒأزדכ 歗⫷ךفٖؽُ٦ָ 邌爙ׁ׸׷

  137. ˖ "OESPJE1SPMFS׾⢪ֲ ˖ /FUXPSL1SPMFS ˖ ٓ؎ـٓٔ٥ワ鴟خ٦ٕ׾⢪ֲ ˖ 4UFUIP/FUXPSL*OTQFDUPS ˖ 'MJQQFS/FUXPSL1MVHJO

    "1*鸐⥋ךⰻ㺁׾嗚鏾ׅ׷ !137
  138. ˖ /FUXPSLةـד4UFUIP饯⹛⚥ח涪欰׃׋鸐⥋׾然钠דֹ׷ 4UFUIP/FUXPSL*OTQFDUPS !138

  139. ˖ "OESPJE1SPMFS׾⢪ֲ ˖ /FUXPSL1SPMFS ˖ ٓ؎ـٓٔ٥ワ鴟خ٦ٕ׾⢪ֲ ˖ 4UFUIP/FUXPSL*OTQFDUPS ˖ 'MJQQFS/FUXPSL1MVHJO

    "1*鸐⥋ךⰻ㺁׾嗚鏾ׅ׷ !139
  140. ˖ 4UFUIPず圫ח0L)UUQ׾欽ְ׋鸐⥋ךⰻ㺁׾然钠ׅ׷ֿהָדֹ׷ 'MJQQFS/FUXPSL1MVHJO !140

  141. /FUXPSL1SPMFSWT4UFUIP'MJQQFS !141 /FUXPSL1SPMFS 4UFUIP'MJQQFS 穈׫鴥׬׋׭ך㹋鄲 ♶銲 䗳銲 涪欰׃׋鸐⥋ꆀך鎘庠 ؚٓؿד鋅׸׷ 筨鎘ָ鋅׸׷

    鸐⥋ך鎘庠ך➬倯 儗꟦眔㔲ד䭷㹀 䌢ח崧׸גֻ׷ 嗚稊〳腉
  142. /FUXPSL1SPMFSWT4UFUIP'MJQQFS !142 /FUXPSL1SPMFS 4UFUIP'MJQQFS 穈׫鴥׬׋׭ך㹋鄲 ♶銲 䗳銲 涪欰׃׋鸐⥋ꆀך鎘庠 ؚٓؿד鋅׸׷ 筨鎘ָ鋅׸׷

    鸐⥋ך鎘庠ך➬倯 儗꟦眔㔲ד䭷㹀 䌢ח崧׸גֻ׷ 鸐⥋׾䭪ִ׷״ֲחׅ׷䗳銲ָ֮׷ ⢽0L)UUQ$MJFOUך*OUFSDFQUFS鷄⸇
  143. /FUXPSL1SPMFSWT4UFUIP'MJQQFS !143 /FUXPSL1SPMFS 4UFUIP'MJQQFS 穈׫鴥׬׋׭ך㹋鄲 ♶銲 䗳銲 涪欰׃׋鸐⥋ꆀך鎘庠 ؚٓؿד鋅׸׷ 筨鎘ָ鋅׸׷

    鸐⥋ך鎘庠ך➬倯 儗꟦眔㔲ד䭷㹀 䌢ח崧׸גֻ׷ 嗚稊〳腉 暴㹀ך乼⡲٥ة؎ىؚٝד涪欰׃גְ׷ "1*鸐⥋׾嗚鏾ׅ׷הֹח剣⸬
  144. /FUXPSL1SPMFSWT4UFUIP'MJQQFS !144 /FUXPSL1SPMFS 4UFUIP'MJQQFS 穈׫鴥׬׋׭ך㹋鄲 ♶銲 䗳銲 涪欰׃׋鸐⥋ꆀך鎘庠 ؚٓؿד鋅׸׷ 筨鎘ָ鋅׸׷

    鸐⥋ך鎘庠ך➬倯 儗꟦眔㔲ד䭷㹀 䌢ח崧׸גֻ׷ 嗚稊〳腉 暴㹀ך"1*׾嗚鏾 ׃׋ְ㜥さח剣⸬
  145. 畭劣%#ך嗚鏾 ؚٗך《䖤 "1*鸐⥋ 畭劣%# 歗꬗ٖ؎،ؐز #SFBLQPJOU

  146. ˖ 4UFUIP׾⢪ֲ ˖ 3FTPVSDFT8FC42- ˖ 'MJQQFS׾⢪ֲ ˖ %BUBCBTF1MVHJO 畭劣%#ךⰻ㺁׾嗚鏾ׅ׷ !146

  147. ˖ 4UFUIP׾⢪ֲ ˖ 3FTPVSDFT8FC42- ˖ 'MJQQFS׾⢪ֲ ˖ %BUBCBTF1MVHJO 畭劣%#ךⰻ㺁׾嗚鏾ׅ׷ !147

  148. ˖ 3FTPVSDFTةـד8FC42-ך⚥ַ׵42-JUFךذ٦ـٕ׾然钠דֹ׷ 4UFUIPד畭劣%#ך朐䡾׾然钠ׅ׷ !148

  149. ˖ 4UFUIP׾⢪ֲ ˖ 3FTPVSDFT8FC42- ˖ 'MJQQFS׾⢪ֲ ˖ %BUBCBTF1MVHJO 畭劣%#ךⰻ㺁׾嗚鏾ׅ׷ !149

  150. ˖ 4UFUIPず圫חٗ٦ٕؕ%#ך朐䡾׾然钠ׅ׷ֿהָדֹ׷ %BUBCBTFT1MVHJOד畭劣%#ך朐䡾׾然钠ׅ׷ !150

  151. ˖ 4UFUIPず圫חٗ٦ٕؕ%#ך朐䡾׾然钠ׅ׷ֿהָדֹ׷ %BUBCBTFT1MVHJOד畭劣%#ך朐䡾׾然钠ׅ׷ !151

  152. ˖ 4USVDUVSFةـדذ٦ـٕ圓鸡ך然钠ָדֹ׷ %BUBCBTFT1MVHJOד畭劣%#ך朐䡾׾然钠ׅ׷ !152

  153. ˖ 42-ةـד畭劣%#ח㼎׃גؙؒٔ׾涪遤דֹ׷ %BUBCBTFT1MVHJOד畭劣%#ך朐䡾׾然钠ׅ׷ !153

  154. ˖ 'MJQQFSךקֲָ4UFUIPה嫰鯰׃ג넝堣腉 ˖ ذ٦ـٕ圓鸡ך然钠ָדֹ׷ ˖ 畭劣%#ח㹋ꥷח42-俑׾涪遤דֹ׷ 4UFUIPWT'MJQQFS !154

  155. 歗꬗ٖ؎،ؐزך嗚鏾 ؚٗך《䖤 "1*鸐⥋ 畭劣%# 歗꬗ٖ؎،ؐز #SFBLQPJOU

  156. ˖ ٖ؎،ؐزꥡ㾴׾然钠ׅ׷ ˖ -BZPVU*OTQFDUPS ˖ 4UFUIP&MFNFOUT ˖ 'MJQQFS-BZPVU1MVHJO ˖ ぐ7JFX꟦ךNBSHJOװ؟؎ؤ׾然钠ׅ׷

    ˖ )ZQFSJPO"OESPJEIZQFSJPONFBTVSFNFOU 㹋堣דך歗꬗ٖ؎،ؐزך朐䡾׾然钠ׅ׷ !156
  157. ˖ ٖ؎،ؐزꥡ㾴׾然钠ׅ׷ ˖ -BZPVU*OTQFDUPS ˖ 4UFUIP&MFNFOUT ˖ 'MJQQFS-BZPVU1MVHJO ˖ ぐ7JFX꟦ךNBSHJOװ؟؎ؤ׾然钠ׅ׷

    ˖ )ZQFSJPO"OESPJEIZQFSJPONFBTVSFNFOU 㹋堣דך歗꬗ٖ؎،ؐزך朐䡾׾然钠ׅ׷ !157
  158. -BZPVU*OTQFDUPSⱄ䲓 !158

  159. -JWF-BZPVU*OTQFDUPS %7JFX"OESPJE4UVEJP !159

  160. ˖ ٖ؎،ؐزꥡ㾴׾然钠ׅ׷ ˖ -BZPVU*OTQFDUPS ˖ 4UFUIP&MFNFOUT ˖ 'MJQQFS-BZPVU1MVHJO ˖ ぐ7JFX꟦ךNBSHJOװ؟؎ؤ׾然钠ׅ׷

    ˖ )ZQFSJPO"OESPJEIZQFSJPONFBTVSFNFOU 㹋堣דך歗꬗ٖ؎،ؐزך朐䡾׾然钠ׅ׷ !160
  161. ˖ $ISPNF%FW5PPMTד8FC؟؎ز׾鋅׷儗ה⡂׋״ֲז䠬ׄד鋅׸׷ 4UFUIPך&MFNFOUT !161

  162. ˖ ٖ؎،ؐزꥡ㾴׾然钠ׅ׷ ˖ -BZPVU*OTQFDUPS ˖ 4UFUIP&MFNFOUT ˖ 'MJQQFS-BZPVU1MVHJO ˖ ぐ7JFX꟦ךNBSHJOװ؟؎ؤ׾然钠ׅ׷

    ˖ )ZQFSJPO"OESPJEIZQFSJPONFBTVSFNFOU 㹋堣דך歗꬗ٖ؎،ؐزך朐䡾׾然钠ׅ׷ !162
  163. ˖ 4UFUIPהず圫կ鼅䫛⚥ך7JFXכ㼎䘔׃גرغ؎أדع؎ٓ؎زַַָ׷ 'MJQQFSך-BZPVU1MVHJO !163

  164. None
  165. .BSHJO٥1BEEJOH瘝׮邌爙ׁ׸גְ׷

  166. ˖ 'MJQQFSדכ׉׸׊׸ךفٗػذ؍׾箟꧊׃ծ⿾僥ׇׁ׷ֿה׮דֹ׷ 'MJQQFSד7JFXך㾩䚍׾㢌刿ׅ׷ !166

  167. -BZPVU*OTQFDUPSWT4UFUIP'MJQQFS !167 -BZPVU*OTQFDUPS 4UFUIP'MJQQFS ٖ؎،ؐز刿倜 כ⹛涸ַ ꫼涸 ַ׵⹛涸 ⹛涸 فٗػذ؍ך㢌刿

    ♶〳 UFYUUFYU$PMPS瘝ח〳 'MJQQFSך׫
  168. ˖ ٖ؎،ؐزꥡ㾴׾然钠ׅ׷ ˖ -BZPVU*OTQFDUPS ˖ 4UFUIP&MFNFOUT ˖ 'MJQQFS-BZPVU1MVHJO ˖ ぐ7JFX꟦ךNBSHJOװ؟؎ؤ׾然钠ׅ׷

    ˖ )ZQFSJPO"OESPJEIZQFSJPONFBTVSFNFOU 㹋堣דך歗꬗ٖ؎،ؐزך朐䡾׾然钠ׅ׷ !168
  169. ˖ 㹋堣♳דٖ؎،ؐزך朐䡾׾EQ⦼ד然钠דֹ׷ ˖ 鼅䫛׃׋7JFXך؟؎ؤ ˖ 鼅䫛׃׋7JFXהⴽך7JFX1BSFOU꟦ךNBSHJO IZQFSJPONFBTVSFNFOU !169

  170. ˖ 㹋堣♳דٖ؎،ؐزך朐䡾׾EQ⦼ד然钠דֹ׷ ˖ 鼅䫛׃׋7JFXך؟؎ؤ ˖ 鼅䫛׃׋7JFXהⴽך7JFX1BSFOU꟦ךNBSHJO IZQFSJPONFBTVSFNFOU !170 姻然חٖ؎،ؐزך ך㹋鄲ָדֹגְ׷ַ

    嗚鏾ׅ׷ֿהָדֹ׷
  171. ⤑ⵃז#SFBLQPJOU ؚٗך《䖤 "1*鸐⥋ 畭劣%# 歗꬗ٖ؎،ؐز #SFBLQPJOU

  172. ˖ &YDFQUJPO#SFBLQPJOU ˖ $POEJUJPO#SFBLQPJOU ˖ #SFBLQPJOUך剣⸬䚍ך㢌⻉ ˖ 3FNPWFPODFIJU ˖ %JTBCMFVOUJMCSFBLQPJOUJTIJU

    ⤑ⵃז#SFBLQPJOU !172
  173. ˖ &YDFQUJPO#SFBLQPJOU ˖ $POEJUJPO#SFBLQPJOU ˖ #SFBLQPJOUך剣⸬䚍ך㢌⻉ ˖ 3FNPWFPODFIJU ˖ %JTBCMFVOUJMCSFBLQPJOUJTIJU

    ⤑ⵃז#SFBLQPJOU !173
  174. ˖ &YDFQUJPO涪欰儗חـٖ٦ׇׁؙ׷ֿהָדֹ׷#SFBLQPJOU &YDFQUJPO#SFBLQPJOU !174

  175. ˖ &YDFQUJPO涪欰儗חـٖ٦ׇׁؙ׷ֿהָדֹ׷#SFBLQPJOU &YDFQUJPO#SFBLQPJOU !175 ⟣䠐ך&YDFQUJPOָUISPXׁ׸׋׵ـٖ٦ؙ

  176. ˖ &YDFQUJPO涪欰儗חـٖ٦ׇׁؙ׷ֿהָדֹ׷#SFBLQPJOU &YDFQUJPO#SFBLQPJOU !176 䭷㹀׃׋&YDFQUJPOָUISPXׁ׸׋׵ـٖ٦ؙ

  177. ˖ &YDFQUJPO涪欰儗חـٖ٦ׇׁؙ׷ֿהָדֹ׷#SFBLQPJOU &YDFQUJPO#SFBLQPJOU !177 +BWB&YDFQUJPO#SFBLQPJOU׾鷄⸇׃ג ـٖ٦ؙׅ׷㼎韋ך&YDFQUJPO׾䭷㹀⳿勻׷

  178. ˖ $BUDIDMBTTMUFST 暴㹀ؙٓأדך&YDFQUJPO涪欰儗חך׫ـٖ٦ׇׁؙ׷ !178

  179. 䭷㹀׃׋ؙٓأַ׵&YDFQUJPOָ UISPXׁ׸׋㜥さך׫ـٖ٦ؙׅ׷ ꤐ㢩׮〳腉

  180. ˖ &YDFQUJPO#SFBLQPJOU ˖ $POEJUJPO#SFBLQPJOU ˖ #SFBLQPJOUך剣⸬䚍ך㢌⻉ ˖ 3FNPWFPODFIJU ˖ %JTBCMFVOUJMCSFBLQPJOUJTIJU

    ⤑ⵃז#SFBLQPJOU !180
  181. ˖ 勴⟝׾弫׋ׅ儗ך׫ـٖ٦ؙׅ׷#SFBLQPJOU $POEJUJPO#SFBLQPJOU !181

  182. ˖ 鏣㹀׃׋䒭ך怴皾穠卓ָUSVF׌׏׋הֹך׫ـٖ٦ؙׅ׷ ˖ 醱侧㔐㹋遤ׁ׸׷ָծ暴㹀勴⟝ךⰅ⸂ָ֮׏׋ꥷך嗚鏾瘝ד剣⸬ $POEJUJPO#SFBLQPJOU !182

  183. ˖ &YDFQUJPO#SFBLQPJOU ˖ $POEJUJPO#SFBLQPJOU ˖ #SFBLQPJOUך剣⸬䚍ך㢌⻉ ˖ 3FNPWFPODFIJU ˖ %JTBCMFVOUJMCSFBLQPJOUJTIJU

    ⤑ⵃז#SFBLQPJOU !184
  184. ˖ ♧䏝׌ֽ剣⸬חז׷#SFBLQPJOU׾鏣㹀דֹ׷ 3FNPWFPODFIJU !185

  185. ˖ ♧䏝׌ֽ剣⸬חז׷#SFBLQPJOU׾鏣㹀דֹ׷ 3FNPWFPODFIJU !186 3FNPWFPODFIJU剣⸬儗חـٖ٦ؙׅ׷ה ׉ך#SFBLQPJOUָ⵴ꤐׁ׸׷

  186. ˖ &YDFQUJPO#SFBLQPJOU ˖ $POEJUJPO#SFBLQPJOU ˖ #SFBLQPJOUך剣⸬䚍ך㢌⻉ ˖ 3FNPWFPODFIJU ˖ %JTBCMFVOUJMCSFBLQPJOUJTIJU

    ⤑ⵃז#SFBLQPJOU !187
  187. ˖ ➭ך#SFBLQPJOUח״׏גـٖ٦ؙ׃׋㜥さחך׫ծ剣⸬חז׷ %JTBCMFVOUJMCSFBLQPJOUJTIJU !188

  188. ˖ 剣⸬חז׏גـٖ٦ؙ׃׋䖓ծ搀⸬ח䨱׷ַ剣⸬חז׶竲ֽ׷ַ鼅ץ׷ %JTBCMFVOUJMCSFBLQPJOUJTIJU !189 ـٖ٦ؙ䖓כ搀⸬ח䨱׷ךדծⱄ䏝#SFBLQPJOU"׾鸐׷䗳銲ָ֮׷ #SFBLQPJOU" #SFBLQPJOU#

  189. ˖ 剣⸬חז׏גـٖ٦ؙ׃׋䖓ծ搀⸬ח䨱׷ַ剣⸬חז׶竲ֽ׷ַ鼅ץ׷ %JTBCMFVOUJMCSFBLQPJOUJTIJU !190 ـٖ٦ؙ䖓׮剣⸬זךדծ#SFBLQPJOU"׾鸐׵זֻג׮0, #SFBLQPJOU" #SFBLQPJOU#

  190. ˖ "OESPJE،فٔꟚ涪חֶֽ׷رغحؚ䩛岀חאְג稱➜׃׋ ˖ "OESPJE4UVEJPךرغحؚ堣腉 ˖ خ٦ٕ׾欽ְ׋رغحؚ ˖ ֿ׸׵ך䩛岀׾⡤禸涸ח濼׷ֿהדرغحؚ鸞䏝ךぢ♳חאזָ׷ ˖ չ،فٔךוֿד⡦ָ饯ֹגְ׷ךַպך䪾䳢ך⸬桦⻉חז׷

    ˖ ،فٔח㼎׃גך濼陎ָ帾ת׶ծꟚ涪ך⸬桦⻉׾׮⸔ֽ׷ תה׭ !191
  191. ˖ #SFBLQPJOU)FMQ]*OUFMMJ+*%&" ˖ IUUQTXXXKFUCSBJOTDPNIFMQJEFBVTJOHCSFBLQPJOUTIUNM ˖ "OESPJE1SPMFSד،فٔךػؿؓ٦وٝأ׾庠㹀ׅ׷]"OESPJE%FWFMPQFST ˖ IUUQTEFWFMPQFSBOESPJEDPNTUVEJPQSPMFBOESPJEQSPMFS IMKB ˖

    $161SPMFS׾⢪欽׃ג$16"DUJWJUZהًاحسزٖ٦أ׾嗚叨ׅ׷]"OESPJE%FWFMPQFST ˖ IUUQTEFWFMPQFSBOESPJEDPNTUVEJPQSPMFDQVQSPMFSIUNM IMKB ˖ .FNPSZ1SPMFS׾⢪欽׃ג+BWBؼ٦فהًٌٔⶴ׶䔲ג׾邌爙ׅ׷]"OESPJE%FWFMPQFST ˖ IUUQTEFWFMPQFSBOESPJEDPNTUVEJPQSPMFNFNPSZQSPMFSIUNM IMKB ˖ /FUXPSL1SPMFS׾⢪欽׃גطحزٙ٦ؙزٓؿ؍حؙ׾嗚叨ׅ׷]"OESPJE%FWFMPQFST ˖ IUUQTEFWFMPQFSBOESPJEDPNTUVEJPQSPMFOFUXPSLQSPMFSIUNM IMKB ˖ &OFSHZ1SPMFS׾⢪欽׃גؒطؘٕ٦⢪欽ꆀ׾锃ץ׷]"OESPJE%FWFMPQFST ˖ IUUQTEFWFMPQFSBOESPJEDPNTUVEJPQSPMFFOFSHZQSPMFSIUNM IMKB 3FGFSFODFT !192
  192. ˖ /FX'FBUVSFTJO"OESPJE4UVEJP1SFWJFX]"OESPJE%FWFMPQFST ˖ IUUQTEFWFMPQFSBOESPJEDPNTUVEJPQSFWJFXGFBUVSFT ˖ 5JNCFS ˖ IUUQTHJUIVCDPN+BLF8IBSUPOUJNCFS ˖ 'MJQQFS

    ˖ IUUQGBDFCPPLHJUIVCJPTUFUIP ˖ 'MJQQFS ˖ IUUQTGCJQQFSDPN ˖ -FBL$BOBSZ ˖ IUUQTTRVBSFHJUIVCJPMFBLDBOBSZ ˖ )ZQFSJPO"OESPJEד"OESPJE،فٔ׾رغحؚ׃״ֲ]2JJUB ˖ IUUQTRJJUBDPNUBLBIJSPNJUFNTGGEEEDF 3FGFSFODFT !193