公众号:暮北林
Q Q 群 : 一块儿学前端
今天的记录一下在工做中使用RN调试时遇到的一些问题(针对Android)javascript
// 系统 Ubuntu 19.04
// RN版本 React-native 0.61
// 开发工具 Vscode
复制代码
// 在android目录下新增一个名为.local.properties的文件
// 具体内容为你本机的SDK位置 有时候是没法找到你的sdk位置
// 例如:
sdk.dir=/home/wangfpp/Android/sdk
复制代码
1. 模拟器是否开启/真机是否已经链接
// 在终端输入 adb devices 查看已经链接的设备
// 若是设备存在那就查看另外一个缘由
2. 查看机器是否配置调试端口
// 模拟器直接Ctrl + M 真机摇晃手机 或者adb shell input keyevent 82调出Devtools
// Dev Settings -> Debug server host for device选择倒数第二项的设置
// 输入开发机的IP:8081
// 从新reload
3. 若是依然没法调试
// 查看手机和开发机器是否在同一网段内
4. 可能还须要重置调试端口
adb reverse tcp:8081 tcp:8081
复制代码
./gradlew assembleRelease
// 这条命令在Linux下执行以前须要修改chmod
sudo chmod +x ./gradlew
// 赋予x可执行权限
复制代码
${ProjectName}_${VERSION}-${DATE}.apk
1. 版本号的位置
// 其实版本号就在package.json中
// 在js/jsx中咱们能够直接
import packageJson form 'path/package.json'
const { version } = packageJson
// 可是在打包脚本中是没法import这个文件的 可是咱们能够找到这个文件
复制代码
打包脚本的位置在android/app/build.gradle前端
## 大概在129行的位置
android{
....
defaultConfig {
applicationId "com.record"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName appVersion //这里修改版本号
}
....
}
### 读取package.json的版本号
### 定义一个读取版本号的函数
def getAppVersion() {
## File packageJsonFile这个须要在文件头部引用
## 在文件头部引用此包 import groovy.json.JsonSlurper
File packageJsonFile = new File('../package.json')
## 实例化jsonslurper
def jsonslurper = new JsonSlurper()
## 解析文件内容
def packageJson = jsonslurper.parseText(packageJsonFile.text)
## 读取version字段并return
return packageJson["version"]
}
## 定义一个变量接收函数返回值
def appVersion = getAppVersion()
复制代码
## 仍是android/app/build.gradle 打包184行左右
### 若是是release打包上线包APK则修改apk名称
if (buildName == 'release') {
## 获取当前打包的时间
def createTime = new Date().format("YYYY-MM-dd", TimeZone.getTimeZone("GMT+08:00"))
## 从新命名APK名称
def outputFileName = "M2600-${variant.versionName}_${createTime}.apk"
// println output.getPackageApplicationProvider()
## 打包输出为新的APK名称
output.outputFileName = outputFileName
}
复制代码
1. 以上修改完成后从新执行./gradlew assembleRelease
打包后的APK名称为 M2600-0.0.1_2020-03-07.apk
2. apk的位置在
android/app/build/output/apk/release/...
复制代码
1. 打包命令./gradlew assembleRelease 太长记不住
2. 新建release.sh
3. sudo chmod +x ./release.sh
4. 书写打包脚本
复制代码
#!/bin/bash
### Android打包脚本
APP_HOME="`pwd -P`"
./gradlew assembleRelease
if [ $? != 0 ]; then
echo '打包失败'
exit 1
else:
## build success do somthing
## 移动APK到其余地方 cp M2600-0.0.1_2020-03-07.apk /home/apk/
## 或者作一些其余事情
fi
复制代码