这个 BUG
是 Xcode.11
引起的, 可以查看这个问题的提交记录,链接为:https://github.com/facebook/react-native/issues/25138 我们只需要找到 RCTModuleMethod.mm
这个文件
修改
这个函数插入 RCTReadString(input, "attribute((unused))") || 这行代码重新运行就行了。 这样项目就能启动了,而且打包的 app 也不会闪退了。
更新 gradle 即可, 可参考 gradle 版本更新, 或者 JDK降级到 8
, 请参考Mac 安装和卸载 Java JDK
这个函数插入 RCTReadString(input, "**attribute**((**unused**))")
|| 这行代码重新运行就行了。 这样项目就能启动了,而且打包的 app 也不会闪退了。
在 Mac
中,点击 Android Studio
> Preferences
),打开 Preferences
窗口。 Build,Execution,Deployment
=> Gradle
=> Android Studio
, 勾选 Enable embedded Maven repository
android/build.gradle
中 google()
方法的位置,见下方代码注释;gradle
版本到 4.10.1
在 app
的 build
中
打开 ReactNative
根目录下的 node_modules
文件夹 找到 react-native-yunpeng-alipay
文件夹并打开 依次打开目录: android
-> src
-> main
-> java
-> com
-> yunpeng
-> alipay
-> AlipayPackage.java
注释调这一行;
0.57 版本打包错误,SDK 版本不匹配问题
node_modules
中找到报错的包里面的 build.gradle
,比如我这个就是\node_modules\react-native-version-number\android\build.gradle
;build.gradle
,使其与 android/build.gradle
(也可能是 android/app/build.gradle
)里面的 SDK
版本保持一致;build.gradle
里的 compile
改为 implementation
,因为 compile
已过时。已经提示了合并错误
Manifest merger failed with multiple errors, see logs
打开 AndroidMainifest.xml
=> 点底部的 Merged Mainfest
=> 看到右边的合并错误, 点进去, 注释掉重复的就可以了 http://yifeng.studio/2017/07/09/android-manifest-merge-conflict/
快速定义错误, 进入终端输入
./gradlew compileDebugJavaWithJavac --stacktrace
看看哪里报错了, 修正即可
这个问题是 Gradle
和 Gradle
插件版本对应不上造成的
gradle 插件版本配置位置:project
对应的 build.gradle
文件中
gradle
版本配置位置:
gradle/wrapper/gradle-wrapper.properties
文件中
版本对应关系如下
很明显对应不上,gradle 4.1
应该对应 3.0.0
把 classpath
对应的 3.3.0
改为 3.0.0
即可
底下报错会提示你安装构建工具, 你安装即可. 不要手贱点 update
.