cordova可以做到一次编写到处运行各个平台(android、ios、wp、bb、firefoxos、web等几乎所有平台)

手上只有一个android手机 ,安装的时候没有那么顺利,第一大问题就是网络问题,需要FQ

按照官方提示http://cordova.apache.org/#getstarted

1、首先安装node.js

参考:http://www.cnblogs.com/zhishuai/articles/8138046.html

curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo yum -y install nodejs

2、安装cordova

npm install -g cordova

3、创建一个应用、添加android平台

cordova create MyApp 
cd MyApp
cordova platform add

备注:查看平台命令

cordova platform

出现如下平台

Installed platforms:
  android 7.0.0
Available platforms:
  browser ~5.0.1
  ios ~4.5.4
  osx ~4.0.1
  windows ~5.0.0
  www ^3.12.0
4、编译android版本的时候问题来了 ,提示android环境没有安装

cordova run android

Android Studio project detected
(node:30829) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): CordovaError: Failed to find 'ANDROID_HOME' environment variable. Try setting it manually.
Failed to find 'android' command in your 'PATH'. Try update your 'PATH' to include path to valid SDK directory.
(node:30829) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
[app@localhost test]$ cordova run android
Android Studio project detected
(node:19379) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): CordovaError: Failed to find 'ANDROID_HOME' environment variable. Try setting it manually.
Failed to find 'android' command in your 'PATH'. Try update your 'PATH' to include path to valid SDK directory.
(node:19379) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
[app@localhost test]$ echo $ANDROID_HOME
各种环境变量找不到
 1、java没装

2、android没装

------------------------------安装android开发依赖环境----------------------------------------------------

1、安装 java

这里下载jdk:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.rpm?AuthParam=1514477816_4cd93965dc16fe41a06d861aeab9a333

rpm -ivh jdk-8u151-linux-x64.rpm

设置环境变量

vim ~/.bash_profile

添加:

export JAVA_HOME=/usr/java/jdk1.8.0_151

保存退出后 使环境变量生效

source ~/.bash_profile

2、安装android

下载android-studio

翻墙速度有点慢 花了好一会时间 理论上国内有下载好的 之后我也会分享到我的百度云

链接: https://pan.baidu.com/s/1qXTRMfq 密码: jisc

https://developer.android.com/studio/index.html#downloads

解压并运行

android-studio/bin/studio.sh

启动会自动下载 sdk ,但是默认只下载最新的sdk  我的cordova就不能用 需要手动下载对应老一个版本的sdk 。android-studio左上角有一个下载箭头+android的一个图标,点击可以勾选下载对应的sdk

设置环境变量

默认下载到当前用户下$HOME/Android/Sdk

设置环境变量

vim ~/.bash_profile

添加:

export ANDROID_HOME=$HOME/Android/Sdk

保存退出后 使环境变量生效

source ~/.bash_profile

-----------------------------------接着cordova---------------------------------------------------------

cordova run android

会默认下载各种环境,最后下载完之后会生成一个apk  最终生成在 工程名test/platforms/android/app/build/outputs/apk/debug/app-debug.apk

我的输出:

...

BUILD SUCCESSFUL in 25s
47 actionable tasks: 47 executed
Built the following apk(s):
    /home/app/src/test/platforms/android/app/build/outputs/apk/debug/app-debug.apk
ANDROID_HOME=/home/app/Android/Sdk
JAVA_HOME=/usr/java/jdk1.8.0_151
No target specified and no devices found, deploying to emulator
(node:24975) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): CordovaError: No emulator images (avds) found.
1. Download desired System Image by running: /home/app/Android/Sdk/tools/android sdk
2. Create an AVD by running: /home/app/Android/Sdk/tools/android avd
HINT: For a faster emulator, use an Intel System Image and install the HAXM device driver

(node:24975) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

-----------------------------------------------------------------------------------------

在下载好的sdk里面有一个/home/app/Android/Sdk/platform-tools 文件夹 里面有adb命令
可以把adb添加到环境变量里面,就可以直接使用了

连上手机,进入apk目录

adb install app-debug.apk

就可以在手机上看到了

之后就可以在工程目录下面有个www文件夹里面写html+js内容了。

一次编译 至少在android上能跑了……

