cordova 安装配置注意事项

安装:

npm install -g cordova

本文对应版本:9.0.0 ([email protected])

1.需要配置的变量

#export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

export NODE_HOME=/opt/nodejs/latest
export NODE_PATH=$NODE_HOME/lib/node_modules

export ANDROID_SDK_ROOT=/opt/Android/SDK/
export ANDROID_HOME=/opt/Android/SDK/

export PATH=$NODE_HOME/bin:$JAVA_HOME/bin:$PATH

2. cordova 默认使用jdk 1.8

改为11后,会报版本错误.注释掉这段检查代码,会报null pointer错误.预估是因为jdk11 remove 了一些包.
简单的办法是安装jdk 8,复杂的办法是倒入缺乏的包.
如需修改jdk版本,搜索:
JavaVersion.VERSION_1_8 替换之.

3. cordova 使用的android sdk最低版本为27.0.3

而ubuntu 仓库自带的sdk最新为27.0.1, 只有手动下载了.
请参考 食用Android SDK的正确姿势之2020更新

4. 配置路径

  • ./platform/android/local.properties
sdk.dir=****

这是环境变量的被选方案

  • build.extras.gradle
ext.cdvMinSdkVersion = 28
ext.cdvCompileVersion = 28
ext.cdvBuildToolsVersion=28.0.3

这个配置文件需要新建,配置sdk版本

  • build.gradle
buildscript {
    repositories {
        // google()
        // jcenter()
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/jcenter' }
        maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
    }

    dependencies {
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files

        classpath 'com.android.tools.build:gradle:3.1.0' //对应 gradle 4.4.x ==> plugin 3.1.x -----------!
    }
}

allprojects {
    repositories {
        // google()
        // jcenter()
        //为了科学的做马农-----------!
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/jcenter' }
        maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }        
    }

    //This replaces project.properties w.r.t. build settings
    project.ext {
      defaultBuildToolsVersion="28.0.3" //String 这是安卓build工具版本-----------!
      defaultMinSdkVersion=19 //Integer - Minimum requirement is Android 4.4
      defaultTargetSdkVersion=28 //Integer - We ALWAYS target the latest by default 目标版本-----------! 
      defaultCompileSdkVersion=28 //Integer - We ALWAYS compile with the latest by default
    }
}     
        
  • project.properties
#project target.

target=android-28	    #这里还有sdk版本
android.library.reference.1=CordovaLib
android.library.reference.2=app

就写这些吧.

你可能感兴趣的:(java)