react-native如何实现自动打包?react-native自动打包的方法


本文摘自PHP中文网,作者不言,侵删。

本篇文章给大家带来的内容是关于react-native如何实现自动打包?react-native自动打包的方法,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

你是否也在幻想写完代码后,无需打开xcode和android studio,只要执行一个shell脚本,就能把android和ios都打包出来?而且自动帮你传到蒲公英和App Store,接着产品自动去下载测试。而你~~~直接去喝咖啡了。

注意:本篇仅讲述如何用自动脚本处理,所以已经假设看官们已经能正常手动打包。若有更多繁枝细节,则需要另开篇幅。

准备材料

一台macos主机+显示器,比如:mac-mini

自动构建工具,比如:gitlab-runner、travis-ci、jenkins

苹果开发者认证

macos主机需作为构建工具的节点,并且需要安装如下的软件或操作:

git

xcode 9.4+

xcode -> 设置 -> accounts -> 添加苹果公司认证或者个人认证所用的app_id

android studio

android sdk

java jdk 8

注意:如果你不想搞构建平台,只想简简单单地,那么你可以把下面的那么多代码整合成一个shell脚本,然后在自己的电脑里执行。

打包android

1

2

3

cd android

rm -rf build/ app/build/

./gradlew assembleRelease

最后的apk文件在:android/app/build/outputs/apk/app-release.apk

打包ios

先构建基础包app

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

cd ios

# 必须先创建目录

mkdir -p build

rm -rf build/archive.xcarchive build/ipa-*

 

# 获取目录名

project_list=`ls | grep .xcodeproj`

project_name=${project_list%%.*}

 

# 打包出app

# 这和你点击 xcode -> Product -> Archive 是一样的效果的。

xcodebuild clean

xcodebuild archive \

  -project ./${project_name}.xcodeproj \

  -scheme ${project_name} \

  -configuration Release \

  -archivePath ./build/archive.xcarchive

接着我们需要把app导出为ipa格式,这样才能上传到App Store或者测试平台比如:蒲公英 、 fir.im

传到App Store需要导出正式的ipa包,而传到蒲公英需要使用测试ipa包(ad-hoc),所以需要执行两遍

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

cd ios

 

# 正式ipa包

xcodebuild -exportArchive \

    -archivePath ./build/archive.xcarchive \

    -exportPath ./build/ipa-app-store \

    -exportOptionsPlist ./exportOptions/app-store.plist \

    -allowProvisioningUpdates

     

# 测试ipa包

xcodebuild -exportArchive \

    -archivePath ./build/archive.xcarchive \

    -exportPath ./build/ipa-ad-hoc \

    -exportOptionsPlist ./exportOptions/ad-hoc.plist \

    -allowProvisioningUpdates

上面编译肯定是不通过的,因为你缺少两个文件app-store.plistad-hoc.plist。这个你自己其实能找到,那就是在xcode里打包并Export出来的文件夹里,都会有一个ExportOptions.plist文件

298157778-5b684528d544f_articlex.png
根据你在Export时选择的是App Store 还是 Ad Hoc,分别复制进项目exportOptions/app-store.plistexportOptions/ad-hoc.plist

上传蒲公英

笔者用的蒲公英,fir的看官自己去找

阅读剩余部分

相关阅读 >>

react-native如何实现自动打包?react-native自动打包的方法

更多相关阅读请进入《react-native》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...