Android 打包流程

1.找到路劲 node_modules\react-native\react.gradle 找到 doFirst,在这个下面添加

  doLast {
       def moveFunc = { resSuffix ->
       File originalDir = file("${resourcesDir}/drawable-${resSuffix}")
          if (originalDir.exists()) {
               File destDir = file("${resourcesDir}/drawable-${resSuffix}-v4")
               ant.move(file: originalDir, tofile: destDir)
            }
      }
     moveFunc.curry("ldpi").call()
     moveFunc.curry("mdpi").call()
     moveFunc.curry("hdpi").call()
     moveFunc.curry("xhdpi").call()
     moveFunc.curry("xxhdpi").call()
     moveFunc.curry("xxxhdpi").call()
}
image.png
  1. 找到路劲node_modules\react-native\local-cli\bundle\assetPathUtils.js 添加如下:
switch (scale) {
    case 0.75:
      return 'ldpi-v4';
    case 1:
      return 'mdpi-v4';
    case 1.5:
      return 'hdpi-v4';
    case 2:
      return 'xhdpi-v4';
    case 3:
      return 'xxhdpi-v4';
    case 4:
      return 'xxxhdpi-v4';
  }
image.png

3.在项目下面先运

react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/
  1. 生成之后要去文件夹删除如图(选中的文件删除即可):


    image.png

4.打开android studio, 打开项目里面的 android 目录如图:


image.png

如没有密钥可以先创建


image.png

创建的密钥请记住密码
image.png

点击下一步


image.png

第一个框是生成之后的打包文件
第二个是发布什么包
第三个可全部勾选
然后点击下一步。

注: 如果遇到一些问题,可以先 clean Project 然后再build Project。也可以先运行看项目能否跑起来。

你可能感兴趣的:(Android 打包流程)