ããµãã¥ãŒã»ããå·¥ç§å€§åŠã è¬çŸ©ã³ãŒã¹6.858ã ãã³ã³ãã¥ãŒã¿ãŒã·ã¹ãã ã®ã»ãã¥ãªãã£ãã ãã³ã©ã€ã»ãŒã«ããŽã£ããããžã§ãŒã ãºã»ãã±ã³ãºã 2014幎
ã³ã³ãã¥ãŒã¿ãŒã·ã¹ãã ã»ãã¥ãªãã£ã¯ãå®å šãªã³ã³ãã¥ãŒã¿ãŒã·ã¹ãã ã®éçºãšå®è£ ã«é¢ããã³ãŒã¹ã§ãã è¬çŸ©ã§ã¯ãè åšã¢ãã«ãã»ãã¥ãªãã£ãå±éºã«ãããæ»æãããã³æè¿ã®ç§åŠçç 究ã«åºã¥ããã»ãã¥ãªãã£æè¡ãæ±ããŸãã ãããã¯ã«ã¯ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ïŒOSïŒã»ãã¥ãªãã£ãæ©èœãæ å ±ãããŒç®¡çãèšèªã»ãã¥ãªãã£ããããã¯ãŒã¯ãããã³ã«ãããŒããŠã§ã¢ã»ãã¥ãªãã£ãããã³Webã¢ããªã±ãŒã·ã§ã³ã»ãã¥ãªãã£ãå«ãŸããŸãã
è¬çŸ©1ïŒãã¯ããã«ïŒè åšã¢ãã«ã ããŒã1 / ããŒã2 / ããŒã3
è¬çŸ©2ïŒãããã«ãŒæ»æã®å¶åŸ¡ã ããŒã1 / ããŒã2 / ããŒã3
è¬çŸ©3ïŒããããã¡ãªãŒããŒãããŒïŒãšã¯ã¹ããã€ããšä¿è·ã ããŒã1 / ããŒã2 / ããŒã3
è¬çŸ©4ïŒãç¹æš©ã®å ±æã ããŒã1 / ããŒã2 / ããŒã3
è¬çŸ©5ïŒãã»ãã¥ãªãã£ã·ã¹ãã ã¯ã©ãããæ¥ãã®ãïŒã ããŒã1 / ããŒã2
è¬çŸ©6ïŒãæ©äŒã ããŒã1 / ããŒã2 / ããŒã3
è¬çŸ©7ïŒããã€ãã£ãã¯ã©ã€ã¢ã³ããµã³ãããã¯ã¹ã ããŒã1 / ããŒã2 / ããŒã3
è¬çŸ©8ïŒããããã¯ãŒã¯ã»ãã¥ãªãã£ã¢ãã«ã ããŒã1 / ããŒã2 / ããŒã3
è¬çŸ©9ïŒãWebã¢ããªã±ãŒã·ã§ã³ã®ã»ãã¥ãªãã£ã ããŒã1 / ããŒã2 / ããŒã3
è¬çŸ©10ïŒãã·ã³ããªãã¯å®è¡ã ããŒã1 / ããŒã2 / ããŒã3
è¬çŸ©11ïŒãUr / Webããã°ã©ãã³ã°èšèªã ããŒã1 / ããŒã2 / ããŒã3
è¬çŸ©12ïŒãããã¯ãŒã¯ã»ãã¥ãªãã£ããŒã1 / ããŒã2 / ããŒã3
è¬çŸ©13ïŒããããã¯ãŒã¯ãããã³ã«ã ããŒã1 / ããŒã2 / ããŒã3
è¬çŸ©14ïŒãSSLããã³HTTPSã ããŒã1 / ããŒã2 / ããŒã3
è¬çŸ©15ïŒãå»çãœãããŠã§ã¢ã ããŒã1 / ããŒã2 / ããŒã3
è¬çŸ©16ïŒããµã€ããã£ãã«æ»æã ããŒã1 / ããŒã2 / ããŒã3
è¬çŸ©17ïŒããŠãŒã¶ãŒèªèšŒã ããŒã1 / ããŒã2 / ããŒã3
è¬çŸ©18ïŒãã€ã³ã¿ãŒãããã®ãã©ã€ããŒããã©ãŠãžã³ã°ã ããŒã1 / ããŒã2 / ããŒã3
è¬çŸ©19ïŒãå¿åãããã¯ãŒã¯ã ããŒã1 / ããŒã2 / ããŒã3
è¬çŸ©20ïŒãæºåž¯é»è©±ã®ã»ãã¥ãªãã£ã ããŒã1 / ããŒã2 / ããŒã3
ã·ã¹ãã ã®è©³çŽ°ãªã¬ãã¥ãŒãéå§ããåã«ã1ã€ã®èå³æ·±ãããšãèŠã€ããŠã¿ãŸãããããããã®äººãAnââdroidã¢ããªã±ãŒã·ã§ã³çšã«ãŸã£ããæ°ããã¢ãžã¥ãŒã«èšèšãéçºããã®ã¯ãªãã§ããïŒ ãã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ãWebã¢ããªã±ãŒã·ã§ã³ããããŸããããªããœãããŠã§ã¢ãäœæãããŸã£ããæ°ããæ¹æ³ãçºæããå¿ èŠããã£ãã®ã§ããïŒ ç¢ºãã«ãããæå³ã§ã¯ãããã¯éçºè ãæ··ä¹±ãããŸãã ãšããã®ããç§ã¯mainé¢æ°ã䜿ã£ãŠå°ããªCããã°ã©ã ãæžãã®ã«æ £ããŠããããã§ãããããŠä»ãç§ã¯ãããèŠãŠæ¬¡ã®ããã«èšã£ãŠããŸãã ãã®ãã¹ãŠã§äœãããŸããïŒ Cæ§é äœã䜿çšããŠéåžžã®è¡ã«ã³ãŒããèšè¿°ãã代ããã«ã4çš®é¡ã®ã³ã³ããŒãã³ããå®çŸ©ããŠæå³ãéä¿¡ããå¿ èŠããããŸããïŒã
ããã§ã¯ãæ¢åã®ã¢ããªã±ãŒã·ã§ã³ã¢ãã«ã®é·æãšçæã¯äœã§ããïŒ ãã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ãšã€ã³ã¿ãŒãããã¢ããªã±ãŒã·ã§ã³ããããŸããããªã3çªç®ã®ã¿ã€ãã®ã¢ããªã±ãŒã·ã§ã³ãå¿ èŠãªã®ã§ããïŒ
åŠçïŒããããã¢ãã«ã¯å®å šã«å€æŽãããŸããããïŒ ãã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ã®éçºè ããã¢ãã€ã«ããã€ã¹çšã®ã¢ããªã±ãŒã·ã§ã³ã®éçºè ã»ã©ä¿¡é Œããã¹ãã§ã¯ãªããšæããŸãã ããã«ãã³ã³ãã¥ãŒã¿ãŒã¢ããªã±ãŒã·ã§ã³ã®çµéšè±å¯ãªãŠãŒã¶ãŒã®æ°ã«æ¯ã¹ãŠçµéšè±å¯ãªãŠãŒã¶ãŒãããŠãäºãã«åé¢ãããã¢ããªã±ãŒã·ã§ã³ã®æå šäœã䜿çšããããšèããŠããŸãã
ææïŒããããã ãã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ã®å Žåãéçºè ãããŸãä¿¡é ŒããŠã¯ãããªããšæããŸããïŒ
åŠçïŒãã¡ãããã³ã³ãã¥ãŒã¿ãŒããã°ã©ã ã®åé¡ã解決ããã®ãæäŒã£ãŠãããçµéšè±å¯ãªæ¯åãããšããåžžã«ããããã§ããããããé»è©±ã§ã¯ç¶æ³ãç°ãªããŸãã
ææïŒãã¡ãããæºåž¯é»è©±ãé¢åãèŠãã®ã«ããšããå¿ èŠãšããªãã®ã¯ã¯ãŒã«ã§ãã ããããã»ãã¥ãªãã£ã®èŠ³ç¹ãããã³ã³ãã¥ãŒã¿ãŒããã°ã©ã ã«ã¯1ã€ã®ç¹åŸŽçãªç¹æ§ããããŸããã³ã³ãã¥ãŒã¿ãŒã«æ°ããã¢ããªã±ãŒã·ã§ã³ãã€ã³ã¹ããŒã«ããã®ã¯ãããªãæéããããããã»ã¹ã§ãã å®è¡å¯èœãã¡ã€ã«ãã¯ãªãã¯ããŠã€ã³ã¹ããŒã«ããã€ã§ãéå§ã§ãããããããã¯å®å šã«çå®ã§ã¯ãªããããããŸãããããã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ãå®æçã«ã€ã³ã¹ããŒã«ãããšã¯æããŸããã çµå±ã®ãšãããååãšããŠãå®è¡ãããœãããŠã§ã¢ã®åºå®ã»ããããããŸãã
ãã®æå³ã§ãWebã¢ããªã±ãŒã·ã§ã³ã®ç¹åŸŽã¯ãç°¡åã«èµ·åã§ããããšã§ãã ãµã€ãã«ã¢ã¯ã»ã¹ããã ãã§ããªã³ã¯ãã¯ãªãã¯ãã以å€ã«äœãããå¿ èŠã¯ãããŸãããããã§ãæ°ããã¢ããªã±ãŒã·ã§ã³ã®ç®¡çäžã«ããæ°ãããµã€ãã«æ¢ã«ã¢ã¯ã»ã¹ã§ããŸãã ãããã£ãŠãããã¯Webã¢ããªã±ãŒã·ã§ã³ã®éåžžã«åªããããããã£ã§ãã
ã³ã³ãã¥ãŒã¿ãŒã¢ããªã±ãŒã·ã§ã³ã®æªãç¹åŸŽã¯ãã¢ããªã±ãŒã·ã§ã³ã®åé¢ããªãããšã§ãã ãããããããã¯äœããã®æ¹æ³ã§ããã®ãããªã¢ããªã±ãŒã·ã§ã³ãã€ã³ã¹ããŒã«ãããšãã«ãã³ã³ãã¥ãŒã¿ãŒäžã®ãã¹ãŠã®ãã®ãå®å šã«ä¿¡é Œãããšããäºå®ã«ãããã®ã§ãã å®éãã©ãããããã«ã€ã³ã¹ããŒã«ããã¢ããªã±ãŒã·ã§ã³ãšãæ¢ã«ååšããä»ã®ããã°ã©ã ãŸãã¯ããŒã¿ãšã®éã«ã¯åé¢ã¯ãããŸããããWebã¢ããªã±ãŒã·ã§ã³ã®å Žåã«ã¯ãããçšåºŠã®åé¢ããããŸãã Same Origin Policyãä¿¡é ŒããŠããéããå®å šã§ãã ãããã£ãŠãä»»æã®Webãµã€ãã«ã¢ã¯ã»ã¹ããŠããã®ã¢ããªã±ãŒã·ã§ã³ã®äœ¿çšãéå§ããŠãå®å šã§ãã ãã®ã¢ããªã±ãŒã·ã§ã³ããã©ãŠã¶ã®è匱æ§ãå©çšããªãå Žåãä»ã®ãã©ãŠã¶ã¿ãã§éãããŠãããµã€ãã®æäœã劚害ããŸããã
Webã¢ããªã±ãŒã·ã§ã³ã¯äœ¿ããããåé¢ãããŠãããããäŸç¶ãšããŠåªããäœçœ®ã«ããããã§ãã ãããã®äººãAnââdroid Webã¢ããªã䜿çšããªãã®ã¯ãªãã§ããïŒ
åŠçïŒ Webã¢ããªã±ãŒã·ã§ã³ã«ã¯ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãå«ãŸããŠããããã§ããããšãã°ãFirefoxã¯åºæ¬çã«ã¢ãã€ã«ã€ã³ã¿ãŒãããOSã§ãã
ææïŒç¢ºãã«ã ããªãã¯ãããã®äººãã¡ãå®éã«ééã£ãŠãããšäž»åŒµããŸãã æ°ããAndroid OSãäœæããããšã¯æ³å®ãããŠããŸããã§ããããåçŽã«æºåž¯é»è©±çšã®å·šå€§ãªWebãã©ãŠã¶ãŒãäœæããŸããã
åŠçïŒå°ãªããšãMozillaã¯ãããå¯èœã§ããããšã瀺ããŸããã
ææïŒãŸããããã¯ããªãå ¬å¹³ã§ãã å°ãªããšããå°ãªããšãé»è©±ã«é¢ããŠã¯ããã¹ã¯ãããã·ã¹ãã ãããWebã¢ããªã±ãŒã·ã§ã³ãäœæããæ¹ãè³¢æã§ãã
åŠçïŒ Webã¢ããªã±ãŒã·ã§ã³ããé»è©±ãããããããWebã¢ããªã±ãŒã·ã§ã³ã€ã³ã¿ãŒãã§ã€ã¹ãé»è©±ãšéä¿¡ããããã«ããŸã£ããæ°ããAPIãäœæããå¿ èŠããããŸãã
ææïŒç¢ºãã«ã ãããã£ãŠãWebã¢ããªã±ãŒã·ã§ã³ã«ã¯ãä¿®æ£ã§ãã1ã€ã®å¶éããããŸããäžéšã®ã¢ãã€ã«ããã€ã¹ã«ã¯APIããããŸããã ãããããã®ãããªã¢ããªã±ãŒã·ã§ã³ã¯ã»ãšãã©ãããŸããã ããšãã°ãã«ã¡ã©ãGPSããã²ãŒã¿ãŒã®å ŽåãWebã¢ããªã±ãŒã·ã§ã³ã«é©åãªã€ã³ã¿ãŒãã§ã€ã¹ããã£ãããšè¿œå ããŸãããé©åãªã€ã³ã¿ãŒãã§ã€ã¹ãè¿œå ããŸãã ãã ããWebã¢ããªã±ãŒã·ã§ã³ã«ã¯ãåŒã³åºããSMSã¡ãã»ãŒãžã®éä¿¡ãªã©ã®ããã®APIããŸã ååšããªãå¯èœæ§ããããŸãã
Webã¢ããªã±ãŒã·ã§ã³ã®ãã1ã€ã®æ¬ ç¹ã¯ãä»ã®ã¢ããªã±ãŒã·ã§ã³ãžã®å¶éãããã¢ã¯ã»ã¹ã確ç«ã§ããªãããšã§ãã Androidã®æé»çãªæå³ã«ã€ããŠè©±ããŸããããJPEGç»åã衚瀺ãããã®ã§ãããã©ã®ã¢ããªã±ãŒã·ã§ã³ããããéãããç¥ã£ãŠããã®ã¯èª°ã§ããïŒã ãã®PDFãã¡ã€ã«ã衚瀺ããããã«ã¡ã©ã§æ®åœ±ããã°ããã®å人ãšãã®åçãå ±æãããã®ã§ããã䜿çšããã¡ãŒã«ã¢ããªã±ãŒã·ã§ã³ãããããŸããã ããã§ã¯ããªã³ã¯ã¢ãã¿ã«ããã®åçãéä¿¡ããã¡ãŒã«ããã°ã©ã ãèŠã€ããŠããããŸãããã Androidããã€ã¹ã§ã¯ããã¯ç°¡åã§ãããWebã¢ããªã±ãŒã·ã§ã³ã®å Žåã¯ãåæäœãç¹å®ã®URLã«ãªã³ã¯ããå¿ èŠããããããéåžžã«å°é£ã«ãªããŸãã
ãã®ããã誰ããã©ã®PDFãã¥ãŒã¢ã䜿çšããŠãããããããªãå Žåããã¡ã€ã«ã®è¡šç€ºã«äœ¿çšã§ããURLã¯ããããŸããã
åŠçïŒããããWebã¢ããªã±ãŒã·ã§ã³ã®æ¬ ç¹ã¯ãJavaScriptãéåžžã«èªã¿ã«ããããšã§ããããïŒ
ææïŒã¯ãããã1ã€äžäŸ¿ãªç¹ã¯ããããããã¹ãŠJavaScriptã§æžãããŠããããšã§ãã ãããã£ãŠãããã¯ããã©ãŒãã³ã¹ã®ç¹ã§ããŸãè¯ããªãå¯èœæ§ããããããã°ã©ã ãäœãããŠããã®ããç解ããã®ãé£ãããå¹ççã«ã³ã³ãã€ã«ããã®ãé£ãããªã©ã§ãã
ã³ã³ãã¥ãŒã¿ããã°ã©ã ã«æ»ããŸãããã ãã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ã®äŸ¿å©ãªæ©èœã¯ããã¡ã€ã«ãå ±æããæ©èœã§ãã ãã¡ã€ã«ãå ±æããã ããªã®ã§ããã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ã§ãã¹ãŠã®ãã¡ã€ã«ã䜿çšã§ããŸãã ãããã£ãŠãã³ã³ãã¥ãŒã¿ãŒã§äœ¿çšå¯èœãªããŒã¿ã«ç°¡åã«ã¢ã¯ã»ã¹ã§ããŸãã
Androidã§ã®å®è£ ãå°ãé£ããã®ã¯ãã³ã³ãã¥ãŒã¿ãŒã¢ããªã±ãŒã·ã§ã³ã§ç°¡åã«å®è¡ã§ããããšã§ãã ãã¹ã¯ãããOSã®å ŽåããœãããŠã§ã¢ãã³ã³ãã€ã«ãããå Žåã¯ãMAKEãå®è¡ããGCCãšãå Žåã«ãã£ãŠã¯ä»ã®ããã€ãã®ããã°ã©ã ãå®è¡ããŸãããããã¯ãã¹ãŠãåããã£ã¬ã¯ããªå ã®åãCãœãŒã¹ã³ãŒãã§åäœããŸãã ããã¯ãããŒã¿ãã³ã³ãã³ããããã€ããŒã«ãã£ãŠä¿åãããŠããã¡ã€ã³ã¢ããªã±ãŒã·ã§ã³ã«é¢é£ä»ããããŠããAndroidã§è¡ãã®ãã¯ããã«å°é£ã§ãã ãã®ãããæåã«ãœãŒã¹ã³ãŒããªããžããªã䜿çšãã次ã«Cã³ã³ãã€ã©ãMAKEããã°ã©ã ãã¢ã»ã³ãã©ãªã©ãã€ã³ã¹ããŒã«ããå¿ èŠããããŸãã 圌ããäžç·ã«åãããããšã¯ãã£ãšé£ããã
ããã¯ãAndroidã®å¶éã®äžéšããã€ãã¹ããŠå®è¡ã§ããŸããããããã«ããŠããã¹ã¯ãããã·ã¹ãã ãããè€éã§ãã
åŠçïŒ Webã¢ããªã±ãŒã·ã§ã³ã®æé©åã¯éåžžã«é£ãããšæããŸããRAMã®äœ¿çšãšåŠçèœåã«ãã£ãŠå¶éãããŸãã
ææïŒã¯ããWebã¢ããªã±ãŒã·ã§ã³ãšãã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ã®æé©åã®ååã¯ç°ãªããŸãã å°ãªããšãAndroidãèšèšããŠãããšãã®Webã¢ããªã±ãŒã·ã§ã³ã®æ¬ ç¹ã¯ãWebã¢ããªã±ãŒã·ã§ã³ããªãã©ã€ã³ã§èµ·åããããšãéåžžã«é£ããã£ãããšã ãšæããŸãã é»è©±æ©ã匱ããããã¯ãŒã¯ä¿¡å·ããã£ãããããšãäžéšã®ã¢ããªã±ãŒã·ã§ã³ãèµ·åããã®ãé£ãããªããŸããç¹ã«ãäžéšã®ã¢ããªã±ãŒã·ã§ã³ããã£ãã·ã¥ããå€ããå Žåã¯ããã§ãã ãã ãããæ°ã¥ãã®ããã«ãçŸåšã®å¶éããªããããšã§ãAndroidã®Webã¢ããªã±ãŒã·ã§ã³ã¯ãã£ããã§ããããè¿œãã€ããããšãã§ããŸãã ãã®ãããWebã¢ããªã±ãŒã·ã§ã³ãæ°ããé»è©±ãªãã¬ãŒãã£ã³ã°ãã©ãããã©ãŒã ãèµ·åããããã®åççãªã¢ãã«ãšããŠæ©èœããããšã¯å®å šã«å¯èœã§ãã ãããã5幎åã«ã¯ãããã«ã¯ååã§ã¯ãããŸããã§ããã
ããããæ¢åã®æ¬ ç¹ã«ãããããããæ°ããã¢ãã€ã«OSããŒãããéçºãå§ããããããAndroidãå ãããããã«Webã¢ããªã±ãŒã·ã§ã³ããããã·ã¥ãããæ¹ãã¯ããã«ç°¡åã«ãªããŸãã ãããã£ãŠãAndroidãè¡ã£ãããšã®æåã«ã€ããŠã¯ãŸã 話ãããšæããŸãããããããä»æ¥ã¯ãã®ããã«ããªãæ¹ãè¯ãã§ãããã
åé¢ãšããç¹ã§ã¯ãAndroidã·ã¹ãã ã®ã»ãã¥ãªãã£ã¯ã¯ããã«é«ããšæããŸãã åè¿°ããããã«ãAndroidã¯Linuxã«ãŒãã«ã«äŸåããŠã¢ããªã±ãŒã·ã§ã³ãçžäºã«åé¢ããŸãã Androidãã©ãããã©ãŒã ã¯å®éã«ãŠãŒã¶ãŒIDãèšå®ããããããã®App1ã¯UID 1001ãæã¡ãApp 2ã¯UID 1002ãæã¡ãéåžžrootæš©éãæã€ãªã³ã¯ã¢ãã¿ãŒã¯UID 0ãæã¡ãŸãããã®ãããLinuxã«ãŒãã«ã¯äž»ã«ã¢ããªã±ãŒã·ã§ã³ã®çžäºåé¢ã
åºæ¬çã«ããŠãŒã¶ãŒèå¥åéã®çžäºäœçšã¯ã€ã³ãã³ãã®æå³ã«ãã£ãŠçºçããŸãã Linuxã«ãŒãã«ãUIDã䜿çšããŠã¢ããªã±ãŒã·ã§ã³ãå¶åŸ¡ããæ¹æ³ã«ã€ããŠã¯ãããã«å€ãã®ãã¥ã¢ã³ã¹ããããŸãããããã«ã€ããŠã¯åŸã»ã©èª¬æããŸãã
1ã€ã®èå³æ·±ã質åïŒãªããããã®äººã¯Javaãéžãã ã®ã§ããïŒ Androidã§ã®Javaã®åœ¹å²ã¯äœã§ããïŒ ãªãå¿ èŠãªã®ã§ããïŒ ãã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ãJavaã®ä»£ããã«Cã§ããŸãã¯ãäŸãã°ã¢ã»ã³ãã©ãŒã§æžããšãäœãå£ããããšã¯ãããŸããïŒ
åŠçïŒè匱æ§ãããå Žåããããã®èšèªã䜿çšãããšãã·ã¹ãã ã«ãšã£ãŠéèŠãªã€ã³ãžã±ãŒã¿ãŒã®æªã¿ã«ã€ãªããå¯èœæ§ããããŸãã
ææïŒã¯ããããã¯çºçããå¯èœæ§ããããŸããããšãã°ãã¢ããªã±ãŒã·ã§ã³ã§ãããã¡ãªãŒããŒãããŒãçºçããå¯èœæ§ããããŸãã ä»ã«äœïŒ
åŠçïŒæš©éã®æ··ä¹±ãçºçããå¯èœæ§ããããŸãã
ææïŒã©ã®ãããªèš±å¯ããããŸããïŒ
åŠçïŒåŸ ã¡æéãåŸ ã¡æéãªã©ã
ææïŒããã詳ããèŠãŠã¿ãŸãããã ãããã£ãŠãåè¿°ã®ããã«ããªã³ã¯ã¢ãã¿ãŒã¯ã¿ã°ããã§ãã¯ããå®éã«ã€ã³ã¹ããŒã«ãããŠãããã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ã®ãªã¹ããšããããã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ã«å¯Ÿå¿ããã¿ã°ãAndroidã·ã¹ãã ã«ä¿åããŸãã ãããã£ãŠããªã³ã¯ã¢ãã¿ãã©ã®èšèªã§æžãããŠããŠãããªã³ã¯ã¢ãã¿ã§ãšã©ãŒãçºçãããããªãã§ãããã ãããã£ãŠãã¿ã€ãã»ãŒããªèšèªã§èšè¿°ããããªã³ã¯ã¢ãã¿ãŒã䜿çšããããšã¯ãè¯ã解決çã§ãã Javaã¯ãåªããæ©èœãåããã¿ã€ãã»ãŒããªèšèªã§ãããããæ°ã«å ¥ã£ãŠããŸãã ãã ããã¢ããªã±ãŒã·ã§ã³ãCã§èšè¿°ãããŠããŠããããã¡ãªãŒããŒãããŒãçºçããå Žåã§ãããªã³ã¯ã¢ãã¿ã®ã©ãã«ãç Žæããããšã¯ãããŸããã ãããã£ãŠãããã¯å€§ããªåé¡ã«ã¯ãªããŸããã
åŠçïŒ Cã§æžãããã³ãŒããæå·ããå¯èœæ§ã®ããã·ã¹ãã ãããã®ã§ããããïŒ
ææïŒã¯ãããããã£ãŠãååãšããŠãLinuxã«ãŒãã«ãšçŽæ¥å¯Ÿè©±ããã¢ããªã±ãŒã·ã§ã³ãé¿ããã®ãè¯ãã§ãããã Androidã§ã¯ãããã¯åœãŠã¯ãŸããŸããã Androidã¢ããªã±ãŒã·ã§ã³ã¯ãå¿ èŠã«å¿ããŠä»»æã®ã·ã¹ãã ã³ãŒã«ãå®è¡ã§ããŸãã å®éãããã©ãŒãã³ã¹äžã®çç±ãããã¢ããªã±ãŒã·ã§ã³ã¯CãŸãã¯ã¢ã»ã³ãã©ãŒã§èšè¿°ãããä»»æã®ã³ã³ããŒãã³ãã«åœ±é¿ãäžããããšãã§ããªããããäžéšã®ã²ãŒã ã¯Javaãã話ããã
åŠçïŒäœããã®åœ¢ã§ãããã¯Javaåãã«æžããããã¹ãŠã®è³æã䜿çšããæ©äŒã ãšæããŸããã€ãŸããAndroidã®äœæè ã¯éçºè åãã®ã¢ããªã±ãŒã·ã§ã³ã®äœæãç°¡çŽ åããããšèããŸããã ãããè¡ãæãç°¡åãªæ¹æ³ã®1ã€ã¯ãèšå€§ãªJavaã©ã€ãã©ãªã掻çšããæ©èœãäœæããããšã§ãã
ææïŒããããã Javaã䜿çšããäž»ãªçç±ã®1ã€ã¯äœ¿ããããã ãšæããŸãã Javaã¯ã»ãã¥ãªãã£ãšã»ãšãã©é¢ä¿ããªããããããããããã°ã©ãã³ã°ãšéçºã®å®¹ææ§ã«é¢å¿ããããŸããã
iPnoneãšã¯ç°ãªããããã«å¥ã®å ŽæããããŸãã iPhoneãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®éçºãç°¡åã§ãããCã䜿çšããŠãããããè©ŠããŠã¿ããšãããã¡ãªãŒããŒãããŒãçºçããå¯èœæ§ããããŸãã ããã«ãç¹å®ã®æ©åšã«ã¯ç¹ç°æ§ãããããããã¹ãŠã®ã©ã€ãã©ãªãåãã§ã¯ãªãå ŽåããããŸãã Androidéçºè ãJavaãéžãã äž»ãªçç±ã¯ããã®OSãåäœããããã€ã¹ã®ç¹æ§ãæåã¯ç¥ããªãã£ãããã ãšæããŸãã ããšãã°ãiPhoneã®äœæè ã¯ãæºåž¯é»è©±ã«ARMããã»ããµãæèŒããããšã確信ããŠããããããã®ç¹å®ã®ã¢ãã«ã§ãœãããŠã§ã¢ãããªã³ã³ãã€ã«ããŸããã ãŸãããã®ã¢ãããŒãã¯ããå¹æçã§ãããªããªããããããªãŒã®æ¶è²»ã¯é»è©±ã«ãšã£ãŠéåžžã«éèŠã ããã§ãã
Androidã®éçºè ãJavaã䜿çšããŠãããšããäºå®ã¯ãJREãªã©ã«é¢é£ããŠãããããããããç¯é»ãããã»ããµã®ããã©ãŒãã³ã¹ã®ç¹ã§å¹çãäœãã§ãããã ãã ããOSãç°ãªãã¢ãŒããã¯ãã£ã®ããã€ã¹ã«ç§»æ€ããå©ç¹ããããŸãã ãããã£ãŠãMIPSãARMããŸãã¯x86ããã»ããµãæèŒããé»è©±ãããå ŽåãJavaã¢ããªã±ãŒã·ã§ã³ã¯3ã€ãã¹ãŠã®ããã€ã¹ã§å®è¡ã§ããŸãã Androidéçºè ã¯ããã©ãããã©ãŒã ãããããçš®é¡ã®æ©åšãŸãã¯é»è©±ã§äœ¿çšããããšãæãã§ããŸããã ãããã£ãŠããããããããJavaã䜿çšããããã«ã»ãã¥ãªãã£ãç ç²ã«ããäž»ãªçç±ã§ãã
Javaã©ã³ã¿ã€ã ç°å¢ã¯ãã¢ããªã±ãŒã·ã§ã³ã«ç¹å¥ãªã»ãã¥ãªãã£äžã®å©ç¹ãæäŸãããã®ã§ã¯ãªããéçºè ãšãŠãŒã¶ãŒã«ãšã£ãŠäŸ¿å©ãªãã®ã§ããããšãããããŸãã ããããåé¢ãšããç¹ã§ã¯ãåºæ¬çã«ã¯ã«ãŒãã«ãšãã¢ããªã±ãŒã·ã§ã³ã®åäœãå¶åŸ¡ãããªã³ã¯ã¢ãã¿ãŒã«äŸåããŸãã
åŠçïŒéçºã®ããããã¯ã¢ããªã±ãŒã·ã§ã³ã®ã»ãã¥ãªãã£ã«ã€ãªãããŸãããïŒ çµå±ã®ãšãããCåç §ã¢ãã¿ãŒãäœæãããšããééããç¯ãæ¹æ³ã¯ä»ã«ããããããããŸãã
ææïŒã¯ããããªãã¯çµ¶å¯Ÿã«æ£ããã§ãïŒ å®éãéçºã®å®¹æãã¯ã»ãã¥ãªãã£ãšã¯äœã®é¢ä¿ããªããšèšã£ãŠã¯ãããŸããã ããªãã¯æ£ããã³ãŒããæžãã®ãšåããããç°¡åã«ããããããã®ã§ãããã¯å®å šã«æãã§ãã ãã®ãããããæå³ã§ã¯ãæ£ããã³ãŒãã®ã¿ãç°¡åã«èšè¿°ã§ããã·ã¹ãã ã®æ¹ãããå®å šã§ãã ããæå³ã§ã¯ãAndroidéçºè ãã³ãŒããèšè¿°ããéã«ãã¹ãé¿ããããšæã£ãŠããã®ã§ãè€éãªCèšèªã§èšè¿°ãããã¯ãªããšæããŸãããããŠãOSã®éçºæã«Appleãããã°ã©ãã³ã°èšèªãšããŠCãéžãã çç±ã¯ããããŸããã
ãã®ãããªéžæã¯ã¢ããªã±ãŒã·ã§ã³ã§ãããã¡ãªãŒããŒãããŒã®åé¡ãåŒãèµ·ããããããã®ã¢ããªã±ãŒã·ã§ã³ãéåžžã«éèŠã§ããå Žåãæœåšçã«è匱ã§ãã ä»ã®ã¢ããªã±ãŒã·ã§ã³ã䟵害ããããšãšã¯é¢ä¿ãããŸããããéè¡ã®ã¢ããªã±ãŒã·ã§ã³ãCã§èšè¿°ãããã¯ãããŸããã
åŠçïŒ JavaãŸãã¯Cã§æžããããªã³ã¯ã¢ãã¿ãŒïŒ
ææïŒ Androidã§ã¯ããªã³ã¯ã¢ãã¿ãŒã¯ã»ãšãã©ãJavaã§æžãããŠããŸãã ãã ãããã€ãã£ãã³ãŒãã䜿çšããŠå€éšã€ã³ã¿ãŒãã§ã€ã¹ããã³ã¢ããªã±ãŒã·ã§ã³ãšéä¿¡ããããã«ãããã€ãã®ãããã¯ãããããŸãã ãã ããã»ãšãã©ã®ããžãã¯ã¯Javaã§èšè¿°ãããŠããŸãã ãããã£ãŠãããã¯å®éã«ã¯ããªãå®å šãªèšç»ã§ãã
ããã§ãã¢ããªã±ãŒã·ã§ã³UIDãä»ã«ã©ã®ãããªçšéã«äœ¿çšãããŠãããã調ã¹ãŠã¿ãŸãããããã ããã¢ããªã±ãŒã·ã§ã³ãéå§ããããã»ã¹ã«é¢ããŠã¢ããªã±ãŒã·ã§ã³ãäºãã«åé¢ããå Žåãé€ããŸãã UIDã䜿çšããäž»ãªçç±ã¯ãå ±æãªãœãŒã¹ãžã®ã¢ã¯ã»ã¹ãå ±æããã·ã¹ãã å ã®ããŒã¿ã亀æããæ©èœãäœæããããšã§ãã
ãã®ããã®ã¡ã«ããºã ã®1ã€ãæ¢ã«èŠãŠããŸãã-ãªã³ã¯ã¢ãã¿ãŒã«æå³ãéä¿¡ããŸãã ããããAndroidã«ã¯ããªã³ã¯ã¢ãã¿ãŒã®æå³ãä»ããŠè¡ãããŠããªãããšããããããããŸãã ããã©ãŒãã³ã¹äžã®çç±ããããã¹ãŠãIntentçµç±ã§éä¿¡ããããšã¯éããŸããã äž»ã«ã€ã³ã¿ãŒããããžã®ã¢ã¯ã»ã¹ã®ããã«ãã·ã¹ãã äžã§è¡ããã¹ãŠã®æäœã«å¯ŸããŠãªã³ã¯ã¢ãã¿ãŒãåŒã³åºãå¿ èŠã¯ãããŸããã Androidãå®è¡ããŠããããã€ã¹ã§ã€ã³ã¿ãŒãããã«ã¢ã¯ã»ã¹ããå Žåã¯ãæšæºã®Linuxã¢ããªã±ãŒã·ã§ã³ãšåæ§ã«ããœã±ãããéãã ãã§ãã ã¢ããªã±ãŒã·ã§ã³ã¯åã«ã«ãŒãã«ã«å°ããããšãã§ããŸãïŒããã®ãã·ã³ã«æ¥ç¶ãããã®ã§ãœã±ãããå¿ èŠã§ããããããã€ã³ã¿ãŒããããžã®ã¢ã¯ã»ã¹æ¹æ³ã§ãã
次ã«ããªã ãŒããã«ã¡ãã£ã¢ãžã®ã¢ã¯ã»ã¹ã«æ³šæããå¿ èŠããããŸãã é»è©±æ©ã«SDã«ãŒããããå Žåããããšã®éä¿¡ãã«ãŒãã«ãä»ããŠçŽæ¥å®è¡ãããŸãã äžè¬ã«ããã¡ã€ã«ã·ã¹ãã ã¯æ¢ã«ããã«ããããããã¡ã€ã«ã·ã¹ãã ãžã®ããããçš®é¡ã®ã¢ã¯ã»ã¹ããŸãã¯å°ãªããšããã¡ã€ã«ã·ã¹ãã ãžã®çŽæ¥ã¢ã¯ã»ã¹ã¯ãã«ãŒãã«ãä»ããŠçŽæ¥è¡ãããŸãã ããã¯ãããã©ãŒãã³ã¹ã®ãªãŒããŒããããåé¿ããããã«è¡ãããŸãã ããã«ãã»ãšãã©ã®ããŒããŠã§ã¢ããã€ã¹ãšåæ§ã«ãAndroidã§ã¯ããªã³ã¯ã¢ãã¿ãŒãä»ããŠã¢ã¯ã»ã¹ã転éãã代ããã«ãã¢ããªã±ãŒã·ã§ã³ãããã€ã¹ãšçŽæ¥éä¿¡ã§ããããã«ããŸãã , , GPS-, .
«» Android, Linux, /dev/camera. Linux, , , . , - , , Java. C Assembler, Linux, . Java , Java-.
: , , - , ?
: , ! , . ? , â2, ID . Android UID GID , . , . , , , - «android.permission.internet», , .
, . , , , . â Linux Android. , - , - , , Linux. Android GID 3003, . , , . , - . Android - , . , GID UID .
SD-. GID, SD-, , . , . , SD- GID SD-.
, , Android.
, , , . , SQL -, , . â UID , , .
, , , GPS, . GID, . , , dev/camera - GID, , , GID .
, , â2, , UID GID , - .
, SD-? , SD-? , SD- , , . ?
: , , , , .
: . , Android , . , SD- . , , SD- . , Android , , , FAT, - . , , - .
: , ?
: , . , , . , , , , . , .
â , , ? , , DIALPERM, INTERNET, FRIENDVIEW?
: , , ?
: , , , . , , . , . Android , iOS, , iPhone , , , SMS-, JPEG . .
â , , . . , Android , , . , - «», , , , , OK. , , .
, , , Android , â , . , , , . Android, 4.3, , , . , . , , , , . , , API, , .
55:10
ã³ãŒã¹MITãã³ã³ãã¥ãŒã¿ãŒã·ã¹ãã ã»ãã¥ãªãã£ããè¬çŸ©20ïŒæºåž¯é»è©±ã®ã»ãã¥ãªãã£ãããŒã3
ã³ãŒã¹ã®å®å šçã¯ãã¡ãããå ¥æã§ããŸã ã
ãæ»åšããã ãããããšãããããŸãã ç§ãã¡ã®èšäºã奜ãã§ããïŒ ããèå³æ·±ãè³æãèŠããã§ããïŒ æ³šæããããå人ã«æšèŠããããšã§ãç§ãã¡ããµããŒãããŸããç§ãã¡ãããªãã®ããã«çºæãããšã³ããªãŒã¬ãã«ã®ãµãŒããŒã®ãŠããŒã¯ãªã¢ããã°ã®HabrãŠãŒã¶ãŒã®ããã«30ïŒ ã®å²åŒïŒ VPSïŒKVMïŒE5-2650 v4ïŒ6ã³ã¢ïŒã«ã€ããŠã®çå®20ãã«ãŸãã¯ãµãŒããŒãåå²ããæ¹æ³ïŒ ïŒãªãã·ã§ã³ã¯RAID1ããã³RAID10ãæ倧24ã³ã¢ãæ倧40GB DDR4ã§å©çšå¯èœã§ãïŒã
VPSïŒKVMïŒE5-2650 v4ïŒ6ã³ã¢ïŒ10GB DDR4 240GB SSD 1GbpsãŸã§1ãæéç¡æã§6ãæã®æéããæ¯æãã®å Žåã¯ããã¡ãã§æ³šæã§ããŸãã
Dell R730xdã¯2åå®ãã§ããïŒ ãªã©ã³ããšç±³åœã§249ãã«ããIntel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 TVã2å°æã£ãŠããã ãã§ãïŒ ã€ã³ãã©ã¹ãã©ã¯ãã£ãã«ã®æ§ç¯æ¹æ³ã«ã€ããŠèªãã§ãã ããã ã¯ã©ã¹Rã¯ã1ç±³ãã«ã§9,000ãŠãŒãã®Dell R730xd E5-2650 v4ãµãŒããŒã䜿çšããŠããŸããïŒ