Mac Angular项目 Cordova 编译安卓包

基本步骤

1、首先就是官网下载Java JDK8,拉到底Java8、Mac ,下载要你注册oracle,推荐共享账号

装好然后配置环境变量,打开命令终端

#打开配置文件
open .bash_profile
#打不开的创建一下这个文件
touch .bash_profile
#修改完后记得运行这个保存文件的
source .bash_profile

这样会打开一个记事本,在里面加上下面内容,里面的版本jdk1.8.0_301目录,根据自己安装的为准,可以到安装位置去看,Mac输入“ Command + Shift + . ”显示隐藏文件夹

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_301.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH:.
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.

  

改完再运行上面的保存文件命令,然后再检测"java -version"。ok !

2、因为还需要一些安卓环境和SDK,自己装较麻烦,所以选择直接安装一个Android Studio开发工具,装好会自带安卓环境。

装完配置安卓环境变量,同java环境变量一致,打开同一个bash_profile在里面再加上下面内容

# Android ADB配置
export ANDROID_HOME=/Users/你自己的账户目录/Library/Android/sdk
export PATH=${PATH}:${ANDROID_HOME}/tools
export PATH=${PATH}:${ANDROID_HOME}/platform-tools
export PATH=$PATH:$ANDROID_HOME/build-tools/31.0.0

自己的账户目录记得改下,还有那个31.0.0目录,根据自己装的去更改,最后运行保存命令

输入 adb 检测安装成功没

3、去到自己的Angular cordova项目去看看能打包编译了没

#全局安装cordova
sudo npm install -g cordova
# 添加安卓平台环境
cordova platform add android

 cd到项目终端运行

# 运行
cordova run android
# 打包
sudo ionic cordova build android

问题汇总

第一个问题

Checking Java JDK and Android SDK versions
ANDROID_SDK_ROOT=undefined (recommended setting)
ANDROID_HOME=C:\Users\tanmay\AppData\Local\Android\sdk (DEPRECATED)
Could not find an installed version of Gradle either in Android Studio,
or on your system to install the gradle wrapper. Please include gradle
in your path, or install Android Studio
[ERROR] An error occurred while running subprocess cordova.

        cordova.cmd build android --release exited with exit code 1.

解决:主要是缺gradle环境,所以需要手动安装一下gradle。这个我是安装了homebrew,然后用命令安装的,有环境直接运行第二个安装命令

# 装homebrew
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
# 通过homebrew 装grade
brew install gradle

第二个问题

解决: 问题是你有这些环境,但是你没有agree他的一些licenses协议,输入命令

#切换到安卓安装目录下
cd /Users/你的用户名/Library/Android/sdk
cd tools
cd bin
# 执行认证, 一路y下去
./sdkmanager --licenses

最后 全完成,再重新试试

  

第三个问题

解决

1、(此解决方案欠妥,我是用的后者解决的)去到项目目录的platforms/android/project.properties文件中,找上图报错内容中“com.android.support:support-xxx”错误的全给他注释掉,如我对应的

2、(推荐)在项目目录platform——android下build.gradle的allprojects节点中增加固定用27的具体版本,根据自己实际项目情况试试

configurations.all {
   resolutionStrategy.force 'com.android.support:support-annotations:27.1.1'
   resolutionStrategy.force 'com.android.support:support-v4:27.1.1'
}

第四个问题

目录/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home contains a valid JDK installation.找不到tool包,且称这个目录为“目录X”

解决:到mac终端,输入下面命令,得到两个路径,一个是目录X,拿另一个目录中bin或lib下的tool.jar文件,复制到目录X下的bin或lib文件夹中。咋复制?拿上面的地址,打开访达(Finder)按‘Command + Shift + G’ 输入上述地址

#查看java路径 
/usr/libexec/java_home -V

  第五个问题

解决:

cd ~/Library/Android/sdk/build-tools/31.0.0 \
  && mv d8 dx \
  && cd lib  \
  && mv d8.jar dx.jar

第六个问题

 堆栈溢出,内存不足

解决:修改node打包内存限制这个博客很详细

总结两个方案:1)安装插件

#安装
npm install -g increase-memory-limit
#执行
increase-memory-limit

2)打开node_module/.bin/ng文件在顶部更改”#!/usr/bin/env node"如下 

#!/usr/bin/env node --max_old_space_size=4096

另:因为每次编译巨久,所以在代码没改,只是改配置的情况下直接运行打包命令,不需要重新编译

sudo cordova build android --release

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值