海尔创客汇笔记----安卓端编译和运行


创客汇app在android studio里配置和编译运行,及安卓投屏工具推荐

简书地址

开发环境准备

  1. 下载安装android studio
  2. 启动运行
    start studio
  3. 配置代理
    如果能翻墙最好了,因为一些资源都需要爬墙,实在没有吗,只能选择不代理。
    设置代理

选择标准安装,下一步,等待下载
下载
下载结束

import到Portal的android目录,导入项目
导入工程

gradle下载

  1. build完成以后在命令窗口启动打包jsbundle
    打包成jsbundle文件的方式可以参照另一篇-海尔创客汇笔记—-安卓生产环境打包配置
    主要是下面这个命令
    打包IOS:

    "bundle-ios": "react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ./ios/main.jsbundle --assets-dest ./ios",
    

    打包安卓:

    "bundle-android": "react-native bundle --entry-file index.js --bundle-output ./android/app/src/main/assets/index.android.bundle --platform android --assets-dest ./android/app/src/main/res/ --dev false",
    

    该项目有个没有配置好的地方,会导致生成.html文件,需要删除后,再进行后面的操作。

    启动项目

  2. yarn

    Portal git:(master) yarn
    yarn install v1.15.2
    [1/4] 🔍  Resolving packages...
    [2/4] 🚚  Fetching packages...
    [3/4] 🔗  Linking dependencies...
    warning " > react-native-doc-viewer@2.7.8" has incorrect peer dependency "react@^16.3.0-alpha.1".
    warning " > react-native-doc-viewer@2.7.8" has incorrect peer dependency "react-native@0.54.3".
    warning " > react-native-fs@2.9.12" has incorrect peer dependency "react@^16.2.0".
    warning " > react-native-fs@2.9.12" has incorrect peer dependency "react-native@^0.51.0".
    warning " > react-native-fs@2.9.12" has unmet peer dependency "prop-types@15.6.0".
    warning " > react-native-fs@2.9.12" has unmet peer dependency "create-react-class@^15.6.2".
    warning " > react-native-pdf@5.0.8" has incorrect peer dependency "rn-fetch-blob@^0.10.13".
    warning " > react-native-svg@6.5.2" has unmet peer dependency "prop-types@^15.5.7".
    warning " > react-native-svg-uri@1.2.3" has incorrect peer dependency "react-native-svg@^5.3.0".
    warning " > babel-jest@22.0.4" has unmet peer dependency "babel-core@^6.0.0 || ^7.0.0-0".
    [4/4] 🔨  Building fresh packages...
    warning Your current version of Yarn is out of date. The latest version is "1.16.0", while you're on "1.15.2".
    info To upgrade, run the following command:
    $ curl --compressed -o- -L https://yarnpkg.com/install.sh | bash
    ✨  Done in 169.93s.
    ➜  Portal git:(master)
    
  3. 启动js
    yarn start

  4. 运行app
    因为项目加入了IM的一些东西导致不能用模拟器运行,真机连接后选择USB调试,然后运行项目
    运行工程
    选择不使用instant
    不使用instant
    查看日志:
    logcat

配置JS调试模式

  1. 配置端口映射,让手机端连接到PC的js server上
    首先,电脑要有ADB,作为一名Android终端开发,这个是必备的。但是不巧我是客串的,所以手动安装了一下,MAC上通过homebrew安装很简单,一句命令:

    brew cask install android-platform-tools
    

    手动安装配置classpath的可以参考在 MAC OS X 安装 ADB (Android调试桥)
    安装成功,并且真机设置好了开发者模式,允许调试的话,可以用以下命令看到设备:

    ➜  ~ adb devices
    List of devices attached
    c752c893    device
    ➜  ~
    

    有了adb以后,用下面的命令设置映射关系,将本地的8081映射到client的8081

    ➜  ~ adb reverse tcp:8081 tcp:8081
    

    如果adb没有配置到classpath里,可以这样

    ➜  ~ cd ~/Library/Android/sdk/platform-tools/
    ➜  ~ ./adb reverse tcp:8081 tcp:8081
    

    更多adb命令可以参考Android常用的adb命令总结

  2. 配置到以上映射,一般真机上会自动启动应用,启动后摇一摇,弹出菜单,查看最新的修改。
    手机摇一摇

可以先来个reload试试。
可以看到手机上开始reload
rn-reloading

再看看服务端:
服务端reload

  1. 开始调试
    在刚才手机摇一摇出来的菜单中选择Debug JS Remotely,应用重启,同时看到server端启动的Dev Tools
    debug
    默认的浏览器也打开了一个新的tab,如下:
    debugger ui

默认不会打开开发者模式,需要手动打开。我们清除一下默认的log,加载下首页,看到如下效果:
debug ui

debug log
调试配置成功。

  1. 有时候一边撸代码,改两行还要拿起手机看看效果,确实不便,于是有了安卓手机投屏这种神一样的工具。也许工具很多,不过我这里就用过一种vysor,我用了谷歌浏览器的vysor插件。
    手机USB调试设置好以后会自己检测
    vysor设置
    同时第一次会提示手机安装该软件,安装完成后打开,效果如下,与手机同步。
    vysor成功

效果还是不错的,就是没有[摇一摇]这个功能,美中不足亦。

  1. 模拟器操作
    如果在模拟器上调试react native代码,也可以有摇一摇,或者配置hot loading这些,如下:
  • shift + r 连续2 次 模拟器reload 界面
  • Command⌘ + M快捷键来快速打开Developer Menu。也可以通过模拟器上的菜单键来打开。

评论
  目录