cordova linux 安装并编出第一个demo-android的更多相关文章

  1. 2013年Linux周刊读者投票出炉 Ubuntu、Android榜上有名

    摘要:一年一度的Linux周刊读者投票结果已经登于2013第12期.这是Linux爱好者们自己的“奥斯卡”: Linux周刊的小编们列出一系列Linux相关的“最佳项目”进行面向读者的投票.竞选项目包 ...

  2. linux经常使用(一)linux 安装配置 jdk之 找不到安装文件文件夹及source /etc/profile 报unexpected end of file 错误 解决

    linux 安装配置 jdk 应该算是一个非常主要的东西.可是我到如今才自己第一次 正式安装.果然出现了问题.. 问题就是 安装之后 找不到 安装路径 ,进而没法配置环境变量. 现象例如以下: 提示 ...

  3. Linux安装maven(详细教程)

    一.简介 Maven是意第绪语,意思是“知识的积累者”,最初是为了简化Jakarta Turbine项目中的构建过程.有几个项目,每个项目都有自己的Ant构建文件,所有项目都略有不同.JAR已检入CV ...

  4. Linux安装Git-两种方式详细教程)

    一.Git介绍 Git --- The stupid content tracker, 傻瓜内容跟踪器.Linus Torvalds 是这样给我们介绍 Git 的. Git 是用于 Linux内核开发 ...

  5. 第三章 用SDK编译出第一个在Linux下的软件界面

    第三章 用SDK编译出第一个在Linux下的软件界面 先创建一个工程目录“mkdir project1”,进入目录,创建main.cpp文件,编写代码如下: 代码内容暂时可以先不理解,先让程序跑起来再 ...

  6. VS2015+cordova+ionic安装配置

    VS2015已经出了正式版,想用来试一下cordova方面的开发.最近在看ionic这个框架,于是想能在VS2015里编辑js就好了. 下面说一下蛋疼的安装配置过程. 一.安装VS2015及Andro ...

  7. 自己瞎捣腾的Win7下Linux安装之路-----理论篇

    接着上回说道,我把双系统做好啦,开心.... 之后我就在想几个问题: 1.在Ubuntu装好后,重启电脑却还是win7,等我用EasyBCD之后,才可选择使用装好的Ubuntu呢? 2.在用EasyB ...

  8. 轻松解决Linux安装Eclipse方法

    随着Linux的发展,很多人开始学习Linux系统,你了解Linux系统么?你是Linux系统的应用者么?本文为你详细介绍Linux安装Eclipse,为你在学习Linux安装Eclipse时起一定的 ...

  9. 把Linux安装到移动硬盘上

    把Linux安装到移动硬盘上 转载于:http://mrkh.me/install-linux-on-a-portable-hard-drive.html 这一篇文章讲一下,怎么把linux安装到移动 ...

随机推荐

  1. Xamarin绑定微信SDK 实现分享功能

    从开始做这一块的工作开始,就开始找各种的资料,最后还是老老实实的去看官方文档. 对于Xamarin.Android的绑定属于纯jar的绑定,这个难度较小,添加Bindings Library,将lib ...

  2. 【BZOJ1935/4822】[Shoi2007]Tree 园丁的烦恼/[Cqoi2017]老C的任务 树状数组

    题意:两道题差不多,都是给你一堆平面上的点,每个点有权值,然后m次询问求某一矩形区域内的点权和 题解:先离散化,然后将询问拆成左右两条线段,然后将点和这些线段一起按x坐标排序,在y轴上维护树状数组.然 ...

  3. selenium + chrome 被检测,反反爬小记

    selenium + chrome 很多难以采集的网站都使用selenium爬取,但是后来发现selenium有特征值,会被检测出来,今天来小结一下反反爬方案 测试网站 全绿好像代表没被检测出 中间人 ...

  4. Code Forces 22B Bargaining Table

    B. Bargaining Table time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  5. Exchange Database Status(Copy Status ,Content Index State,QueueLength,Move Status...)

    Copy Status Description Mounted The active copy is online and accepting client connections. Only the ...

  6. PHP函数addslashes和mysql_real_escape_string的区别

    转自:http://www.jb51.net/article/49205.htm   这篇文章主要介绍了PHP函数addslashes和mysql_real_escape_string的区别,以及一个 ...

  7. Java 代码实现Http 的GET和POST 请求

    先来个传统的,不过这个里面有些类已经标明 deprecated,所以之后还有更好的方法,起码没有被标明 deprecated的类和方法. 前两个方法是有deprecated的情况.后面用HttpURL ...

  8. Java 之NIO

    1. NIO 简介 Java NIO(New IO)是从1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API; NIO 与原来的IO有同样的作用和目的,但是使用的方式完全不同 ...

  9. Python在向CSV文件写中文时乱码的处理办法

    前言 python2最大的坑在于中文编码问题,遇到中文报错首先加u,再各种encode.decode.当list.tuple.dict里面有中文时,打印出来的是Unicode编码,这个是无解的.对中文 ...

  10. Spark的集群管理器

    上篇文章谈到Driver节点和Executor节点,但是如果想要运行Driver节点和Executor节点,就不能不说spark的集群管理器.spark的集群管理器大致有三种,一种是自带的standa ...