React-native iOS, Async storage error: "Invalid key - must be at least one character. Key:
出现这个错误是因为在getItem/setItem的时候key的值为空,需要修改一下,注意如果key的值修改后可能需要重新build才能生效
如果出现
TypeError: null is not an object (evaluating ‘RNTextInputMask’)in v3.0.0
,需要添加这行配置到podfile文件:
pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text', :modular_headers => true
**
SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.
**原因是没有定义android sdk的位置,首先下载android sdk或者安装android studio(会自动下载sdk),最后将地址写在
local.properties
文件或者直接设置为环境变量
ANDROID_HOME
**com.android.builder.testing.api.DeviceException: No connected devices! **得去android studio把安卓模拟器打开
react-native run-android
命令提示
Android project not found. Maybe run react-native android first
,但是执行
react-native android
却说命令没找到
: 首先看当前目录有没有
android
文件夹,如果没有,那么使用
react-native eject
命令生成,如果有,那么就用
android studio
来运行一次,看看是不是有哪些基础环境没有安装
Invalid YGDirection ‘row’ should be one of: (inherit, ltr, rtl)
: 需要将
<Flex direction="row"
修改为
<Flex flexDirection="row"
Print: Entry, ":CFBundleIdentifier", Does Not Exist
解决方法如下
1 2 3 4
# 首先关闭XCode cd node_modules/react-native/third-party/glog-{X}.{X}.{X}/ ./configure # 然后重新打开xcdoe即可
Text strings must be rendered within a
component
: 首先最基本的,文字必须在text组件里面,但这还是比较容易排查,而不好排查的情况一般是我们在做判断的时候没有使用布尔值,例如
Android Studio build签名APK的时候报错index.js not found
:可能是因为使用了typescript,文件现在是index.tsx,可以在
build.gradle
文件中指定
entryFile
:
1 2 3 4
project.ext.react = [ enableHermes: false, // clean and rebuild if changing entryFile: "index.tsx"// 指定为tsx文件 ]
Android Studio报错:ERROR: Could not find method compile() for arguments
: 可能是依赖的包在调用老的java的api,找到错误日志中的文件,将
compile 'xxx'
修改为
implementation 'xxx'
Android Studio真机测试报错: Unable to load script. Make sure you’re either running a Metro server (run ‘react-natvie start’) or that your bundle ‘index.android.bundle’ is packaged correctly for release.
如果metro没打开就start,如果打开了,可以尝试执行这个命令:
adb reverse tcp:8081 tcp:8081