node+cordova+vue环境搭建

1. 安装 cordova 

这一步的前提是已经完成安装node和npm,如果没有安装的话,请先完成node和npm的安装。

(1) node安装:直接进入官网 https://nodejs.org/en/download/ 下载最新版本安装。安装之后在命令行中使用”node -v” 检查安装是否成功。
(2) npm安装:由于新版的nodejs已经集成了npm,所以node安装时npm也一并安装好了。同样可以通过输入 “npm -v” 来测试是否成功安装。

下载或者更新 SDK 如果不用代理,有可能一天都更新不完, Vue 也一样。设置代理:

        npm install -g cnpm --registry=https://registry.npm.taobao.org

        YARN 安装:

        在 npm 安装成功之后,直接在命令窗口中使用命令:npm i yarn -g ,安装yarn,

        在命令窗口使用测试命令:        yarn -v

(3) cordova安装:

使用命令:npm install -g cordova 来全局安装cordova;

检查是否安装成功:cordova -v

(4) gradle安装 (cordova 编辑项目时需要gradle):

        1)去Gradle官网:https://gradle.org/install

        2)下载Gradle:https://gradle.org/releases,下载最新版本;

        3)解压,放置的位置自己定;

        4)配置环境变量:系统变量--Path--编辑 ,添加 :gradle目录/bin 到 path

(5) vue安装(VUE2.0版本

        全局安装:

        npm install -g vue
        npm install -g vue-cli

(6) 配置环境变量

        1) JDK:配置JAVA_HOME,如:C:\Program Files\Java\jdk1.8.0_231

        2) ANDROID_HOME:D:\daheng\androistudio_sdk

        3) ANDROID_SDK_ROOT:D:\daheng\androistudio_sdk

2. 新建 cordova 项目

   使用cd到我们要建项目的文件夹路径:如:cd cordovawork

(1)命令:cordova create myApp1 org.apache.cordova.myApp myApp2

        注意:创建的项目在指令执行的目录下。

        切换到 cordova 项目 myApp1 目录中:cd myApp1

        其中:
        myApp1:cordova目录名
        org.apache.cordova.myApp: 包名
        myApp2: 项目名(在config.xml中查看)

        生成的cordova文件中
        config.xml -包含应用相关信息,使用到的插件以及面向的平台
        platforms – 包含应用运行平台如 Android 和 iOS 上对应的 Cordova 库
        plugins – 包含应用所需插件的 Cordova 库,使得应用能够访问例如照相机和电池状态相关的                          事项。
        www – 包含应用源代码,例如 HTML, JavaScript 和 CSS 文件
        hooks – 包含为个性化应用编译系统所需的脚本

 (2)生成Android平台的cordova库(需要在(1)中创建的cordova项目下执行以下命令)

        命令:cordova platform add android

        这时platforms文件夹中会生成一个android文件夹。到这里,cordova项目就已经建好了。

4. 新建vue项目

    使用cd到我们要建项目的文件夹路径:如:cd cordovawork\cordovaApp

 (cordovaApp 是 cordova项目的项目根目录,vue项目在其下创建)

  (1)命令:vue init webpack MyApp

        注意:创建的项目在指令执行的目录下。且建议在 cordova 项目文件夹下创建,如:myApp1

   (2)修改配置文件

        修改Vue项目config/index.js文件       

        build: {
            // Template for index.html
            index: path.resolve(__dirname, 'D:/cordova/testApp1/www/index.html'),

                    // 值设置为cordova 项目下www的index.html

            // Paths
            assetsRoot: path.resolve(__dirname, 'D:/cordova/testApp1/www'),

                    // 路径值设置为 cordova 项目下www 
            assetsSubDirectory: 'static',
            assetsPublicPath: '', // 原来为'/',设置为''

                .........

        }

   (3)编译vue项目

        在vue项目根目录执行命令:npm run build

        即可编译vue项目自动到cordova主目录下的www文件夹中。

5. 调试打包apk软件

    (1)调试打包软件之前,首先检查androidsdk是否正确安装,执行命令:

                cordova requirements

                即可看到当前环境中sdk安装情况。显示如下即表示环境正确安装。(只需确认正确

                 安装即可,不需每次都去检查)

    (2)在cordova主目录(cordova项目主目录)

                1)联调命令:cordova run android

                        来联调android软件(需连接真机或者模拟器),即可在真机上运行。

                2)打包命令:cordova build android

                        来打包成apk软件                 (…/cordovaApp/platforms/android/app/build/outputs/apk/debug/app-debug.apk)。

                cordova install android //将编译好的应用程序安装到模拟器上。
                cordova emulate android //在模拟器上运行(前提是创建好AVD)
                cordova serve android //在浏览器运行
                cordova build android //打包cordova项目到android平台。
                cordova run android //通过USB直接安装到真机(该语句已经包括了build命令)
————————————————
版权声明:本文为CSDN博主「。度」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_33238562/article/details/102797724

      (3)APK签名

                APK都必须经过数字签名后才能安装到设备上,签名需要对应的证书(keystore),大部分情况下 APK 都采用的自签名证书,就是自己生成证书然后给应用签名。数字签名证书是给APK打包所必需的文件,所以我们先要把数字签名证书生成。

         创建数字签名证书命令:

          keytool -genkey -v -keystore D:\mytest.keystore -alias mytest -keyalg RSA -validity 20000

                说明:

                -keystore D:/mytest.keystore表示生成的证书及其存放路径,如果直接写文件名则默认                                            生成在用户当前目录下;
          -alias mytest 表示证书的别名是mytest,不写这一项的话证书名字默认是mykey;
          -keyalg RSA 表示采用的RSA算法;
          -validity 20000表示证书的有效期是20000天。

        根据指令输入密钥库口令,是不可见的。依次输入下面的问题。最后到【否】那里时输入y
