windows环境下搭建最新版App Inventor 2服务器教程

当前App Inventor日趋流行,谷歌已经连续三次开展App Inventor全国中学生邀请赛;计算机表演赛也增加了App Inventor相关项目。学校和培训开设App Inventor课程日益增多,都需要搭建搭建AI2开发环境。
当前网上流行许多离线版本,使用也比较方便,但是版本相对比较低,而且作者觉得使用离线版的复杂度和自己搭建其实是差不多的,而且有利于我们了解更多App Inventor的细节。为此根据官方手册,编写了本教程。

需要指出的的是,App Inventor的搭建其实并不复杂,了解AI的组成部分之后,其实下载软件,然后配置几个环境变量就可以长长搭建AI环境了。

官方资料

如何从MIT的源码搭建App Inventor开发环境介绍了如何从官方提供的源码搭建App Inventor环境,但是因为众所周知的原因这个网址是无法访问的。作者会在下面的资料包里提供相应的下载地址

接下来的一部分内容有点啰嗦,需要直接动手在windows搭建可以直接看windows下app Inventor搭建这一部分。

需要的软件

为免去大家从google下载文件的不便,我这里把需要的软件都放到了百度云盘,方便大家下载

App Inventor介绍

尽管大家对于App Inventor已经很了解了,我还是要引用一下官方文档的前言。

安卓App Inventor让人们可以通过拖拽组合代码块的方式在浏览器中开发安卓应用程序。本文档是如何用MIT提供的源代码搭建你自己的App Inventor服务的指引。我们假设你已经在MIT的App Inventor网站开发过一段时间的app,然后你想搭建私人的App Inventor服务,或者和几个好友公用,或者当做是开发App Inventor的前奏。

在本地或者谷歌GAE上运行App Inventor服务

App Inventor是部署在GAE(谷歌应用引擎)上的Java服务于,他跟其他应用引擎服务一样可以部署在GAE的appspot.com网站上,如果你允许,任何人都可以通过网路访问你的服务。如果你打算在GAE部署,建议你了解一下App
Engine和Java App Engine服务。谷歌提供了关于部署和简单例子的详细教程。

你也可以用App Engine的开发服务器在本地运行App Inventor服务来进行私人的测试或者调试,当然你也可以把你的服务器对网络开放。开发服务器不能够承受大量并发访问,你只能在局域网里对少数用户提供服务(不是不行,而是放到诸如阿里云之类性能有些差,安全性也低),建议只对少数人提供服务(有人利用通过一台性能较高的服务器而非笔记本为40用户提供App Inventor服务,效果很不错)。

说明部分留待翻译

搭建App Inventor服务器

本章秒数如何搭建并运行App Inventor服务,搭建完成之后可以在本地运行,也可以部署到appspot.com。同时你需要搭建一个编译服务器用来打包apk,在运行App Inventor服务器的电脑或者另外一台单独的电脑都是可以的。

App Inventor源代码

如果你打算通过源码搭建并开发,而且希望参与项目,不应该单纯的git clone源代码,你应该先Fork一下然后下载。更多信息参见文档t: 通过git和github开发App Inventor.

App Inventor是允许下载的免费开源软件. 你安装了后面要求安装的软件之后可以通过
git clone https://github.com/mit-cml/appinventor-sources.git
复制源代码。
这一步会自动生成一个包含app Inventor源代码的名为appinventor-sources的文件夹. 不会用git可以百度。
我们把这个文件夹当做APP拍 Inventor的父文件夹。

Building App Inventor

As of September 10, 2013 all future development of MIT App Inventor is oriented to App Inventor 2. To that end, the master branch is now the code for App Inventor 2.
从2013年10月9日开始,所以开发都倾向于使用ai2,项目的主分支也是ai2.如果你要对ai2进行二次开发,可以参考github上的说明文档。

所有的都设置好之后,进入appinventor-sources这个父文件夹,然后进入一个叫appinventor的子文件夹,我们把这个文件夹当做是appinventor文件夹。

windows环境下App Inventor的搭建和使用

这一章主要介绍在windows操作系统安装运行app Inventor服务。当你成功编译app Inventor之后,你可以在本地开发服务器进行测试和开发,也可以部署到appspot.com上。同时你需要搭建打包服务器。

安装前需要安装的软件

windows环境下安装需要的软件

所有需要的都在这里了,大家直接到百度云下载就是了。

  • Java 7,一定是7版本,高版本不支持.
