当我运行命令时
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 的错误吗?
最佳答案
为了避免在评论中进行过多的讨论,让我将解决方法总结如下:
首先尝试运行以下命令来构建 apk。
cordova build android
或
ionic cordova build android
- 从
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 copyApks
或 gradlew copyApks
。
然后你会发现你的apk在app\
目录下。
关于android - 运行命令 "ionic cordova run android"时找不到 apk 体系结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54642948/