React Native Android 自动打包+发布历险记(未完待续)
在linux服务器下。
一、配置环境
1、安装node
wget https://nodejs.org/dist/v12.18.1/node-v12.18.1-linux-x64.tar.xz // 下载
tar xf node-v12.18.1-linux-x64.tar.xz // 解压
cd node-v12.18.1-linux-x64 // 进入解压目录
export PATH=$PATH:/root/node-v12.18.1-linux-x64/bin
source /etc/profile
2、安装javasdk
下载:wget https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/8/jdk/x64/linux/OpenJDK8U-jdk_x64_linux_openj9_8u272b10_openj9-0.23.0.tar.gz
找目录安装解压安装即可
坑:千万不要使用linux自带的javasdk;
千万不要直接使用yum install javasdk;
这些sdk会导致打包会报些看不懂的错误出来。
注:mac上安装后,还是需要配置环境变量的(可以配置到用户级别下[~/.bash_profile],也可以配置到全局[/etc/profile])
3、安装gradle
下载:wget https://downloads.gradle-dn.com/distributions/gradle-5.5-all.zip(gradle版本最好和android根下的gradle.wrapper保持一致)
自己找目录解压安装即可
4、配置环境变量
export GRADLE_PATH=/opt/gradle-5.5
export PATH=$GRADLE_PATH/bin:$PATH
export ANDROID_HOME=/root/android-sdk
export PATH=$ANDROID_HOME/tools:$PATH
export PATH=$ANDROID_HOME/platform-tools:$PATH
export NODE_PATH=/usr/local/node-v12.1.0-linux-x64
export PATH=$NODE_PATH/bin:$PATH
5、安装commandlinetools
下载:wget https://dl.google.com/android/repository/commandlinetools-linux-6200805_latest.zip
自己找目录解压安装即可
6、通过commandlinetools的sdkmananger安装:build-tools、platforms
到安装目录执行:
./sdkmanager --install "build-tools;28.0.3" --sdk_root=$ANDROID_HOME
./sdkmanager --install "platforms;android-28" --sdk_root=$ANDROID_HOME
注:因为在服务器linux环境没有安装android studio,在第6步卡了较长时间。
后记:第六步的版本号和项目有关系,如果是多个module的项目,要注意他们(在gradle中)指定的版本可能会不统一,这时候需要把这些版本都要装上。还是用as方便,尽量选多个版本一键安装就完事了(很多是google的包可能会超级慢或安装失败)
二、命令打包
1、git项目下来,git clone ...
2、初始化:yarn install(听说比npm install快一些)
3、打包:gradle assembleRelease
注:如果打包过程报访问什么超时,或者访问被拒绝,多半是连接国外的网络不行,自己要想办法囖~
三、编写打包脚本(并发布离线测试包)
四、jenkins配置测试
【TODO】五、自动加固
【TODO】六、自动上架各大应用市场