Skip to content

打包构建apk/ipa

打包Andorid App 与 IOS App

本文档将详细描述如何在公司框架体系下打包Android App 与 IOS App

APP的打包简单分为两步:

  • Build JS Bundle 打包js代码
  • Build Native Application 将js代码一起打包成原生应用。ios为ipa 安卓为apk文件

注意

如果你的项目是壳工程模式。请阅读此处

Build Bundle

当你需要打包App的时候。你需要首先在项目中先打包JS Bundle。相关命令会将APP用到的Bunlde资源分发到对应的位置。然后再进行原生应用的打包。

打包Bundle的命令如下。当命令执行完毕之后。进行下一步Build App

bash
npm run build:android // 打包Android Bundle
npm run build:ios // 打包IOS Bundle

npm run uat:android // 打包Android Bundle UAT环境
npm run uat:ios // 打包IOS Bundle UAT环境

相关配置在根目录的config文件夹下的index.js文件中。相关配置如下

js
  // ...其他配置
  rn: {
    appName: 'taroDemo',
    output: {
      iosSourceMapUrl: '', // sourcemap 文件url
      iosSourcemapOutput: resolve('../ios/main-ios.map'), // sourcemap 文件输出路径
      iosSourcemapSourcesRoot: '', // 将 sourcemap 资源路径转为相对路径时的根目录
      androidSourceMapUrl: '',
      androidSourcemapOutput: resolve('../android/app/src/main/assets/index.android.map'),
      androidSourcemapSourcesRoot: '',
      ios: resolve('../ios/main-ios.jsbundle'),
      iosAssetsDest: resolve('../ios'),
      android: resolve('../android/app/src/main/assets/index.android.bundle'),
      androidAssetsDest: resolve('../android/app/src/main/res')
    }
  }

Build APP

IOS

IOS需要通过XCode进行打包

请务必看完 taro 文档 以及 官方文档相关的内容

本处仅针对关键路径做描述

  1. 配置 release scheme
    要配置 app 为使用Release scheme 编译,请前往Product → Scheme → Edit Scheme。选择侧边栏的Run标签,然后设置下拉的 Build Configuration 为Release

  2. 执行 Product-Archive进行构建.
    1

**ps:** 如果你的选项是灰色的。你需要把构建选择为**Any IOS Device**
  1. Archive完成之后。会出现发布页面。你可以进行部署测试了 1

  2. 后续的处理按照IOS正常发布即可

IOS Build 解析

bash
  #  1.在项目根目录下执行 
  # 命令执行后。会在ios 中输出一些bundle文件
  # ios/ReactBundle/*
  yarn build:ios
  
  用Xcode打开ios工程 打包

Android

请务必看完 taro 文档 与签名相关的内容

有两种方式打包Android App

  1. 命令构建
    在项目根目录下执行npm run release:android命令. 命令运行完毕后会在android/app/build/outputs/apk目录下生成apk文件。然后将apk文件安装到手机上即可。

  2. 使用Android Studio进行构建
    安装Android Studio。然后打开android目录下的项目。然后在Android Studio中进行打包。

安卓Build解析

bash
  # 1.在项目根目录下执行 
  # 命令执行后。会在android 中输出一些bundle文件
  # android/app/src/main/assets/index.android*
  # android/app/src/main/res/drawable-*/*.png
  # android/app/src/main/res/raw/*.ttf
  yarn build:android
  
  #  打包安卓包 相当于
  # cd android
  # ./gradlew clean  // (非必须)
  # ./gradlew assembleRelease
  yarn release:android 
  
  // 2.1或者你也可以用androidStudio 打包

  // 3.构建完成之后会输出文件
  android/app/build/outputs/apk/release/app-release.apk

  // 4.安卓安装包 (或者手动装)
  adb install  path/to/app-release.apk