{
    "componentChunkName": "component---src-templates-blog-post-jsx",
    "path": "/post/automated-build-ios-anndroid-with-titanium/",
    "result": {"data":{"site":{"siteMetadata":{"title":"WEB EGG","author":"Leko - CTO at Yuimedi"}},"markdownRemark":{"id":"74b5297d-d3f3-5150-8bae-84e3fa59d3e9","excerpt":"こんにちは。れこです。 最近は、友人といちれこプロジェクトという活動をしていまして、 まだ詳細は非公開ですが、iOS と Android 両方に対応したアプリを作っています。 双方のプラットフォーム用の言語や、独自仕様を覚えるのは面倒なので、 Java や Objective-C を書かなくても Android…","html":"<p>こんにちは。れこです。<br>\n最近は、友人と<a href=\"https://www.facebook.com/IchiLeko\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">いちれこプロジェクト</a>という活動をしていまして、<br>\nまだ詳細は非公開ですが、iOS と Android 両方に対応したアプリを作っています。</p>\n<p>双方のプラットフォーム用の言語や、独自仕様を覚えるのは面倒なので、</p>\n<p><strong>Java や Objective-C を書かなくても<br>\nAndroid も iOS でも動くアプリを作れないかなぁ。</strong></p>\n<p>と、探したらありました。</p>\n<p>夢を叶えてくれたのが「Titanium-cli」です。<br>\nJavaScript で記述して、Android や iOS 向けにビルドが出来るツールです。</p>\n<!--more-->\n<p>GUI の開発環境「Titanium Studio」でも良いのですが、<br>\nEclipse ライクな開発環境が苦手（嫌い）なので CLI のほうを使って、<br>\n環境の準備からアプリのビルドまで行いたいと思います。</p>\n<p>さらに、<br>\nTitanium では JavaScript が使えるので、楽な CoffeeScript で書こうと思いつき、<br>\nそしたら<strong>保存時に CoffeeScript の自動コンパイル＋アプリの自動ビルドもしたいなぁ。</strong></p>\n<p>と思ったので、 <strong>Grunt</strong>という諸々自動化ツールについての手順をまとめてメモします。</p>\n<h2 id=\"事前に必要なもの\" style=\"position:relative;\"><a href=\"#%E4%BA%8B%E5%89%8D%E3%81%AB%E5%BF%85%E8%A6%81%E3%81%AA%E3%82%82%E3%81%AE\" aria-label=\"事前に必要なもの permalink\" class=\"autolink-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>事前に必要なもの</h2>\n<p>iOS アプリの開発をするため、Mac は必須です。<br>\n他には、お好みのテキストエディタなどをご用意下さい。<br>\nなお、今回の記事は、</p>\n<ul>\n<li><strong>MacBook Air 11 インチ</strong></li>\n<li><strong>OS 　：Mac OS X 10.8.3 Moutain Lion</strong></li>\n<li><strong>CPU：Intel Core i7 1.8GHz</strong></li>\n<li><strong>メモリ：4GB</strong></li>\n</ul>\n<p>の PC で試しています。</p>\n<p>前編では Titanium-cli の環境整備から、アプリのビルドまでを、<br>\n後編では Grunt を導入して自動化を行なっていきます。</p>\n<h2 id=\"1titanium-studio-をインストールする\" style=\"position:relative;\"><a href=\"#1titanium-studio-%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B\" aria-label=\"1titanium studio をインストールする permalink\" class=\"autolink-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>1.Titanium Studio をインストールする</h2>\n<p>まずは、Titanium-cli の GUI 版「Titanium Studio」をインストールします。<br>\nこちらの方が AndroidSDK の設定が楽なので、設定をするために使います。</p>\n<p>まず、Titanium シリーズを公開している<a href=\"http://www.appcelerator.com/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Appcelerator</a>を開きます。</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 600px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/4381fe7494b01edd139d4f9cb14223d8/0a47e/appcelerator1.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 62.27544910179641%; position: relative; bottom: 0; left: 0; background-image: url('data:image/svg+xml,%3csvg%20xmlns=\\'http://www.w3.org/2000/svg\\'%20width=\\'400\\'%20height=\\'249\\'%20viewBox=\\'0%200%20400%20249\\'%20preserveAspectRatio=\\'none\\'%3e%3cpath%20d=\\'M0%2077v77h401V0H0v77M330%205l-1%207v6h57V4h-28l-28%201M189%2087l-1%204c0%206%209%205%209-1%200-2%200-2%202%201%202%206%204%205%206%200s2-5%200-5l-2%202-1%201-1-1-2-2-2%201h-1l-3-1-4%201m-97%2016h-2l-2%201h-1l-4-1c-4%200-4%201-4%202%201%203%205%203%206%201h1c0%201%203%202%206%201s3-1%203%201v1l2-2%201-1c1%202%207%202%207%200%201-2%200-3-5-3h-8m35%201c0%202%200%202-1%201%200-2-2-3-2%200l-1-1h-4l-6-1c-5%200-5%200-5%202%201%203%205%203%206%201h3c1%202%2013%201%2014%200h2c1-1%201-1%201%201l1%202%202-1v-3c0-2-1-2-4-2h-4c0-2-2-1-2%201M56%20212v8h96v-16H56v8m188-7v8l1%207h96v-15l-48-1-49%201\\'%20fill=\\'%23d3d3d3\\'%20fill-rule=\\'evenodd\\'/%3e%3c/svg%3e'); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/4381fe7494b01edd139d4f9cb14223d8/5251b/appcelerator1.webp 167w,\n/static/4381fe7494b01edd139d4f9cb14223d8/7390e/appcelerator1.webp 334w,\n/static/4381fe7494b01edd139d4f9cb14223d8/e88ff/appcelerator1.webp 600w\"\n              sizes=\"(max-width: 600px) 100vw, 600px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/4381fe7494b01edd139d4f9cb14223d8/21521/appcelerator1.png 167w,\n/static/4381fe7494b01edd139d4f9cb14223d8/86d36/appcelerator1.png 334w,\n/static/4381fe7494b01edd139d4f9cb14223d8/0a47e/appcelerator1.png 600w\"\n            sizes=\"(max-width: 600px) 100vw, 600px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/4381fe7494b01edd139d4f9cb14223d8/0a47e/appcelerator1.png\"\n            alt=\"Appcelerator\"\n            title=\"Appcelerator\"\n            loading=\"lazy\"\n            decoding=\"async\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>次に、[Download Titanium for Free]をクリックして、会員登録をします。<br>\nこの会員情報は後々使うので、忘れないようにしておいて下さい。</p>\n<p>会員登録が完了すると、以下のような画面に行くと思います。</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 600px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/5ae58a42c8d1d98e0d786aa0c92993c8/0a47e/download_tstudio.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 49.101796407185624%; position: relative; bottom: 0; left: 0; background-image: url('data:image/svg+xml,%3csvg%20xmlns=\\'http://www.w3.org/2000/svg\\'%20width=\\'400\\'%20height=\\'197\\'%20viewBox=\\'0%200%20400%20197\\'%20preserveAspectRatio=\\'none\\'%3e%3cpath%20d=\\'M7%2010c0%203%200%203%201%202h2c1%202%2021%201%2021-1h1c1%201%202%202%206%202%207%200%207-1%206-3s-16-2-17%200h-1l-1-1h-1l-7-1h-6c-1-3-4-1-4%202m0%2019L6%2039c0%2011%200%2010%2013%2010h8V28H17L7%2029m26%200l-1%202c0%201%201%202%209%202h11c5%201%209%200%209-2%201-1%200-2-6-2H33m99%209l1%2011h9c11%200%2011%200%2011-12v-8l-11-1h-10v10m125%200l1%2011h20V28h-21v10M12%2079l-1%207v7h12v-5c0-4%200-5-3-7-2-3-7-4-8-2m-1%2056v7h12v-5c-1-6-3-9-9-9h-3v7m206-3l1%202%201%201a301%20301%200%2001-36%2019l11-1a808%20808%200%200129-3c-1%203%201%203%206-2l5-4v1l-1%201%203%201c1%200%202%200%201-1l-1-1-1-3%202-3%202-4c-2-1-22-5-22-3m126%2012c-2%202%200%203%208%203h9l4-1h3l3%201%203-1h1c0%202%203%201%203-1l-13-1a887%20887%200%2000-21%200M69%20188v1h9l3%201%202-1h19l2%201%201-2-4-1h-5c-3-1-26%200-27%201\\'%20fill=\\'%23d3d3d3\\'%20fill-rule=\\'evenodd\\'/%3e%3c/svg%3e'); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/5ae58a42c8d1d98e0d786aa0c92993c8/5251b/download_tstudio.webp 167w,\n/static/5ae58a42c8d1d98e0d786aa0c92993c8/7390e/download_tstudio.webp 334w,\n/static/5ae58a42c8d1d98e0d786aa0c92993c8/e88ff/download_tstudio.webp 600w\"\n              sizes=\"(max-width: 600px) 100vw, 600px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/5ae58a42c8d1d98e0d786aa0c92993c8/21521/download_tstudio.png 167w,\n/static/5ae58a42c8d1d98e0d786aa0c92993c8/86d36/download_tstudio.png 334w,\n/static/5ae58a42c8d1d98e0d786aa0c92993c8/0a47e/download_tstudio.png 600w\"\n            sizes=\"(max-width: 600px) 100vw, 600px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/5ae58a42c8d1d98e0d786aa0c92993c8/0a47e/download_tstudio.png\"\n            alt=\"Downloa\"\n            title=\"Downloa\"\n            loading=\"lazy\"\n            decoding=\"async\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>このページの、[Download Titanium Studio]をクリックして、<br>\n「osx」を選択して Titanium Studio をダウンロードします。</p>\n<p>Titanium Studio を起動したら、<br>\nメニュー →Titanium Studio→ 環境設定を開きます。<br>\n[Titanium]を選択して、Android SDK の保存場所を設定します。</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 600px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/150d4758f2ef4def4a50e2fd71354985/0a47e/setting-android-sdk.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 17.964071856287426%; position: relative; bottom: 0; left: 0; background-image: url('data:image/svg+xml,%3csvg%20xmlns=\\'http://www.w3.org/2000/svg\\'%20width=\\'400\\'%20height=\\'73\\'%20viewBox=\\'0%200%20400%2073\\'%20preserveAspectRatio=\\'none\\'%3e%3cpath%20d=\\'M172%207c-8%206-7%2015%201%2020%202%202%205%202%2036%202h34l4-4c6-6%205-15-2-19l-37-1c-33%200-34%200-36%202m1%204c-3%204-3%208%200%2011%202%202%204%202%2036%202h34l2-2c3-3%203-7%200-10l-3-3h-66l-3%202M0%2056v3h79v-6H0v3\\'%20fill=\\'%23d3d3d3\\'%20fill-rule=\\'evenodd\\'/%3e%3c/svg%3e'); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/150d4758f2ef4def4a50e2fd71354985/5251b/setting-android-sdk.webp 167w,\n/static/150d4758f2ef4def4a50e2fd71354985/7390e/setting-android-sdk.webp 334w,\n/static/150d4758f2ef4def4a50e2fd71354985/e88ff/setting-android-sdk.webp 600w\"\n              sizes=\"(max-width: 600px) 100vw, 600px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/150d4758f2ef4def4a50e2fd71354985/21521/setting-android-sdk.png 167w,\n/static/150d4758f2ef4def4a50e2fd71354985/86d36/setting-android-sdk.png 334w,\n/static/150d4758f2ef4def4a50e2fd71354985/0a47e/setting-android-sdk.png 600w\"\n            sizes=\"(max-width: 600px) 100vw, 600px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/150d4758f2ef4def4a50e2fd71354985/0a47e/setting-android-sdk.png\"\n            alt=\"Settin\"\n            title=\"Settin\"\n            loading=\"lazy\"\n            decoding=\"async\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>今回の記事では、<br>\n<strong>/Developers/android-sdk/</strong><br>\nに設置することにします。</p>\n<h2 id=\"2iosandroid-の-sdk-を入手する\" style=\"position:relative;\"><a href=\"#2iosandroid-%E3%81%AE-sdk-%E3%82%92%E5%85%A5%E6%89%8B%E3%81%99%E3%82%8B\" aria-label=\"2iosandroid の sdk を入手する permalink\" class=\"autolink-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>2.iOS,Android の SDK を入手する</h2>\n<p>iOS の SDK は、Xcode のからインストールして下さい。 インストールが完了すると、<strong>iOS の SDK は</strong>Titanium が自動的に認識してくれます。</p>\n<p>Android の SDK は自分でパスを指定してあげないといけません。 先ほどの設定で指定した、**/Developers/android-sdk/**の中に、 Android の SDK を入れてあげます。</p>\n<p>Titanium Studio のダッシュボードに行き、 <strong>Configure Native SDKs</strong>の、[AndroidSDK]をクリックします。</p>\n<p>すると、Android の SDK をインストールするマネージャーが起動します。</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 546px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/0135031c6d2273728ea497bcdeec4f3b/76aed/android-sdk-list.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 96.40718562874251%; position: relative; bottom: 0; left: 0; background-image: url('data:image/svg+xml,%3csvg%20xmlns=\\'http://www.w3.org/2000/svg\\'%20width=\\'400\\'%20height=\\'387\\'%20viewBox=\\'0%200%20400%20387\\'%20preserveAspectRatio=\\'none\\'%3e%3cpath%20d=\\'M285%2018c-1%201-2%202-3%201h-2a7759%207759%200%2001-251%200c-5%200-12%205-15%2010-2%205-2%206-2%2077%201%2081%200%2076%208%2081l4%205c0%202%201%202%204%201%201-1%204-2%2010-2h8l-1%203c0%202%200%202%201%201h3c2%201%202%201%202-1v-3l1%203c0%202%200%202%201%200%200-3%202-3%202%200%201%202%201%202%201%200%200-4%202-4%202%200l2%202%202-2c0-4%202-4%202%200%200%202%200%202%201%200l2-3%201%201c-1%201%200%204%202%204v-4l1%202c1%201%201%201%201-1%200-1%200-2%201-1l1%202v2l1-3c0-2%200-2%201%200%201%204%205%204%205%201%200-2%200-3%202-3s3%200%202%202l1%201%202%201h1v-3l4-1c3%200%203%200%203%203-1%201%200%202%201%202s2-1%201-2c0-3%200-3%204-3s4%200%203%202c-3%202-2%203%201%203%202%200%202%200%201-1-2%200-2%200%200-2%202-3%205-3%205%200l1%203c1%201%201%201%201-1l1-4v3c0%202%200%202%201%201h4c1%201%201%201%201-1v-3l1%203v2l2-2%203-2v2c0%202%202%202%202-1%200-2%201-2%203-2%203%200%203%200%203%203-1%202%200%202%201%202%202%200%202%200%201-1v-4l2%202c1%203%205%203%204%200l1-2%201%204c0%202%200%202%201%201l1-3c0-2%206-2%20119-2%20114%200%20118%200%20122-2%2010-5%2010-2%2010-84%200-79%200-75-7-81-4-4-8-4-40-5l-6-1h-3c-2%202-23%202-26%200h-2c-2%203-23%203-24%200h-5M26%2026l-6%205-2%203v71c0%2078%200%2075%206%2078%203%202%2022%202%20161%202h158l-1-2c0-3%200-3%204-3%205%200%208%202%206%204-1%201%2029%202%2032%200%202%200%202%200%200-2-1-2-1-5%201-3l1-1v-1c2%201%202%203%201%203s-2%200-1%201c1%202%203%201%203-1l2-3v-7c-2-1-2-5%200-6l1-4-1-4-2-2c0-2%201-3%202-3l1-4-1-4c-2%200-2-5%200-5l1-4-1-4c-1%200-2-1-2-3l2-3%201-3-1-4c-2-1-2-5%200-6l1-3-1-4-2-3%202-3c2%200%202-7%200-8l-2-2c0-2%200-2%201-1l1%202v-4c2%200%202-21%200-21l-2-2c0-2%201-3%202-3l1-4-1-4c-3-1-2-5%200-6l1-6c-1-7-3-11-8-13H26m35%20242l-1%202-2%201h-2c-2-2-2-2-3%200-2%201-4%200-4-2s-2-1-2%201c-1%202-2%202-10%202l-9-1-3-3-1%202c0%202-1%203-3%204-5%201-9%206-10%2011a498%20498%200%20005%2097c5%204-2%204%20189%204%20196%200%20184%200%20189-6%205-5%205-8%205-53v-43l-3-4c-6-9%204-8-130-8a1094%201094%200%2001-131-2c0%202%200%202-3%202-2%200-3%200-3-2%200-1-1-2-3-2-3%200-4%200-4%202%200%203-2%203-2%200l-2-2-1%202-3%202v-2l-1-2-1%203-3%201-2-1c1-2-2-5-3-4l1%202c2%201-1%203-4%203l-3-1c1-2-2-5-3-3v1c2%200%202%200%201%202-2%201-7%202-6%200%200-2-3-5-4-3v1c3%200%202%202-2%203-3%200-3%200-3-3%200-2%200-2-1-1l-3%202-1%201h-4l-3-1h-3l-2%201-1%201v-2l-1-2h-1m-38%2011c-7%204-6%203-7%2048l1%2045c2%207%205%208%2019%208h11v-2c0-2%201-3%202-3%202%200%203%202%201%203l-2%201c0%202%203%200%204-2l1-2v2c0%202%202%203%204%203l1-3c0-3%200-4%203-4%202%200%202%200%200%201-3%200-4%203-2%204h2c1-1%201-1%202%201%201%201%201%201%201-1s3-4%204-2l2%201h1l1%202v-4l2%201h2c1-2%204-1%204%202s2%202%202-2l1-3v4c0%203%200%203%201%201l2-3v1l1%201h1l-1%201c-2%200%201%202%203%202l3-3c2-5%202-5%204%200l2%204v-4c0-4%200-4%203-4%204%200%204%201%204%204%200%202%200%203%202%202v-1l-1-2h3v2c1%202%206%202%2087%202h86l1-3v-2l-1-1%202-1c2%200%203%201%200%205l-1%202h37l-1-4%201-3%201%203%201%204h9l10-1%205-1%204%201%202%201c3%200%203-1%203-4l1-3v3c0%204%202%206%202%202%200-2%201-3%202-3s2%201%202%203l1%202%201-3c0-1%200-2%202-2v3c2%203%203%203%203%200l1-3v1c-1%203%201%204%202%202l1-2v-1c2%200%203%202%203%203%201%202%201%202%201-1l1-4%201%204v4l1-4%201-4v3l1%204%201-1c-1-1%200-4%202-4l2%201c0%203%204-2%205-6%200-3%200-3-2-3l-2-2c0-2%201-3%202-3s2-1%202-4%200-4-2-4l-2-2c0-2%201-3%202-3%203%200%203-20%200-21s-3-5%200-6c2%200%203-8%200-8-2%201-3-4%200-5%203%200%203-8%200-8l-2-2c0-2%200-2%201-1%200%202%202%203%202%201l-1-2v-1c3%200%202-9-1-13-4-5%207-5-185-5l-182%201\\'%20fill=\\'%23d3d3d3\\'%20fill-rule=\\'evenodd\\'/%3e%3c/svg%3e'); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/0135031c6d2273728ea497bcdeec4f3b/5251b/android-sdk-list.webp 167w,\n/static/0135031c6d2273728ea497bcdeec4f3b/7390e/android-sdk-list.webp 334w,\n/static/0135031c6d2273728ea497bcdeec4f3b/a3666/android-sdk-list.webp 546w\"\n              sizes=\"(max-width: 546px) 100vw, 546px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/0135031c6d2273728ea497bcdeec4f3b/21521/android-sdk-list.png 167w,\n/static/0135031c6d2273728ea497bcdeec4f3b/86d36/android-sdk-list.png 334w,\n/static/0135031c6d2273728ea497bcdeec4f3b/76aed/android-sdk-list.png 546w\"\n            sizes=\"(max-width: 546px) 100vw, 546px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/0135031c6d2273728ea497bcdeec4f3b/76aed/android-sdk-list.png\"\n            alt=\"Androi\"\n            title=\"Androi\"\n            loading=\"lazy\"\n            decoding=\"async\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>とりあえず最新版と、Tools、<strong>API8</strong>、<strong>API7</strong>をインストールすれば OK かと思います。</p>\n<p>API8 は Titanium Studio には必須で、<br>\nAPI7 が無いとエミュレータの起動でエラーが出てたので、API7 もインストールします。<br>\nその他は、対象にする OS によって適宜インストールしてください。</p>\n<p>これで SDK の設定は完了です。<br>\nダッシュボードに戻って、Get started を見て下さい。</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 355px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/b1b32a35027d57cdfebee88965dcb73c/526ee/6771558919b40e75d25738805045577f.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 41.31736526946108%; position: relative; bottom: 0; left: 0; background-image: url('data:image/svg+xml,%3csvg%20xmlns=\\'http://www.w3.org/2000/svg\\'%20width=\\'400\\'%20height=\\'166\\'%20viewBox=\\'0%200%20400%20166\\'%20preserveAspectRatio=\\'none\\'%3e%3cpath%20d=\\'M0%2083v83h23V0H0v83M72%205c0%204%200%205-1%203%200-3-1-4-4-4l-5-1c-1-3-2-2-2%203%200%206%200%206%207%206h7V6c0-7-2-8-2-1m94%201l1%206%201-2c0-3%201-3%203%200l6%202c4%200%205-1%205-4s-1-4-3-4c-3%200-5%201-3%203v2c-1%201-3%200-3-1-2-2-2-3%200-5%203-3%201-4-2%200l-3%202V3l-1-3-1%206m96-4l-3%202-3%201h-1c0-2-2-1-2%202-1%204-3%204-3%200l-1-3-1%204c0%203%201%204%204%204l3-1h1l4%201c3%200%203%200%203-6s0-7-1-4m77%200l-2%202-3%201h-2l-3-1c-3%200-3%200-3%204l1%204%201-3%201-3%201%202c0%203%202%205%203%203h1l4%201c3%200%203%200%203-6l-1-6-1%202M119%202c0%202-1%202-5%202-2%200-3%200-3%202v3l-1-3-4-2c-3%200-3%200-3%204l1%204V9l2-3%201%203c0%203%200%203%205%203h6l-1-4%201-3%201%204%201%203c2%200%202-9%200-10h-1M82%208l1%204%201-3c0-2%201-3%202-3l1%203c0%203%201%204%203%202%201-1%201-1%201%201-1%203%204%204%206%201s1-8-2-9l-4%201h-2l-4-1c-3%200-3%200-3%204m121-2v4c1%203%206%203%207-1l1-2v2c1%203%204%204%204%201h2c1%203%203%201%203-2l1-1%201%203c0%202%200%202%203%202s4-1%203-5c-1-2-1-3-5-3-3%200-4%201-4%202l-1%201-1-1-1-2-2%202h-1c-1-2-8-2-10%200m153-1v4c1%204%206%204%207%201%201-2%201-2%201%201l1%204%201-1%202-2c6-1%205-7-1-8-2%200-3%200-3%202h-1c-1-2-6-3-7-1M72%2047h27v10l-1%206v-4h-9c-8%200-9%200-8-1l-1-2-2%201H67c-1-2-2-1-2%200%201%201%200%203-2%204-2%202-3%202-1-1%201-1%200-1-7-1h-8v4l-1-6-1-10v15l-1%2029c-1%2020-3%2018%2028%2018l28-1%201-32V47l-28-1H46l26%201m81%2010c-2%2020-1%2050%200%2051l29%201h27V47l-28-1h-28v11m108%2020l1%2032h55V47l-28-1h-28v31M49%20123c-2%205-2%206-1%206l1-1%202-2%203%202c1%202%204%201%204-2%201-4%203-4%203%200%200%203%202%204%203%202h1l4%201h3v-5l-1-6-1%202-2%201-3%201h-2c-2-2-6-1-7%201%200%202-1%202-2-1-2-5-3-5-5%201m222-2c0%203%200%203-2%202-2-2-5-2-6%200-3%204%204%208%207%204h1c0%202%201%202%203%202%203%200%204-1%204-4s-1-4-3-4-3-1-3-2c-1-1-1%200-1%202m49%200c0%203%200%203-1%202-3-4-7-2-7%202%201%205%205%206%207%202l1-2v2c0%202%200%202%203%202%206-1%207-7%201-8l-2-2-1-1-1%203\\'%20fill=\\'%23d3d3d3\\'%20fill-rule=\\'evenodd\\'/%3e%3c/svg%3e'); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/b1b32a35027d57cdfebee88965dcb73c/5251b/6771558919b40e75d25738805045577f.webp 167w,\n/static/b1b32a35027d57cdfebee88965dcb73c/7390e/6771558919b40e75d25738805045577f.webp 334w,\n/static/b1b32a35027d57cdfebee88965dcb73c/918eb/6771558919b40e75d25738805045577f.webp 355w\"\n              sizes=\"(max-width: 355px) 100vw, 355px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/b1b32a35027d57cdfebee88965dcb73c/21521/6771558919b40e75d25738805045577f.png 167w,\n/static/b1b32a35027d57cdfebee88965dcb73c/86d36/6771558919b40e75d25738805045577f.png 334w,\n/static/b1b32a35027d57cdfebee88965dcb73c/526ee/6771558919b40e75d25738805045577f.png 355w\"\n            sizes=\"(max-width: 355px) 100vw, 355px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/b1b32a35027d57cdfebee88965dcb73c/526ee/6771558919b40e75d25738805045577f.png\"\n            alt=\"スクリーンショッ\"\n            title=\"スクリーンショッ\"\n            loading=\"lazy\"\n            decoding=\"async\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>上記のように、 AndroidSDK のアイコンから「？」が消えていたら、読み込みに成功しています。</p>\n<h2 id=\"3nodejs-をインストールする\" style=\"position:relative;\"><a href=\"#3nodejs-%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B\" aria-label=\"3nodejs をインストールする permalink\" class=\"autolink-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>3.Node.js をインストールする</h2>\n<p>Titanium-cli を使うには、<strong>npm</strong>というパッケージ管理システムが必要です。<br>\nそして、npm は<strong>Nodejs</strong>をインストールすると自動的に使えるようになります。</p>\n<p>なので、Nodejs をインストールします。<br>\n<strong>brew</strong>コマンドでインストールするのが手っ取り早いかと思います。</p>\n<p>ターミナルを立ち上げ、以下の内容を入力して下さい。</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">$ cd ~\n$ brew update &amp;&amp; brew install node</code></pre></div>\n<p>brew のインストールについては、ググってください。</p>\n<blockquote>\n<p><a href=\"http://tools4hack.santalab.me/howto-mountainlion-install-homebrew.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">[Mac] Mountain Lion へパッケージ管理「Homebrew」をインストールする手順のメモ | Tools 4 Hack</a></p>\n</blockquote>\n<p>Nodejs のインストールが出来たら、動作確認のためバージョンを確認します。</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">$ node -v\nv0.8.17\n$ npm -v\n1.2.0</code></pre></div>\n<p>バージョンが出てきたら、OK です。</p>\n<h2 id=\"4titanium-cli-をインストールする\" style=\"position:relative;\"><a href=\"#4titanium-cli-%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B\" aria-label=\"4titanium cli をインストールする permalink\" class=\"autolink-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>4.titanium-cli をインストールする</h2>\n<p>Nodejs をインストールして npm が使えるようになったので、<br>\n<strong>titanium-cli</strong>をグローバルインストールします。</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">$ sudo npm install -g titanium</code></pre></div>\n<p>インストールするときには、Titanium-cli ではなく、<strong>titanium</strong>です。 パスワードを聞かれたら Mac のパスワードを入力。</p>\n<p>titanium のインストールしたら、一応バージョンを確認します。</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">$ titanium -v\n3.0.24</code></pre></div>\n<p>バージョンが表示されたら OK です。</p>\n<h2 id=\"5titanium-cli-の設定をする\" style=\"position:relative;\"><a href=\"#5titanium-cli-%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%82%92%E3%81%99%E3%82%8B\" aria-label=\"5titanium cli の設定をする permalink\" class=\"autolink-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>5.Titanium-cli の設定をする</h2>\n<p>Titanium-cli のインストールが完了したので、 次に環境設定します。とても簡単です。</p>\n<p>ターミナルに、</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">$ titanium setup</code></pre></div>\n<p>と入力します。 いくつか設定項目があるので、指示通り入力します。</p>\n<ul>\n<li><strong>What is your name?</strong> * ユーザー名。半角アルファベットならなんでも OK です</li>\n<li><strong>What is your email address used for logging into the Appcelerator Network?</strong> * 先ほど Appcelerator に登録したメールアドレスを入力します</li>\n<li><strong>What would you like as your default locale?</strong> * 国を指定します。日本の方なら<code>ja</code>と入力</li>\n<li><strong>What Titanium SDK would you like to use by default? (3.0.2.GA)</strong> * Titanium SDK のバージョンを指定します。<br>\n<code>(3.0.2.GA)</code>と表示されていたら、そのまま Enter</li>\n<li><strong>Path to your workspace where your projects should be created</strong> * プロジェクトを作成するときのパスを指定する<br>\n<code>./</code>と入力しておけば OK かと</li>\n<li><strong>Path to the Android SDK</strong> * Android SDK のパスを指定する<br>\n先ほど Titanium Studio で設定した通り、<code>/Developers/android-sdk/</code>と入力</li>\n</ul>\n<p>これらを記入して、<code>Configuration saved</code>と表示されれば、設定完了です。</p>\n<h2 id=\"6プロジェクトを作成する\" style=\"position:relative;\"><a href=\"#6%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B\" aria-label=\"6プロジェクトを作成する permalink\" class=\"autolink-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>6.プロジェクトを作成する</h2>\n<p>設定が完了したので、早速プロジェクトを作成します。</p>\n<p>ターミナルに以下のように入力します</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">$ titanium create</code></pre></div>\n<p>またいくつか質問をされるので、埋めていきます。</p>\n<ul>\n<li><strong>Target platforms</strong>\n<ul>\n<li>対象のプラットフォームをカンマ区切りで入力<br>\n今回は ios と android 用のアプリを作りたいので、<code>android,ios</code>と入力</li>\n</ul>\n</li>\n<li><strong>App ID</strong>\n<ul>\n<li>アプリの ID を入力<br>\nこれは、自分のドメインを逆順に書き、最後に<code>.アプリ名</code>を書くのが通例のようです。<br>\n私の場合、持っているドメインは<code>leko.jp</code>なので、<br>\nアプリ名を<code>myapp</code>とすると、App ID は<code>jp.leko.myapp</code>となります</li>\n</ul>\n</li>\n<li><strong>Project name</strong>\n<ul>\n<li>アプリの名前を入力<br>\nApp ID で<code>myapp</code>としたので、そのまま<code>myapp</code>と入力</li>\n</ul>\n</li>\n</ul>\n<p>上記を入力すると、</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">[INFO]  Creating Titanium Mobile application project\n[INFO]  Copying \"android\" platform resources\n[INFO]  Copying \"iphone\" platform resources\n[INFO]  Project 'myapp' created successfully in 76ms</code></pre></div>\n<p>とメッセージが出てきます。 これでプロジェクトが作成できました。</p>\n<p>生成されるファイルはこんな感じになっていると思います。</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">- LICENSE\n- README\n- Resources/\n    - KS_nav_ui.png\n    - KS_nav_views.png\n    - app.js\n    - android\n        - 省略\n    - iphone\n        - 省略\n- manifest\n- tiapp.xml</code></pre></div>\n<h2 id=\"7ビルドしてエミュレーターを起動する\" style=\"position:relative;\"><a href=\"#7%E3%83%93%E3%83%AB%E3%83%89%E3%81%97%E3%81%A6%E3%82%A8%E3%83%9F%E3%83%A5%E3%83%AC%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%92%E8%B5%B7%E5%8B%95%E3%81%99%E3%82%8B\" aria-label=\"7ビルドしてエミュレーターを起動する permalink\" class=\"autolink-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>7.ビルドしてエミュレーターを起動する</h2>\n<p>次に、アプリをビルドして<br>\niOS のシミュレータ、Android のエミュレータで起動してみます。</p>\n<p>プロジェクトを create した時点で、実は簡単なアプリが記述されています。 なので、何かプログラムを書く必要なく動作確認ができます。</p>\n<p>まず、iOS のアプリ形式にビルドします。<br>\nターミナルに以下の内容を入力</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">$ titanium build -p ios</code></pre></div>\n<p>すると、以下のようにずらっとアプリの情報や進捗状況が表示されます。</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">Titanium Command-Line Interface, CLI version 3.0.24, Titanium SDK version 3.0.2.GA\nCopyright (c) 2012-2013, Appcelerator, Inc.  All Rights Reserved.\n\nPlease report bugs to http://jira.appcelerator.org/\n\n[INFO]  Build type: development\n[INFO]  Building for target: simulator\n[INFO]  Building using iOS SDK: 6.1\n[INFO]  Building for iOS iPhone Simulator: 6.1\n[INFO]  Building for device family: universal\n[INFO]  Building for iOS 6.1; using 4.3 as minimum iOS version\n[INFO]  Minimum iOS version: 4.3\n[INFO]  Debugging disabled\n[INFO]  Initiating prepare phase\n[INFO]  Forcing rebuild: /Developer/myapp/build/iphone/build-manifest.json does not exist\n[INFO]  Forcing rebuild: debugger.plist does not exist\n[INFO]  No Titanium Modules required, continuing\n[INFO]  Performing full rebuild\n[INFO]  Copying Xcode iOS files\n[INFO]  Creating Xcode project directory: /Developer/myapp/build/iphone/myapp.xcodeproj\n[INFO]  Writing Xcode project data file: Titanium.xcodeproj/project.pbxproj\n[INFO]  Writing Xcode project configuration: project.xcconfig\n[INFO]  Writing Xcode module configuration: module.xcconfig\n[INFO]  Creating symlinks for simulator build\n[INFO]  Forcing rebuild: ApplicationDefaults.m has changed since last build\n[INFO]  Writing properties to ApplicationDefaults.m\n[INFO]  No module resources to copy\n[INFO]  No CommonJS modules to copy\n[INFO]  Invoking xcodebuild\n[INFO]  Finished building the application in 24s 938ms\n...</code></pre></div>\n<p>そのまましばらく待っていると、 iOS シミュレータが起動して、アプリが表示されると思います。</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 312px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/d4ef576d22591ee3fab244c014544341/17474/preview_io.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 192.21556886227546%; position: relative; bottom: 0; left: 0; background-image: url('data:image/svg+xml,%3csvg%20xmlns=\\'http://www.w3.org/2000/svg\\'%20width=\\'400\\'%20height=\\'769\\'%20viewBox=\\'0%200%20400%20769\\'%20preserveAspectRatio=\\'none\\'%3e%3cpath%20d=\\'M278%201L166%202%2088%203h33v5H85c-34%201-36%201-41%203-15%206-26%2020-30%2035l-1%20316-1%20312-3-1A44158%2044158%200%20017%2049v24H0v203l2%202c2%201%202%202%201%202v1l1%203v4l-2%202c-3%200-3%209%200%209%201%201%202%202%201%204v5l-2%202-1%2029c0%2028%200%2029%202%2031s1%203-1%201c-1-1-1%2010-1%2049%200%2050%200%2051%202%2051l2%202H3l-2-1a1945%201945%200%20001%20160c-2%200-3%205-1%205v1c-2%202-1%2010%201%2010v1c-3%200-2%202%200%202l2%201-2%201c-2%200-3%203-1%205v1a258%20258%200%20000%2053l-1%203%201%203v1c-2%200-2%2033%200%2033v2c-2%201-1%206%201%206v1c-1%201-2%202-2%205v3h401V420a6324%206324%200%2000-5-370v311a6030%206030%200%2001-4%20312l-1-312c0-341%200-317-6-328s-14-17-25-22l-5-2-115-1H126V3h112a6149%206149%200%200041-2h-1m72%20135c0%202%201%203%209%203h8v-6h-17v3M30%20162c0%2015%201%2020%202%2018a3056%203056%200%2001190%200c3%200%204%200%205-2h1l72%201%2072%201c1%206%202-7%202-18v-14l-172-1H30v15m0%20231v198h345V196l-173-1H30v198m73%20212c-2%201-1%2019%200%2020l2%202c1%202%202%202%2011%202h10v-6c0-7%202-7%202%201l1%205v-12c0-4-1-5-2-5-1%201-1%200-1-2s0-3-2-3l-2-1c0-2-18-3-19-1m1%207v6l1%205h15v-3c0-7%202-8%202-1v6h-7l-7%201h16v-15h-10l-10%201m-94%2066c-2%201-2%201-2%2020%200%2027%202%2037%2012%2049%207%209%2019%2016%2029%2019%208%202%20300%201%20307-1%2019-4%2034-20%2038-39%202-5%202-12%202-27%200-20%200-21-2-21h-2l-1%2021c0%2025-1%2030-7%2040-5%209-11%2014-21%2019l-7%204H205c-149%200-152%200-158-2-14-4-25-14-31-29-2-6-2-8-3-30v-24l-3%201\\'%20fill=\\'%23d3d3d3\\'%20fill-rule=\\'evenodd\\'/%3e%3c/svg%3e'); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/d4ef576d22591ee3fab244c014544341/5251b/preview_io.webp 167w,\n/static/d4ef576d22591ee3fab244c014544341/2b979/preview_io.webp 312w\"\n              sizes=\"(max-width: 312px) 100vw, 312px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/d4ef576d22591ee3fab244c014544341/21521/preview_io.png 167w,\n/static/d4ef576d22591ee3fab244c014544341/17474/preview_io.png 312w\"\n            sizes=\"(max-width: 312px) 100vw, 312px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/d4ef576d22591ee3fab244c014544341/17474/preview_io.png\"\n            alt=\"Previe\"\n            title=\"Previe\"\n            loading=\"lazy\"\n            decoding=\"async\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>次に、Android のアプリ形式にビルドします。 ターミナルの以下の内容を入力して下さい。</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">$ titanium build -p android</code></pre></div>\n<p><strong>Android のエミュレータは重い</strong>ので、１〜２分くらいのんびり待ってみて下さい。</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 600px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/eec1588292fd5c512b5efe70f16b1492/0a47e/preview_an.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 70.05988023952095%; position: relative; bottom: 0; left: 0; background-image: url('data:image/svg+xml,%3csvg%20xmlns=\\'http://www.w3.org/2000/svg\\'%20width=\\'400\\'%20height=\\'281\\'%20viewBox=\\'0%200%20400%20281\\'%20preserveAspectRatio=\\'none\\'%3e%3cpath%20d=\\'M186%209l-93%201H0v271h401V145c0-95%200-136-1-135a5831%205831%200%2001-214-1M14%20175v92h162V83H14v92m269-80v3l13-1c13%200%2013-1%2012-2-3-3-23-3-25%200m1%2017c-3%204-2%204%2012%204%2013%200%2014%200%2011-5l-2-1h-3l-5%202h-4c-1-2-2-2-4-2h-3l-2%202m-25%20143h1a430%20430%200%200165%202c-6%200-6%202%200%202l4%202c1%201%201%200%201-3l1-4a586%20586%200%2000-72%201\\'%20fill=\\'%23d3d3d3\\'%20fill-rule=\\'evenodd\\'/%3e%3c/svg%3e'); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/eec1588292fd5c512b5efe70f16b1492/5251b/preview_an.webp 167w,\n/static/eec1588292fd5c512b5efe70f16b1492/7390e/preview_an.webp 334w,\n/static/eec1588292fd5c512b5efe70f16b1492/e88ff/preview_an.webp 600w\"\n              sizes=\"(max-width: 600px) 100vw, 600px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/eec1588292fd5c512b5efe70f16b1492/21521/preview_an.png 167w,\n/static/eec1588292fd5c512b5efe70f16b1492/86d36/preview_an.png 334w,\n/static/eec1588292fd5c512b5efe70f16b1492/0a47e/preview_an.png 600w\"\n            sizes=\"(max-width: 600px) 100vw, 600px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/eec1588292fd5c512b5efe70f16b1492/0a47e/preview_an.png\"\n            alt=\"Previe\"\n            title=\"Previe\"\n            loading=\"lazy\"\n            decoding=\"async\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>iOS のシミュレータと同じように、<br>\nAndroid のエミュレータが起動してアプリが表示されれば OK です。</p>\n<h2 id=\"ビルドを自動化する\" style=\"position:relative;\"><a href=\"#%E3%83%93%E3%83%AB%E3%83%89%E3%82%92%E8%87%AA%E5%8B%95%E5%8C%96%E3%81%99%E3%82%8B\" aria-label=\"ビルドを自動化する permalink\" class=\"autolink-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>ビルドを自動化する</h2>\n<p>先述の<strong>ビルドしてエミュレータを起動する</strong>までの内容で、<br>\n<strong>手動での</strong>アプリのビルドとエミュレータの起動は出来ます。</p>\n<p>しかし、CoffeeScirpt を使ったり、<br>\nビルドを<strong>自動化</strong>したい方は、ぜひ後編(作成中)を御覧ください。</p>\n<h3 id=\"参考サイト\" style=\"position:relative;\"><a href=\"#%E5%8F%82%E8%80%83%E3%82%B5%E3%82%A4%E3%83%88\" aria-label=\"参考サイト permalink\" class=\"autolink-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>参考サイト</h3>\n<ul>\n<li><a href=\"http://dotinstall.com/lessons/basic_titanium\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Titanium Mobile 入門 (全 28 回) – プログラミングならドットインストール</a></li>\n<li><a href=\"http://old.imthinker.net/2012/10/anticipate-new-titanium-cli/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">先取り “新” Titanium CLI | old.imthinker.net</a></li>\n<li><a href=\"http://havelog.ayumusato.com/develop/others/e549-titanium_cli_install.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Titanium CLI のセットアップ・ビルドなど導入編 ::ハブろぐ</a></li>\n</ul>","timeToRead":12,"frontmatter":{"title":"titanium-cliとGruntを使って、コマンドラインからiOS・Androidアプリのビルドを自動化する方法(前編)","tags":["Android","iOS","JavaScript","Titanium studio"],"date":"April 05, 2013","featuredImage":{"childImageSharp":{"fluid":{"tracedSVG":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='162'%20viewBox='0%200%20400%20162'%20preserveAspectRatio='none'%3e%3cpath%20d='M0%2081v81h401V0H0v81m277-37c-5%203-8%206-9%2012%200%205%201%205%207%202%204-3%208-9%208-13s0-4-6-1M8%2082l1%2036h57l7-7%207-7V46H8v36m341-36l1%203c1%203%201%203-1%205-3%202-7%209-7%2012%200%202%202%202%2020%202%2023%200%2022%200%2018-8l-7-7v-3c2-3%202-4%201-4l-2%202c-1%204-20%204-20%200-1-2-3-3-3-2m-74%2015c-6%202-7%202-11%200-20-6-32%2015-21%2038%206%2013%2011%2017%2022%2014h10c10%203%2017-2%2021-14%202-4%202-4-1-6-7-5-8-18-2-23%203-3%203-3%201-5-4-5-11-7-19-4m58%2010c-2%201-2%203-2%2011%200%2012%201%2014%206%2014h3V83c0-13%200-14-4-14l-3%202m9%2014c0%2017%200%2017%205%2018%202%200%203%201%203%206%200%206%201%208%205%208%203%200%204-1%204-8%200-5%201-6%204-5%202%200%202%201%202%204%200%207%200%208%203%209%204%202%206-1%206-8%200-5%200-5%203-6%204%200%205-2%205-18V70h-40v15m42-14l-1%2012c0%2011%201%2013%206%2013h3V84l-1-14c-2-2-6-1-7%201'%20fill='%23d3d3d3'%20fill-rule='evenodd'/%3e%3c/svg%3e","aspectRatio":2.474074074074074,"src":"/static/3013cdef627d36a25044c2a2f1977e61/741c1/featured-image.jpg","srcSet":"/static/3013cdef627d36a25044c2a2f1977e61/466a3/featured-image.jpg 334w,\n/static/3013cdef627d36a25044c2a2f1977e61/741c1/featured-image.jpg 604w","srcWebp":"/static/3013cdef627d36a25044c2a2f1977e61/e33b9/featured-image.webp","srcSetWebp":"/static/3013cdef627d36a25044c2a2f1977e61/cd98f/featured-image.webp 334w,\n/static/3013cdef627d36a25044c2a2f1977e61/e33b9/featured-image.webp 604w","sizes":"(max-width: 604px) 100vw, 604px"}}}}}},"pageContext":{"slug":"/automated-build-ios-anndroid-with-titanium/","previous":{"fields":{"slug":"/test-backbone-with-sinon/"},"frontmatter":{"title":"Backbone.js×sinon.jsのテストでspyが上手く動かない時のメモ","tags":["Backbone.js","JavaScript","Mocha","sinon.js"]}},"next":{"fields":{"slug":"/event-report-of-js-app-in-tanemaki/"},"frontmatter":{"title":"第一回 JS-App勉強会@タネマキ LTメモ","tags":["angular.js","Backbone.js","CoffeeScript","Grunt","knockout.js","Nodejs"]}}}},
    "staticQueryHashes": ["2585454260","2954598359"]}