解决了Android Studio中克隆的Kotlin应用缺少的运行配置

时间:2019-06-14 20:24:19

标签: android-studio kotlin build adb

我有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)

毕业回家: %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调试功能,然后又重新打开,我能够使设备正常显示:

  

Motorola Moto G(5)Plus(Android 8.1.0,API 27)

另一个提示使我想到了 Build Variant ,但是菜单项Build> Select Build Variant未启用,因此我无法在其中执行任何操作。

科特琳模板

我也曾尝试配置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   Windows 7 6.1

编辑-附加信息:

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

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

此方法的问题在于,必须先从设备中手动删除应用程序,然后才能起作用。这意味着该应用程序的所有配置都将丢失。由于它没有利用IDE的功能来运行构建步骤的子集(对于重复的构建,在它们之间进行很小的更改-不管该功能如何调用),因此它也花费了更长的时间。由于这些原因,获得工作运行配置会更加方便。

1 个答案:

答案 0 :(得分:0)

带有app:assembleDebug的Android应用模板

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

点击+,然后选择Android App

这将为您提供名为未命名的配置。您可以使用更具描述性的名称来键入该名称,例如 app

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

键入app:assembleDebug

Android Studio GUI image of building a run configuration

现在,您应该可以Run> Run 'app'选择部署目标,并且应该构建项目,并且该应用程序应该在所选设备上运行。