解决克隆 Kotlin 应用程序在 Android Studio 中缺少运行配置的问题

Posted

技术标签:

【中文标题】解决克隆 Kotlin 应用程序在 Android Studio 中缺少运行配置的问题【英文标题】:Solving missing run configuration in Android Studio for cloned Kotlin app 【发布时间】:2019-10-29 11:28:30 【问题描述】:

我有 android Studio 3.4 并克隆了一个基于 Kotlin 的应用程序 (Voice) 的 github 存储库。这个问题的主题可能也会在其他存储库中找到等价物。

从 Android Studio 完成的克隆会识别存储库中的 Gradle 构建信息,当出现提示时,我采用了与将项目加载到 IDE 相关联的默认设置。

您已签出一个 Android Studio 项目文件: C:\Users\Owner\AndroidStudioProjects\VoiceC\build.gradle.kts 要打开它吗?

组模块: using qualified names Use default gradle wrapper (recommended)

Gradle 主页: %AndroidStudioLocation%/gradle/gradle-3.2

项目格式: .idea

我收到BUILD SUCCESSFUL

通常,在构建完成后,在我克隆的其他项目中,我可以点击Run Selected Configuration,然后使用 adb 将 APK 加载到我的设备中。但是在这种情况下,在构建之后,没有Run/Debug Configurations

Android 应用模板

我已经使用Run > Run... > Edit Configurations 创建了一个运行配置,然后使用了Android App 模板,但是当我尝试运行它时,我在 adb Select Deployment Target 窗口中看到了这个:

(设备支持,但APK只支持armeabi-v7a、x86_64、arm64-v8a、x86)

由于我能够将其他 APK 加载到设备上,我认为设备上的基本配置必须已经正确,似乎只是 Android Studio 中的这个项目有问题。

但是使用这个answer,它让我关闭了设备上的USB调试,然后再次打开,我能够让设备正常显示:

摩托罗拉 Moto G (5) Plus(Android 8.1.0,API 27)

另一条线索将我引向 Build Variant,但菜单项 Build > Select Build Variant 未启用,因此我无法在那里执行任何操作。

Kotlin 模板

我也尝试配置 KotlinKotlin script 运行配置,但不清楚如何配置它们以使它们执行过去的经验中“正常工作”的操作(即运行配置不知何故已在项目中定义,无需我进行任何配置)。

问题:

如何使用 Android Studio 运行配置在我的设备上运行此应用程序?
IDE 详细信息:

Android Studio 3.4 构建 #AI-183.5429.30.34.5452501,构建于 2019 年 4 月 9 日 JRE:1.8.0_152-release-1343-b01 amd64 JVM:JetBrains s.r.o 的 OpenJDK 64 位服务器 VM 视窗 7 6.1

编辑 - 附加信息:

由于构建成功完成,我可以从命令行运行,当前目录设置为 *.apk 文件的位置:

C:\Users\Owner\AppData\Local\\Android\sdk\platform-tools\adb.exe install app-opensource-debug.apk

这种方法的问题是必须手动从设备中删除应用程序,然后才能工作。这意味着应用程序的任何配置都将丢失。它也需要更长的时间,因为它没有利用 IDE 运行构建步骤子集的能力(对于在它们之间进行微小更改的重复构建 - 无论该功能被称为什么)。由于这些原因,获得有效的运行配置会更方便。

【问题讨论】:

【参考方案1】:

带有 app:assembleDebug 的 Android 应用模板

在Android Studio项目中,选择Run > Edit Configurations...

点击+ 并选择Android App

这将为您提供一个名为 Unnamed 的配置。您可以使用更具描述性的名称来改写该名称,例如 app

在对话框底部附近有一个Before launch... 部分。那里的默认条目是Gradle-aware Make。双击该项目。这将带来Select Gradle Task

输入app:assembleDebug

现在您应该能够Run > Run 'app' 选择您的部署目标,项目应该构建,应用程序应该在您选择的设备上运行。

【讨论】:

以上是关于解决克隆 Kotlin 应用程序在 Android Studio 中缺少运行配置的问题的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Kotlin 中克隆对象?

未解决的参考匕首 2 + kotlin + android gradle

Android Studio:无法获取未知属性“kotlin_version”

未解决的参考:viewModelScope - Kotlin Android

Android Kotlin:错误未解决参考:DaggerAppComponent

kotlin-android-extensions插件被废弃--解决办法