pebble 鹅卵石这款手表公司倒闭了,公司卖给了fitbit. pebble原老板带着小姨子跑了。留下我们一群懵比等待pebble time2的程序狗。
话说回来,pebble的开发体验真的很不错,pebble cloud云开发环境超级简单。但是迫于pebble运行在云端,难免性能会有折扣,而且经常crash,或者连不上模拟器和手机,这是很头痛的事。关键还有1年,pebble服务器就不再支持了。所以还是着手在本地开发上,毕竟现阶段的小玩意就数这个最轻便和方便了。
废话不多说,我写的应该会很乱,但是我在mac上运行成功了。所以问题不是很大。主要介于手表sdk版本更新command line tools跟不上导致的。
安装:(最麻烦的一个)
官方主页有推荐一键安装:
brew install pebble/pebble-sdk/pebble-sdk
但是这个语句不好用
推荐手动方法安装:
- 下载最新的sdk先不解压缩:
https://s3.amazonaws.com/assets.getpebble.com/pebble-tool/pebble-sdk-4.5-mac.tar.bz2
链接: https://pan.baidu.com/s/1o8lmZ5w 密码: ykgf - 运行下面语句创建pebble-dev文件夹在当前用户下
mkdir ~/pebble-dev/
- 进入此文件夹, 解压缩压缩包到当前位置
cd ~/pebble-dev/
tar -jxf ~/Downloads/pebble-sdk-4.5-mac.tar.bz2
- 把sdk路径添加进系统变量中
echo 'export PATH=~/pebble-dev/pebble-sdk-4.5-mac/bin:$PATH' >> ~/.bash_profile
. ~/.bash_profile
- 下载工具pip, 安装virtualenv
sudo easy_install pip
sudo pip install virtualenv
- 配置
cd ~/pebble-dev/pebble-sdk-4.5-mac
virtualenv --no-site-packages .env
source .env/bin/activate
CFLAGS="" pip install -r requirements.txt
deactivate
官方command line tools命令
https://developer.pebble.com/guides/tools-and-resources/pebble-tool/
创建工程:
pebble new-project my-test-project
如果第一次会提示初始化下载()
No SDK installed; installing the latest one...
To use the Pebble SDK, you must agree to the following:
运行到手机: 需要手机开启debug模式, 然后运行指令
pebble install –phone ip地址
运行到模拟器
第一次运行
pebble install –emulator basalt
建议像我这样做, 第一次不使用logs, 否则第一次退出会退出模拟器, 第二次改成–logs即便关闭也不会关闭模拟器, 节省时间, 第一次运行的参数emulator 指定的手表类型, 自己可从aplite basalt chalk diorite中选, 因为pebble time2并没有发售, 所以emery这个设备就没必要选
第二次以后
pebble install –logs
错误:
如果npm出现问题, 同时存在两个npm, 需要都删掉,重新去node.js去下载最新的文件去升级(默认会连到旧的npm2上, 实际机器内有npm3)
We require npm3; you are using version 2.14.12.
我的提问地址:https://forums.pebble.com/t/mac-create-pebble-project-error/27608
本地sublime开发
sublime下载地址
http://www.sublimetext.com/3
官方是支持sublime开发的插件
页面在这里
https://developer.pebble.com/community/tools/sublime-text-package/
此插件貌似可以编译但无法运行模拟器, 而且编译是用build->pebble, 而不是pebble build
.本人开发过程是用sulime进行开发和编译, 通过terminal的command line tools来进行模拟器运行, 通过上面跑模拟器的代码, 输出log都在terminal中没有任何问题, pebble也许写详细点, 以及各个环节文章链接紧密一点, 兴许cloudpebble就没那么有用了.
补充1: 因为官方已经停止了服务器某些服务, 命令行提交会出现错误:
Exception in thread Thread-3:
Traceback (most recent call last):
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/threading.py", line 810, in _bootstrapinner
self.run()
File "/Users/zszen/pebble-dev/pebble-sdk-4.5-mac/pebble-tool/pebble_tool/util/analytics.py", line 61, in run
requests.post(self.TD_SERVER, data=current)
File "/Users/zszen/pebble-dev/pebble-sdk-4.5-mac/.env/lib/python2.7/site-packages/requests/api.py", line 109, in post
return request('post', url, data=data, json=json, **kwargs)
File "/Users/zszen/pebble-dev/pebble-sdk-4.5-mac/.env/lib/python2.7/site-packages/requests/api.py", line 50, in request
response = session.request(method=method, url=url, **kwargs)
File "/Users/zszen/pebble-dev/pebble-sdk-4.5-mac/.env/lib/python2.7/site-packages/requests/sessions.py", line 465, in request
resp = self.send(prep, **send_kwargs)
File "/Users/zszen/pebble-dev/pebble-sdk-4.5-mac/.env/lib/python2.7/site-packages/requests/sessions.py", line 573, in send
r = adapter.send(request, **kwargs)
File "/Users/zszen/pebble-dev/pebble-sdk-4.5-mac/.env/lib/python2.7/site-packages/requests/adapters.py", line 415, in send
raise ConnectionError(err, request=request)
ConnectionError: ('Connection aborted.', gaierror(8, 'nodename nor servname provided, or not known'))
使用下面语句屏蔽掉这个错误:
(另外注意这个目录, 如果无效请进入这个目录内并删除名为”ENABLE_ANALYTICS”的文件)
# Mac OSX
$ touch ~/Library/Application\ Support/Pebble\ SDK/NO_TRACKING
# Other platforms
$ touch ~/.pebble-sdk/NO_TRACKING
pebble 本地开发出现故障使用下面语句进行处理
pebble wipe