• 安装 Android Studio 2024.1.1.6(Koala SDK35)和过程问题解决


    记录更新Android Studio版本及适配Android V应用配置的一些过程问题。

    • 安装包:android-studio-2024.1.1.6-windows.exe
    • 原版本:Android Studio23.2.1.23

    Koala 安装过程

    Uninstall old version 不会删除原本配置(左下角提示)

    Uninstall old version
    Uninstall old version
    Android Studio Setup
    Android Studio Setup

    Choose Component
    Choose Component

    Configuration Settings 可自选路径 E:\SOFTWARE\Android\Android Studio 24.1.1.6

    Configuration Settings
    Configuration Settings

    Choose Start Menu Folder 配置桌面开始图标

    Choose Start Menu Folder
    Choose Start Menu Folder

     安装完成 ,提示马上启动

    Install Complete
    Install Complete

    【问题解决】启动报错 Operation not supported: bind 

    Start fail

    Internal error. Please refer to https://issuetracker.google.com/issues/new?component=192708

    java.net.SocketException: Operation not supported: bind
        at java.base/sun.nio.ch.UnixDomainSockets.bind0(Native Method)
        at java.base/sun.nio.ch.UnixDomainSockets.bind(UnixDomainSockets.java:129)
        at java.base/sun.nio.ch.ServerSocketChannelImpl.unixBind(ServerSocketChannelImpl.java:319)
        at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:292)
        at java.base/java.nio.channels.ServerSocketChannel.bind(ServerSocketChannel.java:224)
        at com.intellij.platform.ide.bootstrap.DirectoryLock.tryListen(DirectoryLock.java:281)
        at com.intellij.platform.ide.bootstrap.DirectoryLock.lockOrActivate(DirectoryLock.java:147)
        at com.intellij.platform.ide.bootstrap.StartupUtil$lockSystemDirs$result$1.invokeSuspend(main.kt:528)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
        at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115)
        at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:103)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)

    -----
    Your JRE: 17.0.10+0--11609105 amd64 (JetBrains s.r.o.)
    E:\SOFTWARE\Android\Android Studio 24.1.1.6\jbr

    解决方案:到bin文件下执行studio.bat打开(或者双击打开studio.bat--For Windows)

    如路径:E:\SOFTWARE\Android\Android Studio 24.1.1.6\bin\studio.bat

    IDE初始化和使用

    如果没有配置SDK,打开软件就会提示

    然后打开项目的时候会提示选用Android Studio还是Project的SDK。

    To keep results consistent between IDE and command line builds, only one path can be used. Do you want to: 

    [1] Use Android Studio's default SDK (modifies the project's local.properties file.) 

    [2] Use the project's SDK (modifies Android Studio's default.)  Note that switching SDKs could cause compile errors if the selected SDK doesn't have the necessary Android platforms or build tools.

    【配置】SDK和Gradle

    当前Android Studio无法下载高版本的SDK和Gradle,可以自行下载好然后放到相应工作路径。

    Android V的preview SDK和build tool,分别拷贝到SDK\build-tools和Sdk\platforms文件目录即可。那么配置项目gradle的时候需要名称对应。

    【问题解决】Namespace not specified.

    Build Output

    Namespace not specified. Specify a namespace in the module's build file: E:\code\Demo_hotfix\build.gradle. See https://d.android.com/r/tools/upgrade-assistant/set-namespace for information about setting the namespace.

    If you've specified the package attribute in the source AndroidManifest.xml, you can use the AGP Upgrade Assistant to migrate to the namespace value in the build file. Refer to https://d.android.com/r/tools/upgrade-assistant/agp-upgrade-assistant for general information about using the AGP Upgrade Assistant.

    A problem occurred configuring root project 'Demo'.
    > Could not create an instance of type com.android.build.api.variant.impl.ApplicationVariantImpl.
       > Namespace not specified. Specify a namespace in the module's build file: E:\code\Demo_hotfix\build.gradle. See https://d.android.com/r/tools/upgrade-assistant/set-namespace for information about setting the namespace.

    * Try:
    > Run with --stacktrace option to get the stack trace.
    > Run with --info or --debug option to get more log output.
    > Run with --scan to get full insights.
    > Get more help at https://help.gradle.org.
    Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.
    You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
    For more on this, please refer to https://docs.gradle.org/8.7/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.
    BUILD FAILED in 7s

    分析:在Android U上编译还没有命名空间的要求。

    解决方案:在app的build.gradle添加namespace

    1. android {
    2. namespace 'com.ddd.demo'
    3. }

    应用Debug

    当前配置

    1. //这个看着没用,kotlin才需要 添加android-
    2. ext {
    3. compileSdkVersion = 'android-VanillaIceCream'
    4. }
    5. android {
    6. namespace 'com.ddd.demo'
    7. compileSdkPreview 'VanillaIceCream'
    8. //compileSdkVersion 35
    9. buildToolsVersion '35.0.0 rc3'
    10. defaultConfig {
    11. applicationId "com.ddd.demo"
    12. minSdkVersion 30
    13. targetSdkVersion 35
    14. versionName getVersionNamePrefix()
    15. }
    16. }

    修改namespace、sdk版本等配置后编译报错,其实可以通过描述Recommendation找到解决方案。

    1、[warn]compileSdkPreview

    第一条只是警告,还不是报错。

    compileSdkPreview = "VanillaIceCream" has not been tested with this version of the Android Gradle plugin.

    This Android Gradle plugin (8.5.0-alpha08) was tested up to compileSdk = 34.

    If you are already using the latest preview version of the Android Gradle plugin,
    you may need to wait until a newer version with support for compileSdkPreview = "VanillaIceCream" is available.

    For more information refer to the compatibility table:
    https://d.android.com/r/tools/api-level-support

    To suppress this warning, add/update
        android.suppressUnsupportedCompileSdk=VanillaIceCream
    to this project's gradle.properties.

    2、[error]:processDebugMainManifest ※

    > Task :processDebugMainManifest FAILED
    Incorrect package="com.ddd.phone" found in source AndroidManifest.xml: E:\code\Demo_V_hotfix\AndroidManifest.xml.
    Setting the namespace via the package attribute in the source AndroidManifest.xml is no longer supported.
    Recommendation: remove package="com.ddd.phone" from the source AndroidManifest.xml: E:\code\Demo_V_hotfix\AndroidManifest.xml.

    Execution failed for task ':processDebugMainManifest'.
    > Incorrect package="com.ddd.phone" found in source AndroidManifest.xml: E:\code\Demo_V_hotfix\AndroidManifest.xml.
      Setting the namespace via the package attribute in the source AndroidManifest.xml is no longer supported.
      Recommendation: remove package="com.ddd.phone" from the source AndroidManifest.xml: E:\code\Demo_V_hotfix\AndroidManifest.xml.

    * Try:
    > Run with --stacktrace option to get the stack trace.
    > Run with --info or --debug option to get more log output.
    > Run with --scan to get full insights.
    > Get more help at https://help.gradle.org.
    Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.
    You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
    For more on this, please refer to https://docs.gradle.org/8.7/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.
    BUILD FAILED in 717ms
    44 actionable tasks: 1 executed, 43 up-to-date

    解决:将build.gradle的命名空间跟AndroidManifest.xml配置的packages内容一致。

    3、[error]Incorrect package="xxxx" found in AndroidManifest.xml

    是因为定义了不同的命名空间和进程包名等,虽然说建议移除AndroidManifest中的packages配置,但是根由不是这个,解决了问题2就能解决此问题。

    Incorrect package="com.ddd.phone" found in source AndroidManifest.xml: E:\code\Demo_V_hotfix\AndroidManifest.xml.
    Setting the namespace via the package attribute in the source AndroidManifest.xml is no longer supported.
    Recommendation: remove package="com.ddd.phone" from the source AndroidManifest.xml: E:\code\Demo_V_hotfix\AndroidManifest.xml.

    其他

    官方说明 :设置 Android 15 SDK  |  Android Developers

    1. //更改 gradle 配置:
    2. //AGP > 7.0.0:
    3. //groovy:
    4. android {
    5. compileSdkPreview "VanillaIceCream"
    6. ...
    7. defaultConfig {
    8. targetSdkPreview "VanillaIceCream"
    9. }
    10. }
    11. //kotlin:
    12. android {
    13. compileSdkPreview = "VanillaIceCream"
    14. ...
    15. defaultConfig {
    16. targetSdkPreview = "VanillaIceCream"
    17. }
    18. }
    19. //AGP 4.2.0 或更低:
    20. //groovy:
    21. android {
    22. compileSdkVersion "android-VanillaIceCream"
    23. ...
    24. defaultConfig {
    25. targetSdkVersion "android-VanillaIceCream"
    26. }
    27. }
    28. //kotlin:
    29. android {
    30. compileSdkPreview = "android-VanillaIceCream"
    31. ...
    32. defaultConfig {
    33. targetSdkPreview = "android-VanillaIceCream"
    34. }
    35. }

  • 相关阅读:
    nginx安装详细步骤和使用说明
    Chrome安装zotero connector 插件
    文字控制在任意行数,超出的部分以省略号显示
    【会议分享】2022年第四届数学与人工智能国际会议(CFMAI 2022)
    治疗 | 如何识别和处理消极想法
    猫头虎博主第5️⃣期赠书活动:《Java官方编程手册(第12版·Java 17)套装上下册》
    设计模式:观察者模式
    【网络管理——操作系统与安全】
    08/13摸鱼周
    国内交互智能平板品类首创者希沃联手倍市得,进一步蓄力品牌发展势能
  • 原文地址:https://blog.csdn.net/qq_38666896/article/details/139237022