记录一次解决RN项目Android Studio编译报错全过程(compileDevDebugJavaWithJavac)

博主的Android文件很久没有动过了,本次的目的是跑起来打包到android真机上进行实时调试,而当我再次跑起来的时候就报错了,报错信息如下:

ERROR: Failed to resolve: com.google.android.gms:play-services-gcm:16.0.0

解决办法是,修改镜像源,这么做是因为 google属于境外,访问需要通过其他代理服务器,速度很慢,经常会下载失败,改成国内的阿里云提供的镜像源

buildscript {
    repositories {
        // ...原有的源基础上,新增或者直接替换成以下源
        maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/' }
        maven{ url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'}
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1' // 3.1.4
        classpath 'com.google.gms:google-services:4.0.1'
    }
}

allprojects {
    repositories {
        // ...原有的源基础上,新增或者直接替换成以下源
        maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/' }
        maven{ url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'}
        maven {url 'https://dl.google.com/dl/android/maven2/'}
        maven {url 'https://www.jitpack.io'}
    }

再次编译,再次报错:

react-native-file-selector 这个文件选择模块没有编译通过,查了文件是存在的,以及一些其他引用没有发现异常,由于时间比较紧,我需要优先修复一个与文件选择无关的bug,我将这个rn-module文件选择的引用注释掉了

再次编译,还是报错,报错原因不明,报错如下:

Execution failed for task ':app:compileDevDebugJavaWithJavac'

这是一个很广泛的错误描述,他不是指某一个问题,他只是说java无法编译通过,具体原因没说

那怎么办?别慌,我们可以通过我们的gradlew文件去执行命令进行查找

我们会遇到以下问题:

执行gradlew compileDevDebugJavaWithJavac(window中确实如此执行,但是MacOS会报错)

gradlew compileDevDebugJavaWithJavac

(PS:这边的compileDevDebugJavaWithJavac是需要根据您本地的编译报错进行相应修改的),提示command not found: gradlew

问题1:

bash: ./gradlew:Permission denied

需要改变gradlew的权限,请执行命令解决:chmod +x gradlew

问题2:

bash: gradlew :command not found

Mac 下执行这句指令,需要在gradlew前加 ./

例:./gradlew clean build bintrayUpload -PbintrayUser=用户名 -PbintrayKey=你的 API key -PdryRun=false

换成我这边就是

./gradlew compileDevDebugJavaWithJavac

然后就是过程图附上:

然后执行快结束的时候,报出一大堆警告⚠️和错误❌,警告我们先不管他,只针对错误进行处理,发现原来是其他地方也有引用,没有注释完全,逐一点击链接进行跳转注释

再次Run,发现成功了,可以成功打开发包到android真机上了!

然而,在启动过程中又报错了:

Error: DeltaPatcher should receive a fresh Delta when being initialized

这个报错是具有针对性的,是因为我之前为了排查错误,备份了一份react-native-splash-screen1文件夹,而运行时直接全检索,发现重复了,不知道要调用哪一个,抛出了错误,删掉备份文件夹即可

最后,成功调试

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hzxOnlineOk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值