xcode 打包webapp
2017-11-08 19:04:50 lenovolhl 阅读数 562

HBuilder打包

HBuilder是一款前端开发的工具,可以到http://www.dcloud.io/下载
下载安装后我们就开始打包已有项目了,我们以vue项目为例,保证vue项目正常运行,并已经npm run build生成了dist文件夹
1 文件》新建》移动app
这里写图片描述
填写应用名称,选择位置后完成
2 拷贝vue项目dist文件夹内容到当前目录
这里写图片描述
3 发行》发行为原生安装包
这里写图片描述
这里我们使用的是远程编译,选择要生成的平台
4 点击完成后,提示你确认应用的权限,确认提交代码,可以选择查看状态
这里写图片描述
等待打包成功,安装apk即可

xcode 打包webapp 相关内容

2008-11-19 10:57:00 eastsea 阅读数 3110

假定有一个Web应用:C:/worksrc/your_app
your_app/doc/……
your_app/src/……
your_app/jsp/.......

your_app/WEB-INF/……
your_app/index.htm

在命令行窗口下执行如下命令:

C:/>cd C:/worksrc/your_app

C:/worksrc/your_app/>jar   cvf   your_app.war   */  .

解释:jar   cvf   [A=》war包名].war   [B=》资源文件及文件夹]   [C=》将要生成war包的目标文件夹]

“*/”(B=》)代表当前目录(C:/myHome)下的所有文件及文件夹。

“.” (C=》)表明将要在当前目录中生成war包。

 

也可以使用如下命令再展开包到当前目录:

C:/worksrc/your_app/>jar   xvf   your_app.war

xcode 打包webapp 相关内容

2017-05-05 18:12:00 weixin_34239169 阅读数 8

cordova打包webapp

在项目开发中,需要将h5页面打包成app,这个时候我们可以使用cordova来打包。在官方文档中,我们可以了解到创建一个app十分简单,你的电脑上有nodejs就行,我们可以跟着官方文档一步一步来,添加安卓平台和ios平台。整个项目结构搭建完毕后,我们可以将我们需要打包的webapp页面全部塞到这个项目结构中。接下来就是麻烦的地方了,如何进行平台开发,也就是如何将我们的项目打包成一个可安装的文件。

一:设置环境变量:

  1. 设置JAVA_HOME环境变量,指定为JDK安装路径
  2. 设置ANDROID_HOME环境变量,指定为Android SDK安装路径
  3. 同时也要添加Android SDK的toolsplatform-tools目录到你的PATH

这里需要注意的是设置ANDROID_HOME环境变量,我们可以将android studio安装到我们的电脑中,在安装过程中android studio会自动将Android SDK安装到我们的电脑里,这个时候记住这个地址就行了,如图(下面那一行的路径就是Android SDK):

:报这种错误的时候:Error:Minimum supported Gradle version is xxxx.  Current version is xxxx.

当时我在打包的时候报这钟错误,在网上查到了原因,是因为android studio更新了Gradle的版本,这个时候解决的步骤如下:

1:打开android studio,找到setting,搜索gradle,如图进行设置(具体路径各异):

 

三:Windows cordova build Error: Could not find gradle wrapper within Android SDK. Might need to update

解决办法:

 

四:安装cordova-plugin-splashscreen报错:

这个时候可能的原因是你已经打包过apk文件了,你需要将apk文件删除,然后再安装。

 

五:打包vue项目时遇到的问题

 1:使用npm run build打包到哪?

如图,Qianne是我vue项目的名称,我在这个文件夹打开了dos窗口,然后创建一个app框架,名为myApp1。然后我将config里index.js中修改:

index: path.resolve(__dirname, '../myApp1/www/index.html'),
assetsRoot: path.resolve(__dirname, '../myApp1/www'),
assetsSubDirectory: 'static',
assetsPublicPath: './',

