"[链接] ToC [链接] [链接] [链接] [链接] Android 步骤 1 生成签名秘钥 keytool -genkey -v -keystore symapp-release-key.keystore -alias symapp -keyalg RSA -keysize 2048 -validity 1000 .."

React Native 系列【四】打包

本贴最后更新于 641 天前,其中的信息可能已经事过境迁

SymApp Demo

ToC

Android

步骤

1 生成签名秘钥

keytool -genkey -v -keystore symapp-release-key.keystore -alias symapp -keyalg RSA -keysize 2048 -validity 10000

按照提示一路走下去

2 设置 gradle 变量

MYAPP_RELEASE_STORE_FILE=symapp-release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=symapp
MYAPP_RELEASE_STORE_PASSWORD=*****
MYAPP_RELEASE_KEY_PASSWORD=*****

3 修改 gradle 配置 打开 SymApp/android/app/build.gradle 添加如下配置

android { 
    signingConfigs {
      release {
          storeFile file(MYAPP_RELEASE_STORE_FILE)
          storePassword MYAPP_RELEASE_STORE_PASSWORD
          keyAlias MYAPP_RELEASE_KEY_ALIAS 
          keyPassword MYAPP_RELEASE_KEY_PASSWORD  
      }
    }
}
android { 
    buildTypes {
        release {
            signingConfig signingConfigs.release
        }
    }
}

4 打包

cd SymApp/android
./gradlew assembleRelease

5 安装 请先删除以前的 APP

./gradlew installRelease

异常

Could not list contents of 'SymApp/node_modules/react-native/third-party/glog-0.3.4/test-driver'. Couldn't follow symbolic link.

直接 unlink,也就是可以把这个文件删掉。

"symapp-release-key.keystore": Cannot recover key

第一次输入的密码(store password)和最后一次输入的密码(key password)修改为不一样的就 OK 了

iPhone

打包

真机调试

  1. 修改 SymApp/node_modules/react-native/Libraries/WebSocket/RCTWebSocketExecutor.m 文件中 NSString *host = [[_bridge bundleURL] host] ?: @"localhost"; 此行内的 localhost 为你本机 IP
  2. USB 连上 iPhone,选择信任
  3. 在 Xcode 中选中项目 -> General -> Signing -> 添加账户。然后输入你的 apple 的账户和密码。如果没有开发者账号的可以移步 # iOS 10 关于 Xcode 8 无证书真机测试的问题
  4. 在左上角的 set the active scheme 后选择 XXX 的 iPhone,点击左侧的 build and run the current scheme

关闭远程调试

  1. Xcode -> Product -> Scheme -> Edit Scheme -> Run -> Info -> Build Configuration,选择 Release
  2. 在左上角的 set the active scheme 后选择 XXX 的 iPhone,点击左侧的 build and run the current scheme

异常

Xcode will continue when “iPhone 名称” is finished.

拔线重插或锁屏再解锁

Signing for “XXX” requires a development team.

选中项目,点击项目中 Targets 为 XXX 的选项 -> General -> Signing -> Team,选择你的 Team

  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    91 引用 • 180 回帖 • 673 关注
  • Android

    Android 是一种以 Linux 为基础的开放源码操作系统,主要使用于便携设备。2005 年由 Google 收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。

    257 引用 • 289 回帖 • 588 关注
  • Pack
    1 引用 • 13 回帖
感谢    关注    收藏    赞同    反对    举报    分享
13 回帖    
请输入回帖内容...
  • alanfans      

    二手 iphone 走起

    1 回复 
    感谢    赞同    反对    举报    分享       回复
  • scorpion      

    V 姐,写完没?

    1 回复 
    感谢    赞同    反对    举报    分享       回复
  • Vanessa            

    还早呢。来写不?写了列表,开始写登录了。

    1 回复 
    感谢    赞同    反对    举报    分享       回复
  • Vanessa            

    你要出售么?

    1 回复 
    感谢    赞同    反对    举报    分享       回复
  • scorpion            

    我可以问问妹子,她现在对 react 老感兴趣了。我就不来打酱油了。

    1 回复 
    感谢    赞同    反对    举报    分享       回复
  • Vanessa            

    好的。地址是 SymApp Demo

    感谢    赞同    反对    举报    分享       回复
  • alanfans            

    我没有 iPhone 手机

    1 回复 
    感谢    赞同    反对    举报    分享       回复
  • Vanessa            

    今天要了个测试机。超级简单,待我补一补

    感谢    赞同    反对    举报    分享       回复
  • summerzi      

    我现在还在 react 入门级别,跟着你的教程学学,确实是很喜欢 react 系列呀

    1 回复 
    感谢    赞同    反对    举报    分享       回复
  • Vanessa            

    哈哈。来一起写嘛。登录已经写好了。你来写 home 页面把

    1 回复 
    感谢    赞同    反对    举报    分享       回复
  • summerzi            

    v 姐,你太高看我了。。。。

    感谢    赞同    反对    举报    分享       回复
  • nisbc API      

    测试

    感谢    赞同    反对    举报    分享       回复
  • 1212 API      

    sfewf

    感谢    赞同    反对    举报    分享       回复
请输入回帖内容...