最近折腾 cordova 遇到的问题

in #cn-dev6 years ago (edited)

1. A valid provisioning profile for this executable was not found.

这个问题,在网上搜了很久,有很多种可能会导致这个问题。我遇到这个问题的解决方案是:

File > Workspace Settings > Set Build system to "Legacy Build System"

2. Cannot read property 'semver' of null

  • find the path <project_root>/platforms/android/cordova/lib/emulator.js
  • find the line avd.target = 'Android ' + level.semver + ' (API level ' + api_level + ')';
  • replace it with avd.target = 'Android ' + (level ? level.semver : '') + ' (API level ' + api_level + ')';

3. 如果 build 的时候显示 Error: spawn EACCES

这个错误说明你正在使用的程序没有执行权限,通过给 cordova 命令增加 --verbose 参数,可以看到是哪个程序执行不了,然后给这个程序加上执行权限即可

4. cordova build 之前先配置好环境变量

详细的安装配置需要去看下 cordova 的官方文档,这里只是强调下环境变量的配置。这里分享下我的环境变量配置:

export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home
export ANDROID_HOME=/Users/ety001/Library/Android/sdk
export PATH=${PATH}:${JAVA_HOME}/bin:${ANDROID_HOME}:${ANDROID_HOME}/platform-tools:${ANDROID_HOME}/tools:${ANDROID_HOME}/tools/bin

把上面的配置加到你的 ~/.bashrc 或者如果你要用的是 zsh 的话就是 ~/.zshrc

5. 代码更新

代码修改后,需要先 npm run build ,也就是先把 js 编译好,编译好后的静态文件会在项目根目录的 www 目录中,再执行 cordova prepare -d 就会把静态文件复制到各个 platformwww 目录里面。

6. 如何使用 Safari 和 Chrome 调试 app

  • ios的话,先在手机上找到 "设置" => "Safari浏览器" => "高级" => 把 "Web 检查器" 选中,然后用手机线把手机和电脑连接,电脑上打开 "Safari 浏览器","偏好设置" => "高级" => 选中 "在菜单栏显示开发菜单",最后打开手机上的 App,这样在 Safari 的 "开发" 菜单中就能看到你的手机名的菜单了,选中其中的 app 名字就能打开 inspect 进行调试了。
  • android的话,也差不多的流程,在 Chrome 浏览器里访问 chrome://inspect,使用 debug 模式打开模拟器里要调试的 app 后,在 Chrome 浏览器里就能看到信息了,点击 inspect 就能打开针对这个 app 的调试窗口。需要注意的是,调试窗口里面的调试器需要翻墙,可以先用浏览器访问 https://chrome-devtools-frontend.appspot.com/serve_rev/@180870/devtools.html ,然后把这个网址加入到白名单里面,再回到 inspect 就可以看到调试界面了(这里我折腾了一天多,最终才发现是墙的问题😂)。

欢迎使用 SteemMention 获取最新的 Steem 回复提醒。


欢迎使用 SteemEditor 来编写文章,最好用的 Steem 编辑器,没有之一!!!


感谢你的阅读,我是中文区见证人之一,欢迎通过 SteemConnect 来给我投票,或者打开 https://steemit.com/~witnesses/ 页面,输入 ety001 进行投票。

2.gif

中文区的见证人目前有:
支持一下他们(按字母顺序),一人可以有30票


Thank you for reading. I'm a witness. I would really appreciate your witness vote! You can vote by SteemConnect. Or open https://steemit.com/~witnesses page, input ety001 to vote.

2.gif


This article is powered by SteemEditor .

Sort:  

恭喜你!您的这篇文章入选 @justyy 今日 (2018-10-13) 榜单 【优秀的文章】, 回复本条评论24小时内领赏,点赞本评论将支持 @dailychina 并增加将来您的奖赏。

Congratulations! This post has been selected by @justyy as today's (2018-10-13) 【Good Posts】, Steem On! Reply to this message in 24 hours to get rewards. Upvote this comment to support the @dailychina and increase your future rewards! ^_^

你今天过的开心吗?来 @steemgg 玩游戏吧,决战到天亮如果不想再收到我的留言,请回复“取消”。

Coin Marketplace

STEEM 0.29
TRX 0.11
JST 0.033
BTC 63458.69
ETH 3084.37
USDT 1.00
SBD 3.99