【问题标题】:*** Android NDK: Aborting. . Stop*** Android NDK:正在中止。 .停止
【发布时间】:2017-02-17 04:50:29
【问题描述】:

我想使用 android ndk 编译我的代码。我正在使用Windows机器。 我的android.mk如下。

LOCAL_PATH := $(call my-dir)
SHELL := PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin /bin/bash

include $(CLEAR_VARS)

LOCAL_MODULE    := streamer_native_manager
LOCAL_SRC_FILES := streamer-native-manager.c gstrtpchannels.c skyrtpL16pay.c skyrtpL16depay.c
LOCAL_C_INCLUDES := gstrtpchannels.h skyrtpL16pay.h skyrtpL16depay.h
LOCAL_SHARED_LIBRARIES := gstreamer_android
LOCAL_LDLIBS := -llog -landroid
LOCAL_ARM_MODE := arm
include $(BUILD_SHARED_LIBRARY)

build.gradle,我做了如下配置,

sourceSets {
    main {
        jni.srcDirs = []
        jniLibs.srcDir 'src/main/libs'
        java.srcDirs += 'src/main/jni/src'
        assets.srcDirs += 'src/main/jni/assets'
    }
}

为了在同一个文件中编译,

task nativeBuild(type: Exec, description: 'Compile JNI source via NDK') {
            def ndkDir = project.plugins.findPlugin('com.android.application').sdkHandler.ndkFolder
            commandLine "$ndkDir\\ndk-build.cmd",
                    '-C', file('src\\main\\jni').absolutePath,
                    '-j', Runtime.runtime.availableProcessors(),
                    'all'
        }

        task cleanNative(type: Exec, description: 'Clean JNI object files') {
            def ndkDir = project.plugins.findPlugin('com.android.application').sdkHandler.ndkFolder
            commandLine "$ndkDir\\ndk-build.cmd",
                    '-C', file('src\\main\\jni').absolutePath,
                    'clean'
        }

        clean.dependsOn 'cleanNative'

        tasks.withType(JavaCompile) {
            compileTask -> compileTask.dependsOn nativeBuild
        }

但是当我做清洁项目时,我收到以下错误,

`*** Android NDK:正在中止。 .停止。 错误:任务 ':app:cleanNative' 执行失败。

Process 'command 'AndroidSDK\ndk-bundle\ndk-build.cmd'' 以非零退出值 2 结束`

我用的是windows机器,有谁能帮帮我吗?

【问题讨论】:

标签: android android-ndk


【解决方案1】:

这是一个新问题吗?这听起来像开发环境没有正确设置,因为您只是在清理代码。如果在构建时发生此错误,我会说查看您的代码。但是既然是在清理的时候发生的,那它几乎必须是开发环境。

你最近有没有摸过路?

您应该确保 Cygwin 在路径上。

【讨论】:

  • 不,我刚刚从 android 下载管理器安装了 ndk,并尝试清理项目,我只更改了,commandLine "$ndkDir\\ndk-build.cmd", '-C', file('src\\main\\jni').absolutePath, 'clean' 斜线以使其与 windows 匹配,但如果我将其恢复为 / 仍然它不起作用。
  • 我需要安装 Cygwin 终端吗?
  • 我不确定 Android Studio 的情况如何,因为我使用 Eclipse 进行开发,但是是的,我确实需要 Cygwin 来编译 NDK 代码
  • 好的,我试试安装cygwin试试看。
  • Cygwin 已开启,但在哪里提及路径?
猜你喜欢
  • 1970-01-01
  • 2014-04-26
  • 1970-01-01
  • 1970-01-01
  • 2017-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-07
相关资源
最近更新 更多