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

2024-05-28 05:36

本文主要是介绍安装 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

android {namespace 'com.ddd.demo'
}

应用Debug

当前配置

//这个看着没用,kotlin才需要 添加android-
ext {compileSdkVersion = 'android-VanillaIceCream'
}android {namespace 'com.ddd.demo'compileSdkPreview 'VanillaIceCream'//compileSdkVersion 35buildToolsVersion '35.0.0 rc3'defaultConfig {applicationId "com.ddd.demo"minSdkVersion 30targetSdkVersion 35versionName getVersionNamePrefix()}
}

修改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.

其他

//更改 gradle 配置:
//AGP > 7.0.0:
//groovy:
android {compileSdkPreview "VanillaIceCream"...defaultConfig {targetSdkPreview "VanillaIceCream"}
}//kotlin:
android {compileSdkPreview = "VanillaIceCream"...defaultConfig {targetSdkPreview = "VanillaIceCream"}
}//AGP 4.2.0 或更低:
//groovy:
android {compileSdkVersion "android-VanillaIceCream"...defaultConfig {targetSdkVersion "android-VanillaIceCream"}
}//kotlin:
android {compileSdkPreview = "android-VanillaIceCream"...defaultConfig {targetSdkPreview = "android-VanillaIceCream"}
}

 

这篇关于安装 Android Studio 2024.1.1.6(Koala SDK35)和过程问题解决的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1009674

相关文章

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

Java进程异常故障定位及排查过程

《Java进程异常故障定位及排查过程》:本文主要介绍Java进程异常故障定位及排查过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、故障发现与初步判断1. 监控系统告警2. 日志初步分析二、核心排查工具与步骤1. 进程状态检查2. CPU 飙升问题3. 内存

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

SpringBoot整合liteflow的详细过程

《SpringBoot整合liteflow的详细过程》:本文主要介绍SpringBoot整合liteflow的详细过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋...  liteflow 是什么? 能做什么?总之一句话:能帮你规范写代码逻辑 ,编排并解耦业务逻辑,代码

Redis出现中文乱码的问题及解决

《Redis出现中文乱码的问题及解决》:本文主要介绍Redis出现中文乱码的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 问题的产生2China编程. 问题的解决redihttp://www.chinasem.cns数据进制问题的解决中文乱码问题解决总结

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

MySQL中的InnoDB单表访问过程

《MySQL中的InnoDB单表访问过程》:本文主要介绍MySQL中的InnoDB单表访问过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、访问类型【1】const【2】ref【3】ref_or_null【4】range【5】index【6】

浏览器插件cursor实现自动注册、续杯的详细过程

《浏览器插件cursor实现自动注册、续杯的详细过程》Cursor简易注册助手脚本通过自动化邮箱填写和验证码获取流程,大大简化了Cursor的注册过程,它不仅提高了注册效率,还通过友好的用户界面和详细... 目录前言功能概述使用方法安装脚本使用流程邮箱输入页面验证码页面实战演示技术实现核心功能实现1. 随机