这里的路径直接指向了myApp1下www文件夹。然后我们在vue项目中运行npm run build。这个时候我们就把打包后的文件直接放在了myApp1下www文件夹。此时我们还要将

cordova.js和cordova_plugins.js文件放进www文件夹中,与index.html同级。(记住此时会覆盖index.html,我们要将index.html中引用cordova.js的那句代码复制到打包后的index.html中)。

2:直接打开打包后的index.html,路由居然没作用?

我的解决办法:

找到vue项目中的main.js,将其中路由的代码的mode改为“hash”,我之前是“history”所以路由一直没用

const router = new VueRouter({
  mode: 'hash',
  routes
})

之后我们再打包一次,如果打包后的index.html打开后路由正常,那么恭喜你。这个时候我们在myApp1下进入dos窗口,输入cordova build android,打包成apk文件。

 

六:app的logo启动页面应该放在哪里?

 

在项目结构中, 我们需要安装splashscreen插件:

cordova plugin add cordova-plugin-splashscreen

我们在config.xml中插入以下代码:

<platform name="android">
        <allow-intent href="market:*" />
         <icon density="ldpi" src="./res/icon/android/mipmap-ldpi/icon.png" />
        <icon density="mdpi" src="./res/icon/android/mipmap-mdpi/icon.png" />
        <icon density="hdpi" src="./res/icon/android/mipmap-hdpi/icon.png" />
        <icon density="xhdpi" src="./res/icon/android/mipmap-xhdpi/icon.png" />
       
        <!-- 以下是欢迎页面,可根据需要进行添加 -->
        <splash density="land-hdpi" src="./res/screen/android/drawable-land-hdpi/screen.png" />  
        <splash density="land-ldpi" src="./res/screen/android/drawable-land-ldpi/screen.png" />  
        <splash density="land-mdpi" src="./res/screen/android/drawable-land-mdpi/screen.png" />  
        <splash density="land-xhdpi" src="./res/screen/android/drawable-land-xhdpi/screen.png" />  
        <splash density="port-hdpi" src="./res/screen/android/drawable-port-hdpi/screen.png" />  
        <splash density="port-ldpi" src="./res/screen/android/drawable-port-ldpi/screen.png" />  
        <splash density="port-mdpi" src="./res/screen/android/drawable-port-mdpi/screen.png" />  
        <splash density="port-xhdpi" src="./res/screen/android/drawable-port-xhdpi/screen.png" /> 
    </platform>
<platform name="ios">  
    <!-- iOS 8.0+ -->  
    <!-- iPhone 6 Plus  -->  
    <icon src="./res/icon/ios/icon-60@3x.png" width="180" height="180" />  
    <!-- iOS 7.0+ -->  
    <!-- iPhone / iPod Touch  -->  
    <icon src="./res/icon/ios/icon-60.png" width="60" height="60" />  
    <icon src="./res/icon/ios/icon-60@2x.png" width="120" height="120" />  
    <!-- iPad -->  
    <icon src="./res/icon/ios/icon-76.png" width="76" height="76" />  
    <icon src="./res/icon/ios/icon-76@2x.png" width="152" height="152" />  
    <!-- iOS 6.1 -->  
    <!-- Spotlight Icon -->  
    <icon src="./res/icon/ios/icon-40.png" width="40" height="40" />  
    <icon src="./res/icon/ios/icon-40@2x.png" width="80" height="80" />  
    <!-- iPhone / iPod Touch -->  
    <icon src="./res/icon/ios/icon.png" width="57" height="57" />  
    <icon src="./res/icon/ios/icon@2x.png" width="114" height="114" />  
    <!-- iPad -->  
    <icon src="./res/icon/ios/icon-72.png" width="72" height="72" />  
    <icon src="./res/icon/ios/icon-72@2x.png" width="144" height="144" />  
    <!-- iPhone Spotlight and Settings Icon -->  
    <icon src="./res/icon/ios/icon-small.png" width="29" height="29" />  
    <icon src="./res/icon/ios/icon-small@2x.png" width="58" height="58" />  
    <!-- iPad Spotlight and Settings Icon -->  
    <icon src="./res/icon/ios/icon-50.png" width="50" height="50" />  
    <icon src="./res/icon/ios/icon-50@2x.png" width="100" height="100" />  
    <!-- 以下是欢迎页面,可根据需要进行添加 -->
    <splash src="./res/screen/ios/Default~iphone.png" width="320" height="480"/>  
    <splash src="./res/screen/ios/Default@2x~iphone.png" width="640" height="960"/>  
    <splash src="./res/screen/ios/Default-Portrait~ipad.png" width="768" height="1024"/>  
    <splash src="./res/screen/ios/Default-Portrait@2x~ipad.png" width="1536" height="2048"/>  
    <splash src="./res/screen/ios/Default-Landscape~ipad.png" width="1024" height="768"/>  
    <splash src="./res/screen/ios/Default-Landscape@2x~ipad.png" width="2048" height="1536"/>  
    <splash src="./res/screen/ios/Default-568h@2x~iphone.png" width="640" height="1136"/>  
    <splash src="./res/screen/ios/Default-667h.png" width="750" height="1334"/>  
    <splash src="./res/screen/ios/Default-736h.png" width="1242" height="2208"/>  
    <splash src="./res/screen/ios/Default-Landscape-736h.png" width="2208" height="1242"/>  
