• phonegap环境配置与基本操作


    一、开发环境配置:

    1、工具环境安装:
    安装java sdk 1.6以上版本,Android Development Tools、ant,系统变量 Path后面添加
    新增名稱 JAVA_HOME 值為 JAVA 安裝路徑 C:Program FilesJavajdk1.7.0_21
    新增名稱 ANT_HOME 值為 ANT 安裝路徑 C:Program Files (x86)apache-ant-1.9.3
    修改 Path 屬性的值
    保留原本的值,在原本的後面加上;%JAVA_HOME%in;%ANT_HOME%in;SDK安裝目錄 ools;SDK安裝目錄platform-tools
    参考:http://jingyan.baidu.com/album/adc815136c6cf5f723bf7389.html
    在eclipse里启动安卓虚拟机
    window > Android Virtual Device Manager
    在eclipse里运行自己的项目:
    项目右键 > run as > Android Application
     
    2、 安装phonegap|cordova:
    npm install -g phonega
    npm install -g cordova
    win8下报错: cb() never called
    解决方法,编辑.npmrc,命令如下:
    vim ~/.npmrc
    registry = http://registry.npmjs.vitecho.com
     
    二、基本操作:
    cordova与phonegap关系:Apache Cordova是PhoneGap贡献给Apache后的开源项目,是从PhoneGap中抽出的核心代码,是驱动PhoneGap的核心引擎。你可以帮他想象成类似于Webkit和Google Chrome的关系
    知乎上的解释:cordova是一个移动应用开发框架,你基于这个东西可以用网页代码作出APP。Phonegap Build是一个在线打包工具,你把使用cordova写好的项目给Phonegap Build,Phonegap Build就会在线打包成App。

    目前大家所说的Phonegap,其实指的都是cordova,而那个真正被Adobe收购了的Phonegap(PhoneGap | Home),现在是Phonegap Build,(iPhone, Android SDK service)和cordova(Apache Cordova)的合体。
    而对于你面对的实际问题,就是需不需要Phonegap Build的功能,需不需要在线打包。

    phonegap命令会被解释成对应的cordova命令

    官网文档:
    cordova插件:http://plugins.cordova.io/#/
    各系统对插件功能支持情况:http://cordova.apache.org/docs/en/5.0.0/guide_support_index.md.html#Platform%20Support
     
    1、phonegap创建项目:
    phonegap create myapp
    cd myapp
    phonegap run android  (执行该命令后会启动安卓模拟器可预览)
    第一个 phonegap写的程序就出现了
    在myapp 目录下会出现5个文件夹,打包好的工程放在platforms里面
    文件夹解释见下图
    phonegap环境配置与基本操作
     
    2、cordova创建项目:
    创建命令: cordova create myapp com.yourname.myapp MyApp
    进入工程: cd myapp
    添加平台支持 :
    cordova platforms add ios
    cordova platforms add android
    cordova platforms ls
    添加插件:
    cordova plugin add org.apache.cordova.device
    cordova plugin add org.apache.cordova.console
    cordova plugin ls
    编译代码(打包APP):
    cordova build android
    运行代码:
    在模拟器上运行(前提是创建好AVD)
    cordova emulate android
    Windows下convert命令冲突,直接“cordova emulate android”会报Error: spawn ENOENT,需要先启动模拟器。
    在浏览器运行:
    cordova serve android
    浏览器访问地址:http://localhost:8000/,就可以和调试页面一样调试app的布局了。如果app中使用了cordova的Native API调用,会弹出以下对话框:
    通过USB直接安装到真机:
    cordova run android
     
    报错:Error:Please install Android target:"android-22"
    这个主要是没有安装和当前cordova对应要求的android平台sdk,这个可以通过2种方法解决,
    打开ADT,打开Android SDK manager,安装对应平台的SDK。(参考下一小节)
    打开如下目录,可能其中的版本号不一,
    项目路径platformsandroidproject.properties
    修改
    target=android-19
    可以把这个修改成你现在已安装的平Andriod台,或者想要指定的Android平台。
    这个问题解决后,上面的示例项目即可生成,然后使用ADT Eclipse导入该项目即可,同意通过运行,查看在AVD中的运行效果。
    出现的问题:把target改成android-19后build命令报错,还是安心地升级到android22版本吧 :(
     
    Android SDK Manager国内无法更新的解决方案
    (1)启动 Android SDK Manager ,打开主界面,依次选择「Tools」、「Options...」,弹出『Android SDK Manager - Settings』窗口;
    (2)在『Android SDK Manager - Settings』窗口中,在「HTTP Proxy Server」和「HTTP Proxy Port」输入框内填入mirrors.neusoft.edu.cn和80,并且选   中「Force https://... sources to be fetched using http://...」复选框。设置完成后单击「Close」按钮关闭『Android SDK Manager - Settings』   窗口返回到主界面;


    (3)依次选择「Packages」、「Reload」。
    cordova默认安装的是android22,安装android22方法:
    Tools > Manage Add-on Sites   > 选择对应的版本安装
     
    3、eclipse操作
    (1)新建项目
    file > new > android application project
    (2)导入项目
    右键import > Android(Existion Android Code Into Workspace) > 选择已建立项目目录
    (3)运行项目(项目文件修改后无法做到在模拟器中刷新)
    项目右键 > run as > Android Application 
    或者

    项目文件修改后再次run as可更新APP,
    phonegap项目模拟器里的文件一直不更新 : (
     
    三、打包APP:
    命令如下:
    phonegap build android   (apk生成目录在platformsandroidant-build)
    或者cordova build android  (生成目录platformsandroiduildoutputsapk)
     
    四、安卓模拟器中管理APP:
    1、模拟器中安装APP
    (1)在eclipse里运行项目即会在模拟器中安装该APP,同理能过run命令运行的APP也会在模拟器中安装。
    (2)进入APP所在目录,运行命令:adb install XXX.apk
    2、模拟器中卸载APP
    在模拟器中长按项目图标拖动到卸载,拖到APP info可停止运行APP
  • 相关阅读:
    codeforces 707D-(DFS+bitset)
    codeforces Educational Codeforces Round 16-E(DP)
    codeforces 597C (树状数组+DP)
    codeforces #round363 div2.C-Vacations (DP)
    Codeforces Round #365 (Div. 2)-D Mishka and Interesting sum(树状数组)
    codeforces round367 div2.C (DP)
    June Challenge 2018 Division 2
    Codeforces Round #487 (Div. 2)
    Educational Codeforces Round 45 (Rated for Div. 2)
    [Offer收割]编程练习赛63
  • 原文地址:https://www.cnblogs.com/deepbreath/p/5146047.html
Copyright © 2020-2023  润新知