Java环境变量
  • 把Ant添加到环境变量
  • (Windows7添加方法, 我的电脑--> 属性--> 高级设置 --> 环境变量 --> 系统用户变量)
添加环境变量的方法
ANT_HOME
环境变量
  • a. 添加git环境变量,这个不是必须的
  • b. 利用git复制源代码

注意,Git并非必须的,大家直接把我源代码解压缩也是没有问题的

  • a. 当前支持App Inventor的是App Engine SDk1.9.27版本.
  • Android SDK 安卓SDK( http://developer.android.com/sdk/index.html )
    这个其实是用来开发的,不安装也没有关系的,主要是模拟器啊,Android开发环境什么的,如果你直接通过wifi在手机上测试,没有必要装
  • a. 推荐使用Android的安装版
  • 安装python,并且添加到环境变量,2.7.5机器以上版本都是可以的。
  • PhantomJS
    这个我没装,可能跟开发有关

编译运行App Inventor

通过命令行运行的时候,注意所有相关文件的存放目录都不要有空格。
Please note that the default directory will be C:\Program File\xxx, and the there is a space between the word Program and File.
默认安装陌路是C:\Program File\xxx里面有空格,建议直接安装在C盘根目录,我的放到了D盘。其实对于JDK来说,只要你配置清楚环境变量就没有问题。

windows官方自带的命令行工具体验太差,建议用 msysgit 自带的git bash (https://msysgit.github.io/), msysgit的命令行界面和苹果系统类似。如果你用cmd,注意执行命令不要执行sh结尾的而是cmd结尾的。而且用msysgit也不需要避免路径中的空格或者修改代码。而且你可以直接执行sh文件儿不是cmd。安装了上述软件之后,安装过程与Mac系统极其类似。已经亲测可用。

最后检查一下环境变量配置是否准确,需不需要重启电脑或者切换到管理员账号。

安装

实际上你只需要把下载文件中的ant appengine解压缩,然后配置环境变量就行了。

Ant目录
App Engine目录

是不是很简单。

目录结构

编译

通过再命令行里运行echo %JAVA_HOME%
命令来确保正确设置了JAVA_HOME变量。没有正确设置可能会导致诸多错误。

AuthKey

安装之前需要有一个appinventor key,运行如下命令声生成:


生成App Inventor.key
ant MakeAuthKey

运行ant命令

ant
ant命令

出现这个就意味着成功了

现在你就可以运行你的服务器了

d:/appengine/bin/dev_appserver.cmd --port=8888 --address=0.0.0.0 appengine/build/war
运行服务器

运行成功

访问服务器

http://localhost:8888

运行打包服务器

cd appinventor/buildserver
ant RunLocalBuildServer
运行打包服务器

打包服务器成功运行

生成ai伴侣

在appinventor目录下运行

ant PlayApp
成功生成ai伴侣
ai伴侣保存目录
./build/buildserver/MIT AI2 Companion.apk

这样手动生成的ai伴侣保证是跟当前App Inventor版本一致

小结

其实windows安装App Inventor主要就是下载软件,然后复制到指定目录,设置环境变量,其他的并不复杂,运行几条命令就是了。
但是一定要设置吧ant/bin添加到path目录里,python也要添加到path目录
然后就是配置JAVA_HOME和ANT_HOME,就ok。
附上我的Path:

PATH=C:\Python27\;C:\Python27\Scripts;C:\Program Files\nodejs\;D:\Git\bin;C:\Program Fil
es\TortoiseGit\bin;C:\Program Files (x86)\Calibre2\;C:\Program Files\Java\jdk1.7.0_79\bin;D:\ant\bin
;D:\appengine\bin;C:\Python35\;C:\Users\Administrator\AppData\Roaming\npm
//主要是看ant,jdk和App Engine的配置

第一次写教程,搞了一样无,感觉写的挺啰嗦的,待改进的地方很多,欢迎留言。感觉不如直接录制视频很方便,感觉很简单的事情,竟然要写这么久,真是佩服网上那些写教程的大神!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,126评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,254评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,445评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,185评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,178评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,970评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,276评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,927评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,400评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,883评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,997评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,646评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,213评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,204评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,423评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,423评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,722评论 2 345

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,498评论 25 707
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,599评论 18 139
  • 从你离开那一天 我知道我的世界不再有晴天 我努力地学着改变 让自己一点点忘却了时间 忘却我们所有的从前 可我却始终...
    疯花花阅读 257评论 0 0