</platform>

同样的,我们要在res文件夹下的对应文件夹中放入相应的logo或者图片.

 

转载于:https://www.cnblogs.com/momozjm/p/6811224.html

xcode 打包webapp 相关内容

2016-07-08 14:46:00 weixin_33966365 阅读数 12

一、环境安装

这里提供的为这些工具的官网或下载地址:

1.Node.js安装

安装完后打开控制台,输入 node -v ,显示当前版本号,安装成功

2.Cordova安装

cordova使用npm安装,输入 npm install -g cordova 进行全局安装,安装完后如果出现下面提示,使用 npm install minimatch@"3.0.2" 升级一下minimatch

1823172-e063a0832be8deac.png-42.9kB

3.Java JDK安装

现在的jdk版本都是自动写入环境变量的,直接安装完就ok了。控制台输入 java -version 出现版本信息,即安装成功。输入 javac 出现帮助信息,即为配置成功。

如果没有自动配置成功,手动配置也蛮简单的。

  1. 新建 JAVA_HOME 环境变量,变量值为jdk的存放路径
    1823172-442e25de50fe88d3.png-29.9kB
  2. 系统变量Path里面加入jdk的bin目录%JAVA_HOME%\bin; 注意分号
  3. 系统变量CLASSPATH里面变量值的起始位置添加.;%JAVA_HOME%\lib;
  4. 保存完后输入javac测试是否配置成功

4.Android SDK安装

Android SDK由于被墙所以只有通过其他方式来下载,我这里直接通过镜像服务器下载包含SDK的AndroidStadio,连同开发工具一起下载。

下面两个选项是是否安装SDK和Android虚拟机,如果不需要就取消勾选


1823172-7aa9ec8ddb353f5b.png-34kB

安装路径,sdk的路径里不能包含中文,前面的jdk也是一样


1823172-c6c8ac3184b928bb.png-38.7kB

安装完后如果系统变量里面没有配置sdk,需要手动配置一下,也很简单:

  1. 新建 ANDROID_HOME 环境变量,变量值为sdk的存放路径,一般在 C:\Users\xxx\AppData\Local\Android\sdk
  2. 在系统 PATH 变量里加入下面变量:
    • %ANDROID_HOME%\tools
    • %ANDROID_HOME%\platform-tools

5.Ant安装

下载第一个zip的格式,解压即可,比较方便


1823172-c1c6448319ebfc98.png-11.5kB

