android - 运行命令 "ionic cordova run android"时找不到 apk 体系结构

标签 android cordova ionic-framework

当我运行命令时

ionic cordova run android

构建成功,但应用程序无法在我的 Android 设备上运行。

错误日志如下:

BUILD SUCCESSFUL in 4m 7s
47 actionable tasks: 45 executed, 2 up-to-date
Built the following apk(s):

ANDROID_HOME=C:\Users\AppData\Local\Android\sdk
JAVA_HOME=C:\Program Files\java\jdk1.8.0_121
No target specified, deploying to device 'UGM0217321003049'.
Skipping build...
Built the following apk(s):

Error: Could not find apk architecture: arm build-type: debug
[ERROR] An error occurred while running subprocess cordova.

    cordova run android exited with exit code 1.

    Re-running this command with the --verbose flag may provide more information.

platforms/android/build/outputs/apk目录下只有一个debug文件夹,里面有两个文件android-debug.apk输出.json

 apk
  |---debug
        |---android-debug.apk
        |---output.json

我怀疑apk目录下应该有一些arm架构文件,但我不知道如何生成它。

你能帮我解决这个运行 android 的错误吗?

最佳答案

为了避免在评论中进行过多的讨论,让我将解决方法总结如下:

  1. 首先尝试运行以下命令来构建 apk。

    cordova build android
    

    ionic cordova build android
    
  2. platforms\android 中查找 apk 并手动安装它。

How to automatically build the android-debug.apk in app folder?

.json 文件是自动生成的,通常你不需要去碰它。

默认情况下,apk 路径在 app/build/outputs/apk 下,您可以将其复制到您喜欢的自定义位置,对于您的情况,也许是 app/ 根目录。您可以通过多种方式做到这一点,例如庆典脚本。下面的 gradle fragment 是我如何完成这个任务的,只需将下面的代码复制到你的 app/build.gradle 的末尾:

def capitalizeFirstLetter(s) { s[0].toUpperCase() + s[1..-1] }

def publish = project.tasks.create("copyApks")
publish.description "Copies apks to custom directory"

android.applicationVariants.all { variant ->

    def customPath

    variant.outputs.all {

        customPath = "$projectDir"

        def capitalizedVariantName = capitalizeFirstLetter(variant.name)
        def task = project.tasks.create("copy${capitalizedVariantName}Apk", Copy)

        task.from(outputFile)
        task.into(customPath)

        task.dependsOn variant.assemble
        publish.dependsOn task
    }
}

在命令行中,分别在 macOS 或 Windows 上运行 ./gradlew copyApksgradlew copyApks

然后你会发现你的apk在app\目录下。

关于android - 运行命令 "ionic cordova run android"时找不到 apk 体系结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54642948/

相关文章:

android - 将gradle升级到3.5.2后无法构建项目

javascript - 如何在 Phonegap/Cordova 应用程序中禁用键盘?

javascript - Cordova 在应用程序浏览器中的方向

html - 将 Ionic 页面放到网站上

javascript - 模式中的谷歌地图仅显示第一张 map

Android RecyclerView CardView StaggedGridLayoutManager : Independent column scroll

Android应用程序在启动后立即被杀死

java - 十六进制到有符号 32 位转换

android - 无法使用 Visual Studio 在 Android 上构建(运行)Cordova 应用程序

javascript - Ionic/AngularJs Controller 初始化 ng-init 不起作用