app开发,Android开发--react-native

react-native开发与发布流程:

1 环境:

genymotion + visual box虚拟墙 +安卓sdk + Android studio开发工具+react native(0.57.8)+react-native-cli(2.0.1//npm install react-native-cli)

环境工具:

----genymotion(需要先注册账号)

----visualBox虚拟墙

----Android的SDK

----Android studio开发工具

2 APP项目运行:

----1.cd进入项目安装依赖 //npm install

----2.react-native run-android

3 APP项目打包(初始化开发打包):

----1.cd进入Android---》在cd进入app项目文件夹

----2.执行生成密钥命令:keytool -genkeypair -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

----3.修改配置文件:

  • my-release-key.keystore(有则直接负责到 android/app 目录下,无则执行打包第一条)
  • 配置android/gradle.properties文件:添加以下四个参数(注:**替换为相应密码)

MYAPP_RELEASE_STORE_FILE=my-release-key.keystore

MYAPP_RELEASE_KEY_ALIAS=my-key-alias

MYAPP_RELEASE_STORE_PASSWORD=*****

MYAPP_RELEASE_KEY_PASSWORD=*****

  • 配置 android/app/build.gradle 文件内的参数:

    ...

    android {

      ...

      defaultConfig { ... }

      signingConfigs {

        release {

          if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {

            storeFile file(MYAPP_RELEASE_STORE_FILE)

            storePassword MYAPP_RELEASE_STORE_PASSWORD

            keyAlias MYAPP_RELEASE_KEY_ALIAS

            keyPassword MYAPP_RELEASE_KEY_PASSWORD

          }

        }

      }

      buildTypes {

        release {

          ...

          signingConfig signingConfigs.release

        }

      }

    }

    ...

----4. cd进入 android 文件执行打包命令:

gradlew assembleRelease (Windows的传统 CMD 命令需要去掉 ./ )

// ./gradlew assembleRelease在 macOS、Linux 或是 windows 的 PowerShell 环境中表示执行当前目录下的名为 gradlew 的脚本文件,且其运行参数为 assembleRelease,注意这个./不可省略;

4 注:

  Gradle 的assembleRelease参数会把所有用到的 JavaScript 代码都打包到一起,然后内置到 APK 包中。如果你想调整下这个行为(比如 js 代码以及静态资源打包的默认文件名或是目录结构等),可以看看android/app/build.gradle文件,然后琢磨下应该怎么修改以满足你的需求。 注意:请确保 gradle.properties 中没有包含_org.gradle.configureondemand=true_,否则会跳过 js 打包的步骤,导致最终生成的 apk 是一个无法运行的空壳。

5 打包生成后的线上文件:

  生成的 APK 文件位于 android/app/build/outputs/apk/release/app-release.apk ,这个就是用来发布的文件。