环境配置:

  1. 新建 ANT_HOME 环境变量,变量值为ant的存放路径;
  2. 系统变量 Path 里面加入ant的bin目录 %ANT_HOME%\bin;
  3. 系统变量 CLASSPATH 里面加入ant的lib目录 %ANT_HOME%\lib;

cmd中输入ant,如果出现如下内容,说明安装成功:

Buildfile: build.xml does not exist!
Build failed

二、创建Cordova app

官方文档: http://cordova.apache.org/docs/en/6.x/guide/cli/index.html

1.新建Cordova app应用

新建一个目录,Shift+鼠标右键,在此处打开命令窗口

cordova create hello com.example.hello HelloWorld

创建一个HelloWorld的应用,hello文件夹名,com.example.hello包名,HelloWorld应用名

2.添加平台

cd hello

添加Android平台

cordova platform add android --save

检查当前添加的平台

cordova platform ls

3.创建app

cordova build android

4.运行app

需安装Android虚拟机,或真机打开USB调试模式

cordova run android

三、AndroidStudio导入Cordova项目

1.运行AndroidStudio

初次运行,新建一个测试项目,它会下载一些东西,等它全部下载完就ok了。

2.导入Cordova项目

File->New->Import Project,填上Crodova的项目路径,plaforms->android为项目路径

eg: D:\android\hello\platforms\android

导入后会出现一个问题,一直卡在Building gradle project info这里不动,原因是导入的这个项目使用的gradle版本与你拥有的gradle版本不一致,导致需要下载该项目需要的gradle版本,由于被墙就会一直卡住,直到下载完成。

解决方案:

  1. 用vpn翻墙
  2. 离线下载安装:参考这里离线安装gradle
  3. 降级处理:
  • 随便找到一个能运行的AS项目,比如刚创建的示例项目;
  • 打开 gradle-wrapper.properties ,文件目录:项目 /gradle/wrapper/gradle-wrapper.properties
  • 复制 distributionUrl 这一整行的内容
    eg:distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip
  • 打开你要导入的项目的 gradle-wrapper.properties
  • 用刚才复制的内容替换掉这一行即可
  • 重启AS,再次导入项目

导入完成后,有两个目录,CordovaLib是外部库


1823172-96f195c205af3be7.png-9.6kB

四、Cordova加载远程网站

1.修改默认加载页面

Corvoda应用的 MainActivity.java 有个 loadUrl(launchUrl) 的方法,将
launchUrl 修改为远程网站的地址,即可加载远程网站。eg:
loadUrl("https://www.leangoo.com")

或者修改项目的根文件夹里的 config.xml 文件,将 content src 指定为远程网站的地址
<content src="https://www.leangoo.com" />

这样运行后,直接在应用内部加载该网页。不过点网站里面的链接跳转会调用系统自带的浏览器打开,不是我们想要的效果。我们想在应用的内部直接跳转。

2.使用Cordova内部浏览器跳转链接

目前网上有两种解决方案,第一种是重写shouldOverrideUrlLoading方法,第二种是修改config.xml

  • 重写shouldOverrideUrlLoading方法

之前的版本可以在OnCreate方法中重写 shouldOverrideUrlLoading 方法,最新的版本改动比较大,
MainActivity.java 是这样的:

import android.os.Bundle;
import org.apache.cordova.*;

public class MainActivity extends CordovaActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // Set by <content src="index.html" /> in config.xml
        loadUrl(launchUrl);
    }
}

不过可以找到 shouldOverrideUrlLoading 方法,在 SystemWebViewClient.java 中,直接修改

@Override    
public boolean shouldOverrideUrlLoading(WebView view, String url) 
{
      //return parentEngine.client.onNavigationAttempt(url);       
      view.loadUrl(url);        
      return true;   
 }
  • 修改config.xml
    在config.xml中添加<allow-navigation href="http://*/*" />

五、Cordova集成CrossWalk

Crodova app调用的是系统自带的webview浏览器,在一些低端Android机上的体验效果很差。对一些新的HTML5特性支持度都不高,CrossWalk正是为了解决这个痛点而诞生的。
CrossWalk是什么?它是一个基于Chromium的浏览器组件,用来取代Android4.x中的WebView

它的优势:

  1. 大幅度提升Web程序性能
  2. 支持最新的HTML5特性
  3. 解决不同设备的兼容性问题

它的缺点:

  1. 不支持 iOS ,也不支持Android4.0以下的版本
  2. 打包后的 apk 文件将增加近20M

1.安装CrossWalk插件

官方文档: https://crosswalk-project.org/documentation/cordova.html

cordova5.0支持npm安装crosswalk,下面介绍用npm建立一个集成crosswalk的cordova应用

 cordova create hello com.example.hello HelloWorld
 cd hello
 cordova platform add android

安装crosswalk插件

cordova plugin add cordova-plugin-crosswalk-webview
cordova build android
cordova run android

2.实现加载远程网站

集成了crosswalk后,loadUrl方法不能像之前那样在内部加载远程网站的地址了,打开应用直接跳出选择浏览器选项。在网上还没找到这方面的解决方案,看官方文档Android下面的Embedding Crosswalk这一节知道了原来crosswalk直接用load方法载入url。所以MainActivity.java要改造一下,不能用原来的方法了。

import android.os.Bundle;
import org.apache.cordova.*;
import org.xwalk.core.XWalkView;
public class MainActivity extends CordovaActivity
{    
  private XWalkView mXWalkView;    
  @Override    
  public void onCreate(Bundle savedInstanceState)    
  {        
  super.onCreate(savedInstanceState);        
  // Set by <content src="index.html" /> in config.xml
  //loadUrl(launchUrl);        
  setContentView(R.layout.activity_main);       
  mXWalkView = (XWalkView) findViewById(R.id.activity_main);        
  mXWalkView.load(launchUrl, null);    
}}

然后我们在 res 目录建一个 layout 文件夹,新建一个 activity_main.xml 文件,这里面放crosswalk的自定义控件:

<?xml version="1.0" encoding="utf-8"?>
<org.xwalk.core.XWalkView android:id="@+id/activity_main"        
  xmlns:android="http://schemas.android.com/apk/res/android"      
  android:layout_width="fill_parent"    
  android:layout_height="fill_parent">
</org.xwalk.core.XWalkView>

同样将根目录下的 config.xml 修改content src 修改为 <content src="https://www.leangoo.com" />

六、AndroidStudio打包apk

1.修改应用图标

res/drawable 里默认的icon图标替换为你应用自己的图标

2.签名打包apk

参考:http://www.bubuko.com/infodetail-918228.html

xcode 打包webapp 相关内容

2018-06-15 13:55:24 shendygis 阅读数 226

cordova默认使用的是手机内嵌的webview,而crosswalk则是使用了优化的chromium内核的浏览器引擎用于代替默认的webview,从而做到在兼容性和性能上有较大的提升。crosswalk主要是针对android平台的优化,虽然也有ios版本,但其实ios下cordova的性能已经非常好了,所以其实没太必要。(参考 https://www.cnblogs.com/hisheng/p/6135079.html

刚开始用crosswalk老是出问题,提示各种问题,一装上插件就出问题,也不知道啥原因,网上各种找资料,最后,估计是android sdk版本问题,因此,先安装了一个cordova-android-support-gradle-release插件,才安装webview插件,得以解决。


1、ionic cordova plugin add cordova-android-support-gradle-release --fetch
(This plugin will automatically align the version of the plugin which crashed and you can continue to use your plugin)

2、ionic cordova plugin add cordova-plugin-crosswalk-webview --save

3、清理命令:cordova clean


xcode 打包webapp 相关内容

cordova打包webapp

阅读数 1

cordova打包webapp

阅读数 21

cordova打包安卓webapp

阅读数 6166

vue打包webapp要点

阅读数 5

没有更多推荐了,返回首页