Android 开发好难啊,现在应该怎么学习

364 天前
 magic3584

独立项目,1 年多了,用的 flutter 。

自从项目创建后一直写的 iOS 代码,昨天想兼容下 android ,发现怎么都跑不起来,一直报错。搜索后按https://stackoverflow.com/a/70807648/4256995 发现问题还是存在,索性釜底抽薪了,重新创建了一个新的 flutter 项目,然后把相关文件都同步到项目里。

修改了以下内容:

  1. /android/app/build.gradle/android/gradle/(build & settings).gradle 一共 3 个文件全部替换
  2. /gradle/wrapper/gradle-wrapper.propertiesdistributionUrl=https://services.gradle.org/distributions/gradle-6.7-all.zip 升级到了 7.5
  3. 搜索解决了一些别的问题

最后,终于跑起来了,结果运行起来又报错Application is waiting for the debugger to attach. 搜索了许久还没解决,而上面到现在已经花费了我 6 个小时。。。

有 JDK 版本,Gradle 版本,还要对应上,还有个插件版本,wtf 。。。反观 iOS 多简单啊,基本啥都不用操心。

所以请教一下这个问题怎么解决?还有现在怎么学习 android ?貌似有新的 Jetpack?

2665 次点击
所在节点    程序员
16 条回复
winterbells
364 天前
waiting for the debugger to attach
把 adb.exe 杀掉看看
kassadin
364 天前
从 android 运行项目,类似从 xcode 启动,不是 flutter run ,会隐藏日志。
还查不出来就 gradle assembleDebug --debug(大概)
“反观 iOS 多简单啊,基本啥都不用操心”
双端开发哪个都不省心,依赖更新后双端都要跑,否则就是你现在的情况
magic3584
364 天前
magic3584
364 天前
@kassadin #2
嗯,我已经用 android studio 启动了,不怕大佬笑话,vscode 都不知道怎么跑 android 。。。
iOS 就一个文件打开就能跑了,也不需要多个版本去对应问题。
这不刚开始看看要不要更新兼容,之前也是 sqlite 在 iCloud 上同步不太好,而且想要将来兼容 android 所以一直没切 CoreData
no13bus
363 天前
项目不着急的话,就用原生写吧。jetpack compose 也不难,写惯 swiftui 的话,写这个差不离。不行就问 gpt
kuituosi
363 天前
安卓是这辈子都不愿意碰的方向,从软件工程角度看完全是灾难。
我后端出身,学写 ios/web 基本压力不大,安卓真的是太糟糕了
我宁愿去碰嵌入式和 win 桌面,都不愿意碰安卓
ChoiKarl
363 天前
安卓的那一堆配置对我来说简直是灾难,升级了 as 莫名其妙就不能运行了,按照网上的方法一顿捣鼓也不行,然后可能莫名其妙的又好了。每次升级完 as 都要祈祷项目不要出问题。
nnegier
363 天前
@ChoiKarl 是这样的。老炮有时候也莫名其妙这样,有时候都是直接建新项目,老代码抄过去,不过这个方法更累,属于没办法的办法。
okakuyang
363 天前
flutter 默认的模版应该能运行吧,一点点把代码加进去呗。
magic3584
363 天前
@no13bus #5
写两端对我来说工作量太大了,选 flutter 就是想省事
magic3584
363 天前
@kuituosi #6

@ChoiKarl #7

@nnegier #8
现在了解到有 JDK ,android SDK ,gradle ,gradle 插件,而且还要版本兼容,好不容易能运行,又白屏。。。
magic3584
363 天前
@okakuyang #9
为了求稳我都不升级依赖版本。这次不得以调了半天还不行,所以新建了项目后把配置还得全粘过去,要不然真不知道怎么改。搜索都没答案
CoderMVP
363 天前
“Application is waiting for the debugger to attach”,看下开发者选项->等待调试程序 是不是打开了。然后在代码里搜下有没有“Debug.waitForDebugger”这样的调用,先注掉再运行试试
anjingdexiaocai
362 天前
Android 开发搞了 7/8 年,都觉得 Android 的配置很恶心。
unco020511
362 天前
Android 本来就是这样的,很难做到开箱即用.你基于 flutter 已经是略过很多原生开发的知识了
magic3584
362 天前
@CoderMVP #13
都没有。新起一个 flutter 项目跑起来没问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1004720

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX