将一个 现有 iOS Xcode 项目, 快速改造为 可以用 Android Studio 运行和调试 的项目

环境

  1. 本文不需要 任何关于 KMP 代码相关 的修改

  2. Android Studio Narwhal 及其以上 + macOS

  3. 安装插件
    plugins.jetbrains.com/plugin/inde...

  4. 重启 Android Studio.

  5. 配置 IDE

    开启 Settings | Advanced Settings 中的
    Enable experimental Multiplatform IDE features,

    可以在 Swift 代码上 打断点 等.

  6. 关闭 Android Studio.

项目目录路径

  • 项目根目录: MyApplication
  • iOS Module: MyApplication/iosApp
  • iOS Project: MyApplication/iosApp/iosApp.xcodeproj

建议 完全关闭 Android Studio 再修改.

不然感觉 关闭 Android Studio 的时候,

内存缓存 会覆盖 MyApplication/.idea.

必需文件

MyApplication/.idea/xcode.xml

xml 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="XcodeMetaData"
    PROJECT_DIR="$PROJECT_DIR$/iosApp"
    PROJECT_FILE="$PROJECT_DIR$/iosApp/iosApp.xcodeproj/project.xcworkspace" />
</project>

可选文件 (用于 控制 AS 中的 目录名 和 目录结构)

MyApplication/.idea/.name

这个文件 里头的内容, 会覆盖 AS 展示的名字, 酌情删除

MyApplication/.idea/iosApp.iml

这个文件的文件名 可以改, 不过 不建议 乱改.
Android Studio 目录结构 可能会 变得很奇怪.

xml 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<module classpath="AppCode" type="CIDR_MODULE" version="4" />

MyApplication/.idea/modules.xml

注意与 与上面 .iml 文件名相同.

xml 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="ProjectModuleManager">
    <modules>
      <module fileurl="file://$PROJECT_DIR$/.idea/iosApp.iml"
              filepath="$PROJECT_DIR$/.idea/iosApp.iml" />
    </modules>
  </component>
</project>
相关推荐
我命由我1234513 小时前
Android 项目路径包含非 ASCII 字符问题:Your project path contains non-ASCII characters
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
Sammyyyyy18 小时前
PHP 8.6 新特性预览,更简洁的语法与更严谨的类型控制
android·php·android studio
超级任性19 小时前
Android Studio 各种版本及官方下载地址
android·ide·android studio·android-studio
trojan__19 小时前
Android studio报错:Unsupported Gradle JVM
android·ide·android studio
Jennifer33K2 天前
AndroidStudio报错Error:Module not specified!
android studio
Mr -老鬼2 天前
Android studio 最新Gradle 8.13版本“坑点”解析与避坑指南
android·ide·android studio
stevenzqzq3 天前
trace和Get thread dump的区别
java·android studio·断点
stevenzqzq3 天前
Android Studio 断点调试异常相关选项总结
android·ide·android studio
stevenzqzq4 天前
Android Studio 断点调试核心技巧总结
android·ide·android studio
stevenzqzq4 天前
androidstudio断点调试技巧1
android·android studio·断点