V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhwguest
V2EX  ›  Android

下载一个 android 应用的工程,用 AndroidStudio 打开能够直接编译成功的概率有多大?

  •  
  •   zhwguest · 5 天前 · 2101 次点击
    34 条回复    2025-01-20 16:41:23 +08:00
    Helsing
        1
    Helsing  
       5 天前 via iPhone
    看 gradle 和 jvm 版本,AS 现在对最低版本有要求了
    wnpllrzodiac
        2
    wnpllrzodiac  
       5 天前 via Android
    升级一下。版本差不太多还好吧。除非非常老的
    winterbells
        3
    winterbells  
       5 天前 via Android
    首先改 gradle 和 AGP 版本,以及一些自己能记得住的库的最新版本

    主要是省的下一堆东西,当然可能改完发现 API 变了跑不了了…
    w568w
        4
    w568w  
       5 天前
    如果是下载第三方只是为了安装包,我一般习惯直接在命令行里 ./gradlew assembleRelease 来编译。

    Android Studio 、JDK 、Gradle 、AGP 、Kotlin Compiler 这五者版本是相互耦合的,能少一个因素是一个。
    sir283
        5
    sir283  
       5 天前
    国外的项目,一般拉下来就能直接 build 成功,但是国人编写的开源项目,大部分都是 build 失败的,各种缺文件、编码问题、库问题等。
    whyrookie
        6
    whyrookie  
       5 天前   ❤️ 1
    一次成功概率极低,约等于 0 吧
    donaldturinglee
        7
    donaldturinglee  
       5 天前   ❤️ 1
    约等于 0 吧, gradle 那里很可能就要喝一壶, 然后还要解决 jdk 依赖的问题, 我的建议是直接用 GitHub 的 workflow 做编译, 然后推送到 release 上. 我用 workflow 编译一个 apk 都差不多需要 20 分钟(迷你项目), 本地编译你就自己琢磨琢磨吧
    DIO
        8
    DIO  
       5 天前
    在国内,大概率有依赖私有 sdk ,让你欲仙欲死
    404neko
        9
    404neko  
       5 天前
    0
    yatoooon
        10
    yatoooon  
       5 天前
    0
    kerb15
        11
    kerb15  
       5 天前
    0
    behindeye
        12
    behindeye  
       5 天前
    0
    lolita89201
        13
    lolita89201  
       5 天前   ❤️ 1
    我 10 多年的安卓开发经验,github 上 clone 下来的项目, 不改任何配置直接能编译的概率是 0 。
    zhufengning
        14
    zhufengning  
       5 天前
    曾经下载到一个项目,用的 AGP 只有 Canary 版的 AS 才支持。而且当时官网上显示的最新 Canary 版本比要求的低一个版本,估计是新版有 bug 没放上来,最后在存档里找到的。
    leia
        15
    leia  
       5 天前
    你会发现依赖的东西缺一不可
    meteor957
        16
    meteor957  
       4 天前 via Android
    0 ,Android 的生态可以说是稀碎
    ShineyWang
        17
    ShineyWang  
       4 天前 via Android
    我准备弄一个安卓通知,下载了 google 的示例
    问题一重套一重
    最后只能不搞了
    ysy950803
        18
    ysy950803  
       4 天前   ❤️ 2
    笑死,我觉得你这个问题在讽刺 Android Studio 编译的恶心(特别是那不明所以的错误提示)。确实,我也认为一次成功率为 0 ,除非是近几年的新项目。一般 Github 上直接 clone 下来的都还是能成功,包浆项目就不一定了。
    EgbertW
        19
    EgbertW  
       4 天前
    0 ,有些老项目可能还得找旧版本的 AS 才跑得动
    dany663399
        20
    dany663399  
       4 天前
    国内还有网络问题 直接笑嘻了
    headwindx
        21
    headwindx  
       3 天前 via iPhone
    几乎为 0
    starsight
        22
    starsight  
       3 天前
    哈哈 这个问题之前就被 iOS 同事吐槽,他们说 Xcode 的几年前的项目都还能跑
    JW1023
        23
    JW1023  
       3 天前
    太难了
    lxiian
        24
    lxiian  
       3 天前
    一次成功约等于 0
    cslive
        25
    cslive  
       3 天前 via Android
    看网络
    lisongeee
        26
    lisongeee  
       2 天前
    好像写 android 的都有一个误解,就是必须要使用 android studio 打开后才能编译

    但是 android studio 《经常》会存在能使用 gradle 编译通过但是 android studio 代码报红提示的错误

    如果只是想得到 apk ,实际上在你配置并下载好对应 jdk 和 android-sdk 目录后

    直接在项目根目录使用 ./gradlew app:assembleRelease 命令就可以直接编译产物,而且时间会缩短很多
    zhwguest
        27
    zhwguest  
    OP
       2 天前
    @lisongeee 标题里面已经明确的说明了是用 Android Studio 打开,因为不仅仅要编译,更可能需要二次开发。
    Danmen123
        28
    Danmen123  
       2 天前
    别说了,我自己上个月还能正常运行的项目,这个月更新了 android studio 之后,打开就无法正常运行了,整了一天多还没弄好,我 QTMGB
    zcljy
        29
    zcljy  
       2 天前
    确实 0 lz 莫异想天开
    iflint
        30
    iflint  
       2 天前
    @zhufengning 之前遇到过,是切换成英语就有了,中文落后一些。小谷子阿三的日常操作
    zjie
        31
    zjie  
       2 天前
    为啥都是./gradlew app:assembleRelease ,这个可能会缺少签名,./gradlew app:assembleDebug 成功概率更大。
    sarlanori
        32
    sarlanori  
       2 天前
    自己的项目过段时间都编译不过,更不要说其他人的代码了😔
    Lockroach
        33
    Lockroach  
       2 天前
    几乎为 0 ,甚至自己的项目清理一下升级一下依赖就跑不通了
    debuggeeker
        34
    debuggeeker  
       2 天前
    如果代码没问题,我 100%
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1026 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 19:23 · PVG 03:23 · LAX 11:23 · JFK 14:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.