再输入密钥口令(可以与密钥库口令相同),如果相同,直接回车,记住这两个口令,后面签名会使用到。这时便会生成一个文件mytest.keystore,就是我们需要的签名文件。

      (4)打包APK

                生成带签名的apk有两种方式,一种先生成未签名debug版本,再加上数字签名证书然后             生成带签名的APK。另外一种就是直接一条命令生成带签名的APK。

                1) 先生成未签名的debug版本的apk

                        命令:cordova build android --release

                        就会生成一个app-release-unsigned.apk。把数字签名放到生成的未签名的apk所在                   的目录下,输入以下命令:

                        jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore                                         mytest.keystore app-release-unsigned.apk mytest

                        这时的apk就会是一个已经签名的apk了,修改一下名字即可直接放到设备上安装。

                2)直接生成带签名的apk

                        有了数字签名之后,数字签名需要放在cordova项目根目录下或者可以修改下面指令                    的keystore里的路径可以直接在cordova build中指定所有参数来快速打包,这会直接生                    成一个android-release.apk(已经是带签名的了)

                        命令:

                        cordova build android --release --keystore="mytest.keystore" --alias=mytest --                                storePassword=testing --password=testing1

                        说明:

                        keystore 后面是数字签名证书, –alias 后面是别名 storePassword 后面是密钥库                             口令 password 后面是密钥口令。

                        注意:命令中口令要替换成自己的,就是生成签名是需要记住的那两个口令。

                3)封装配置参数打包

                        但每次打包输入命令行参数是很重复的,Cordova 允许我们建立一个 build.json 配                    置文件来简化操作。在cordova根目录新建文本文档,改名为build.json。

                         build.json 文件内容如下:

                         {
                          ”android”: {
                            ”release”: {
                              ”keystore”: “mytest.keystore”,
                              ”alias”: “mytest”,
                              ”storePassword”: “testing”,
                              ”password”: “testing2”
                              }  
                            }
                          }

                        直接使用命令:cordova build –release 就可以生成带签名的apk了。

                        注意:cordova build后面没有android

6. cordova项目导入到android studio中

android studio 导入 cordova项目:file --> new... --> Import Project ,选择 ***/platforms\android

   (1) 修改配置文件 platforms\android\build.gradle

buildscript {
    ext.kotlin_version = '1.3.50'
    apply from: 'repositories.gradle'
    repositories repos

    dependencies {
        classpath 'com.android.tools.build:gradle:3.6.0'
        // classpath 'com.android.tools.build:gradle:4.0.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

将红色背景部分参数改为本地android studio 使用的gradle(其它使用android创建的项目)

   (2)修改配置文件 platforms\android\gradle\wrapper\gradle-wrapper.properties

        distributionBase=GRADLE_USER_HOME
        distributionPath=wrapper/dists
        #distributionUrl=https://services.gradle.org/distributions/gradle-6.5-all.zip
        distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip
        zipStoreBase=GRADLE_USER_HOME
        zipStorePath=wrapper/dists

        将红色背景部分参数改为本地android studio 使用的gradle(其它使用android创建的项目)

7.  cordova使用android studio打包

 (1) vue项目根目录先执行安装依赖包命令npm install,再执行打包命令:npm run build

 (2)将vue项目根目录下dist目录下的所有文件copy到 cordava项目根目录下www目录中(www目录中的文件可先清空)

  (3)构建APP即可:在 cordova项目根目录下,执行命令:cordova build android即可构建app             (提示:直接使用android studio安装APP时,也需要先拷贝dist目录下文件到www目录中,                         然后构建,再安装;否则,APP更新的内容不会加载)

    安卓9.0以上需配置以下信息:

    1. 在AndroidMainfest.xml中配置android:networkSecurityConfig="@xml/network_security_config"

2. 打开res/xml,新建 network_security_config.xml 配置如下信息:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
     <base-config cleartextTrafficPermitted="true" />
</network-security-config>

3、在AndroidMainfest.xml中 

<application android:hardwareAccelerated="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:name="org.dh.cordova.base.BaseApplication" android:networkSecurityConfig="@xml/network_security_config" android:theme="@style/AppTheme">

中添加 android:theme="@style/AppTheme" ,来支持自定义Activity(主Activity 可不使用默认的MainActivity)

4、在AndroidMainfest.xml中

<application android:hardwareAccelerated="true" android:icon="${app_icon}" android:label="${app_name}" android:name="org.dh.cordova.base.BaseApplication" android:networkSecurityConfig="@xml/network_security_config" android:requestLegacyExternalStorage="true" android:supportsRtl="true" android:theme="@style/AppTheme">

中 添加 android:name="org.dh.cordova.base.BaseApplication" 上下文,后续用到上下文 Context 时,可直接使用 BaseApplication.getContext()

5. 完成以上配置之后,再次执行命令cordova build android,此时生成的apk就可以在安卓9.0以上版本中使用

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值