当前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上。同时你需要搭建打包服务器。
安装前需要安装的软件
所有需要的都在这里了,大家直接到百度云下载就是了。
- Java 7,一定是7版本,高版本不支持.
- Ant ( http://ant.apache.org/bindownload.cgi )
Ant是用来编译的,但是其实只要把压缩包解压缩放到某个目录下就好了
- 把Ant添加到环境变量
- (Windows7添加方法, 我的电脑--> 属性--> 高级设置 --> 环境变量 --> 系统用户变量)
- GitHub (https://github.com/)
- a. 添加git环境变量,这个不是必须的
- b. 利用git复制源代码
注意,Git并非必须的,大家直接把我源代码解压缩也是没有问题的
- AppEngine SDK 这个是google应用引擎的sdk,App Inventor实际上是运行在这个之上的( https://developers.google.com/appengine/downloads ) 注意:目前只能用1.9.27及其以下版本,新版本不能用
- 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解压缩,然后配置环境变量就行了。
是不是很简单。
编译
通过再命令行里运行echo %JAVA_HOME%
命令来确保正确设置了JAVA_HOME变量。没有正确设置可能会导致诸多错误。
AuthKey
安装之前需要有一个appinventor key,运行如下命令声生成:
ant MakeAuthKey
运行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伴侣保存目录
./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的配置
第一次写教程,搞了一样无,感觉写的挺啰嗦的,待改进的地方很多,欢迎留言。感觉不如直接录制视频很方便,感觉很简单的事情,竟然要写这么久,真是佩服网上那些写教程的大神!