创客汇app在android studio里配置和编译运行,及安卓投屏工具推荐
开发环境准备
- 下载安装android studio
- 启动运行
- 配置代理
如果能翻墙最好了,因为一些资源都需要爬墙,实在没有吗,只能选择不代理。
选择标准安装,下一步,等待下载
import到Portal的android目录,导入项目
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文件,需要删除后,再进行后面的操作。
启动项目
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)
启动js
运行app
因为项目加入了IM的一些东西导致不能用模拟器运行,真机连接后选择USB调试,然后运行项目
选择不使用instant
查看日志:
配置JS调试模式
配置端口映射,让手机端连接到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命令总结
配置到以上映射,一般真机上会自动启动应用,启动后摇一摇,弹出菜单,查看最新的修改。
可以先来个reload试试。
可以看到手机上开始reload
再看看服务端:
- 开始调试
在刚才手机摇一摇出来的菜单中选择Debug JS Remotely
,应用重启,同时看到server端启动的Dev Tools
默认的浏览器也打开了一个新的tab,如下:
默认不会打开开发者模式,需要手动打开。我们清除一下默认的log,加载下首页,看到如下效果:
调试配置成功。
- 有时候一边撸代码,改两行还要拿起手机看看效果,确实不便,于是有了安卓手机投屏这种神一样的工具。也许工具很多,不过我这里就用过一种vysor,我用了谷歌浏览器的vysor插件。
手机USB调试设置好以后会自己检测
同时第一次会提示手机安装该软件,安装完成后打开,效果如下,与手机同步。
效果还是不错的,就是没有[摇一摇]这个功能,美中不足亦。
- 模拟器操作
如果在模拟器上调试react native代码,也可以有摇一摇,或者配置hot loading这些,如下:
- shift + r 连续2 次 模拟器reload 界面
- Command⌘ + M快捷键来快速打开Developer Menu。也可以通过模拟器上的菜单键来打开。