安裝App Inventor 2 Server

Windows 7在本機安裝 App Inventor 2 Server與在Google App Engine安裝App Inventor 2 Server

作者:黃建庭 2014.7.28

Windows 7在本機安裝 App Inventor 2 Server

(一)下載資料

1. 下載軟體

(a)Oracle Java SE Development Kit 7 (測試版本為jdk1.7.0_51)

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

(b)建立Java程式,使用apache-ant(測試版本為1.9.4)

http://ant.apache.org/bindownload.cgi

(c) appengine-java-sdk(測試版本為1.9.7)

https://developers.google.com/appengine/downloads?hl=zh-tw

(d)Git 版本控制與Shell軟體

http://git-scm.com/downloads

(e)Python(測試版本為2.7)

https://www.python.org/downloads/

2. 下載App Inventor 2程式碼

https://github.com/mit-cml/appinventor-sources

,點選右邊的 Download ZIP,一次下載所有程式碼

(二)安裝程式與設定環境參數

3. 安裝 Java與Git

4. 解壓縮apache-ant-1.9.4-bin.zip、appengine-java-sdk-1.9.7.zip與appinventor-sources-master.zip

5. 設定Windows7的環境參數中PATH,加入apache-ant、appengine-java-sdk、Java JDK與Python的程式所在資料夾,我的電腦設定為「D:\AppInventor2\apache-ant-1.9.4\bin;D:\AppInventor2\appengine-java-sdk-1.9.7\bin;C:\Program Files\Java\jdk1.7.0_51\bin;C:\Python27」,其中資料夾路徑以解壓縮路徑與安裝位置做調整。

6. 設定Windows7的環境參數中JAVA_HOME的路徑為「C:\Program Files\Java\jdk1.7.0_51」,與Java JDK安裝位置有關。

(三)編譯App Inventor 2

7.執行「Git Bash」,切換到App Inventor 2原始碼資料夾「appinventor-sources-master\appinventor」下,執行「ant clean」,再執行「ant」,ant會讀取資料夾下的build.xml進行編譯,直到出現「BUILD SUCCESSFUL」。

8.啟動App Invertor 2 Server,執行「Git Bash」切換到App Inventor 2原始碼資料夾「appinventor-sources-master\appinventor」下,執行「dev_appserver.sh --port=8888 --address=0.0.0.0 appengine/build/war」,其中dev_appserver.sh在appengine-java-sdk的bin資料夾下,已在步驟5設定好PATH就可以順利找到檔案dev_appserver.sh。

9.啟動BUILD SERVER,執行「Git Bash」切換到App Inventor 2原始碼資料夾「appinventor-sources-master\appinventor」下,執行「ant RunLocalBuildServer」,有了BUILD SERVER,App Inventor 2才可以點選「Build」。

測試BUILD SERVER是否啟動成功,使用瀏覽器連線http://localhost:9990/buildserver/health出現ok就順利啟動BUILD SERVER。

10.使用瀏覽器連線 http://127.0.0.1:8888/ 或 http://執行App Inventor2 Server IP:8888/。

在Google App Engine安裝 App Inventor 2 Server

1. 在Google App Engine點選「Create Application」,建立應用程式,產生新的google-app-engine-application-id在步驟2會用到。

2. 上傳AppInventor2到Google App Engine,執行「Git Bash」切換到App Inventor 2原始碼資料夾「appinventor-sources-master\appinventor」下,執行「appcfg.sh -A <google-app-engine-application-id> update appengine/build/war」,輸入擁有存取<your-google-app-engine-application-id>的Google帳號與密碼。出現「Update for module default completed successfully.」表示上傳成功。若更新過程有錯誤,要先復原之前上傳的動作,執行「appcfg.sh -A <google-app-engine-application-id> rollback appengine/build/war」

3. 設定Build Server位址,在App Inventor 2的原始碼資料夾下的appengine/build/war/WEB-INF/appengine-web.xml

修改 <property name="build.server.host" value="localhost:9990" />的localhost改成外部可以連現的主機IP或主機DNS,Build Server無法安裝在Google App Engine,需要外部架設Build Server。例如<property name="build.server.host" value="myip.test.tw:9990" />,需要在myip.test.tw建立Build Server。

參考資料

1. How to build App Inventor from the MIT sources https://docs.google.com/document/pub?id=1Xc9yt02x3BRoq5m1PJHBr81OOv69rEBy8LVG_84j9jc#h.rq4w7wjpawqf