IOS 问题一
如果是 RCTModuleMethod报错
或 Unknown argument type
请用按照下面改动
***高版本运行低版本
找到文件RCTModuleMethod.mm,路径:node_modules/react-native/React/Base/RCTModuleMethod.mm;
在RCTParseUnused接口中新增新的解析字段,新增RCTReadString(input, "__attribute__((__unused__))")代码,如下:
static BOOL RCTParseUnused(const char **input)
{
return RCTReadString(input, "__unused") ||
RCTReadString(input, "__attribute__((__unused__))") || //增加的代码
RCTReadString(input, "__attribute__((unused))");
}
IOS 问题二
运行Xcode 出现
1、cd node_modules/react-native/third-party/glog-0.3.4
2、在glog-0.3.4目录下执行命令 ../../scripts/ios-configure-glog.sh
IOS 问题三
Failed to build ios project ..... error code 65
最下面提示 the workspace named "app" does not contain a scheme named "app". the "-list" option cam ne used t find the names of schemes in the workspace
目前不清楚一下哪一个有用。最有可能是2
1、Xcode 打开Manage Schemes 管理Schemes。可以复制(原来的必须能构建成功,否则没意义)原来的schemes然后改名字。在把原来的移除
2、只留下一个Schemes运行即可
3、在IOS目录下 执行 POD 的命令 xcodebuild -workspace XXX.xcworkspace -list 查看清单
移除 "react-native-pager-view":"^5.4.25"
IOS 问题四
Duplicate symbols for architecture x86_64 under Xcode
1) 移除pod => pod deintegrate
2) 安装pod => pod install
IOS 问题五
Xcode升级12后,ReactNative ios14看不见图片(静态图片和网络图片) 或者 启动之后启动页和图标丢失
1、修改node_modules中react-native/Libraries/Image/RCTUIImageViewAnimates.m文件
if(_currentFrame){
layer.contentsScale = self.animatedImageScale;
layer.contents = (__bridge id)_currentFrame.CGImage;
}else{ //加上这个 不然ios14以上的系统看不见图片
[super displayLayer:layer];
}
2、升级reactNative版本,大于或者等于0.63版本 (会有别的问题)
IOS 问题六
错误信息
indirect_symbol_bindings[i] = cur->rebindings[j].replacement;
Thread 1: EXC_BAD_ACCESS (code=2, address=0x7fff865775c8)
解决办法
替换 node_modules/react-native/Libraries/fishhook 下的俩个文件 fishhook.c 和 fishhook.h
https://www.cnblogs.com/zhengyan/p/16039106.html
IOS 问题七
关于React Native报Cannot initialize a parameter of type
(直接百度搜索这个)
IOS 问题八
项目根目录 chmod 755 node_modules/react-native/scripts/launchPackager.command
IOS 问题九
关于React Native报Cannot initialize a parameter of type
安卓(Android) Android Studio 4.0
运行调试和编译包: react-native run-android
清理Android构建文件
cd android
./gradlew clean
Android 问题一 X86 CPU 问题 (低版本项目升级问题)
1、改动build.gradle文件的版本 26号是当前Android Studio的最低支持版本
compileSdkVersion:26
buildToolsVersion 26.0.1
applicationId:"com.chiseeappjr" //目前研究的这个用包的名字
targetSdkVersion:26
2、gradle-wrapper.properties
gradle-4.1-all.zip 使用这个包
3、build.grade
classpath:"com.android.tools.build:gradle:3.0.1" //这个和上面的【2】中的gradle对应 3.0.1至少需要4.1版本
repositories节点(2个节点都加)下增加google()
4、gradle.properties
里面4个账号和密钥这些配置 => 这四个参数和【1】文件中的release中的四个参数对象对应。
【项目文件夹的终端】 清空命令
cd android && sudo ./gradlew clean
Android 问题二
androidx.annotation.Nullable 报错找不到
需要gradel 28版本的
gradle.properties 配置 android.useAndroidX=true android.enableJetifier=true
部分版本需要执行以下代码
1、终端执行 => npx jetify
2、NDK下载 (会有提示 MAC电脑提示)
提示:minsdk版本,就移除配置即可。
Android 问题三
No toolchains found in the NDK toolchains folder for ABI with prefix:arm-linux-androideabi
方案1:Preferences菜单下 =>Appearance & Behavior => SystemSettings => Android SDK 移除SDK Tools中的NDK
方案2:勾选自己版本符合的NDK。并在Project Structure => SDK Location 中增加 NDK 地址
Android 问题四
Execution failed for task "app.javaPreCompileDebug"解决方案
【视频聊天,实现视频通话、以及语音通话】com.github.agorabuilder:native-full-sdk:3.4.5 无法下载问题。访问github换版本目前3.4.7存在版本
这个包下载有可能极慢,放着慢慢等待吧。【祈祷下载很快】
Android 问题五
Cause: connect timed out 提示:Could not resolve com.android.tools.build:gradle:3.3.1
【没用拿掉】蔚然配置的备份Project Structure => SDK Location => NDK 配置/Users/yuzichen/Library/Android/sdk/ndk/25.0.8775105
打开Project Structure => SDK Location => NDK 拿掉。或配置勾选一个版本()。
Android 问题六
java.lang.UnsatisfiedLinkError: couldn
方案1:清理Android构建文件(上面有命令)
方案2:还有,下次需要在百度吧。
Android 问题七
Execution failed for task
方案:(设置multiDexEnabled:true和启用最低版本21)After adding multiDexEnabled as true inside the build.gradle (Project Level) then change minSdkVersion to 21. It fixed my error.
Android 问题八
MemoryLeakMonitor.jar is not exist!
解决方案:
可能原因1:如果低版本安卓模拟器可以打开,可能是高版本安卓引起问题。配置内容 application标签里面添加一行代码:android:usesCleartextTraffic="true"
Android 问题九
打包报错:报错 AAPT2 error: check logs for details (Gradle 3.1.0)
原始 信始理财师APP Gradle版本4.1和3.0.1 => 现升级为4.6和3.2.0版本
SDK版本统一升级26和26.0.2
Android 问题十
安卓悬浮窗 Unble to add window android.view.ViewRootImpl --permission denied for windwos type
Application XXX is not been registered
方案:可能react-native没有打包成功,手动打包命令执行以下。react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/
【其中index.js根据需要设置,有的index.android.js】
Android 问题十一
打包流程,先在Android Studio和vs code => react-native run-android 跑起来,然后再打包APK。如果报错Could not connect to development server。先关闭8081端口的终端,再重新启动run-android。
Android 问题十二
打包报错 Task :app:mergeReleaseResources FAILED
方案:移除android / app / src / main / res下的
drawable-hdpi / drawable-mdpi / drawable-xhdpi / drawable-xxhdpi / drawable-xxxhdpi / raw
Android 问题十三
打包报错:The file name must end with .xml or .png
方案:grade.properties设置 android.disableResourceValidation=true
Android 问题十四
模拟器调试 直接闪退,无logcat日志
方案:可能终端和Android Studio 模拟器同时运行导致,关闭终端,再使用模拟器
Android 问题十五
模拟器调试 连接不上
方案:可能bundle没有手动打包,导致无法连接
Android 问题十六
react-native Failed to transform react-native-0.71.0-rc.0-release.aar
方案:
allprojects {
repositories {
...
exclusiveContent {
filter {
includeGroup "com.facebook.react"
}
forRepository {
maven {
url "$rootDir/../node_modules/react-native/android" // 强制使用node_modules下的react-native/android 解析
}
}
}
}
}
如果哪天官网修复了这个bug,可以将上述修改撤回.
android问题17
android 手动打bundle包命令:react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/