• skulblaka@kbin.social
    link
    fedilink
    arrow-up
    71
    ·
    9 months ago

    App name is very likely referenced inside every class file. Changing the name triggers a change for every file in the project. Depending on the version control software it may consider that grounds to re-download the entire file on update.

    The actual change may have only consisted of 180mb of changes but it affects 34.1GB of files.

    • glorious_albus@lemmy.world
      link
      fedilink
      English
      arrow-up
      29
      ·
      9 months ago

      I’m not a mobile app developer so I’m a bit confused. Why would every class need to refer the app name? Isn’t it enough of the pom file (or whatever the equivalent is that has to package the app) knows it?

      • Johanno@feddit.de
        link
        fedilink
        arrow-up
        30
        ·
        9 months ago

        Android apps are written in Kotlin or Java and this means every file will be per convention under com.company.appname(or similar)

        And every file will have a line

        package com.company.appname

        And references to other files in the import.

        This means every source code file is changed and therfore recompiled and the update will include the whole app.

        Now 35GB means there is a lot of image and/or Audio resources also included. Why this is updated as well I don’t know, but their path also changed. Maybe that’s enough for the Version control to see it as new.

        • SpaceNoodle@lemmy.world
          link
          fedilink
          arrow-up
          15
          ·
          9 months ago

          And that’s why you use a separate codename for actual software development. Changing the visible app name should only affect a few resource files.

        • drislands@lemmy.world
          link
          fedilink
          arrow-up
          6
          ·
          9 months ago

          In those cases, I would leave the internal naming alone. It’s not uncommon for software to have a different name internally than externally.

      • sbv@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        14
        ·
        9 months ago

        Assuming a language like Java: It’s possible that the app name is included in the name of packages, so referencing packages other than the current one would need the app name. See the constant pool.

        But that falls into the “bad programmer” someone else mentioned. Developers should have internal code names that are independent of marketing stuff like the name of the app.