删除大段无用的废话,我昨天是在干什么。
文中所有的目录相关都是以appinventor-sources\appinventor为根。
0.前言
话说我刚刚说这广州服不更新怎么转眼就更新了。
但是更新后发现setContentView方法失效,造成整个插件无法使用,正在思考解决方案。
不知该问题是我个人原因还是大家都有。
只要添加进去一个布局,然后直接对该布局进行添加控件即可,即绕过该方法,其他依旧可用。
1.开发环境(大牛请略过)
开发环境的配置之前已经讲过了,但是我实际使用时还是做了一些修改。
1.1开发工具
notepad++的代码提示太废了
改用Sublimt Text 3,不但颜值高而且功能强大,相见恨晚。
1.2build.xml修改
我觉得编译速度有点慢,对其进行少量修改,大家可自行尝试,不是很推荐。
1.2.1编译顺序
把depends都改成只依赖于前一个target,可以减少重复编译的时间。
从72秒变成了34.2秒。
1.2.2去除冗余(不建议)
因为我参加的比赛要求必须能在广州服上运行,所以我不能更改标准库。
因此,对原来库的编译不再必要。设置一堆只读,跳过大量target。
结果从30+秒变成了14.2秒。
虽然很快,但是不建议,不是很稳定。有这修改的时间,足够做很多事情了。
1.3第三方依赖添加
比如百度地图,和风天气等很多库都是通过jar发布的,不是web接口。
相信如果你有这种需求,应该很容易看懂我在干什么。
下面以和风天气举例。
- 下载jar,重命名为heweather-2.0.jar。
- 新建目录lib\heweather,将heweather-2.0.jar粘贴进入。
- 然后再在components/build.xml中,大概133-164和265-294行中间会有一大坨导入,添加如下
<!-- HeWeather-lib -->
<pathelement location="${lib.dir}/heweather/heweather-2.0.jar" />
随后即可根据官方文档进行开发。
1.4工作目录转移
因为经常要导入原生组件,我直接把Android SDK下sources/android-22整个拷过来了,但是编译时会把这些也全进行编译。
虽然这个问题可以通过在build.xml中添加exclude来解决。可直接在另一目录工作是个更好的办法,通过批处理将测试包都复制过去,最后进行编译。
如果你bat写的好不会浪费时间,甚至可以节省时间。就是xcopy命令复制目录时要手动输入个d,试了试前面加上echo d|
差点把d盘给我删了,不敢乱试。
1.5cmd.bat
这个大家应该都知道,w