【问题标题】:Android Native C++ ErrorsAndroid 本机 C++ 错误
【发布时间】:2016-03-21 22:00:06
【问题描述】:

我正在使用 Almalence:打开相机存储库

Checkout the Screenshot

给出编译错误:

错误:(24, 34) ImageConversionUtils.h: 没有这样的文件或目录 编译终止。

make.exe: *** [C:\Users\sagar_000\Documents\OpenCamera-master\app\build\intermediates\ndk\debug\obj/local/arm64-v8a/objs/OpenCamera-master/C_\ Users\sagar_000\Documents\OpenCamera-master\app\src\main\jni\bestshot\bestshot.o] 错误 1

错误:任务 ':app:compileDebugNdk' 执行失败。

com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Users\sagar_000\AppData\Local\Android\sdk\ndk-bundle\ndk- build.cmd'' 以非零退出值 2 结束

【问题讨论】:

  • 您能否从运行make 进程的控制台显示错误?
  • @StephenG - 你的意思是来自 Gradle 控制台吗?
  • 注意:某些输入文件使用或覆盖已弃用的 API。注意:使用 -Xlint:deprecation 重新编译以获取详细信息。注意:C:\Users\sagar_000\Documents\OpenCamera-master\app\src\main\java\com\almalence\plugins\processing\hdr\HDRProcessingPlugin.java 使用未经检查或不安全的操作。注意:使用 -Xlint:unchecked 重新编译以获取详细信息。 @StephenG
  • 我从开发人员那里得到了一些步骤,但我不太清楚如何使用 Android Studio 实现 1. 在 android-source/packages/apps 目录中创建 OpenCamera 文件夹 2. 放置附加的 Android。 mk 进入此文件夹 3. 在 Eclipse 中构建 OpenCamera 并将结果 APK 放到同一目录(将 APK 重命名为 OpenCamera.apk) 4. 从此 OpenCamera.apk 中提取 lib 文件夹(使用任何 zip 存档工具)到同一目录
  • 5.此时您的 android-source/packages/apps/OpenCamera 目录中应该有 3 个项目: OpenCamera.apk Android.mk lib 6. 现在您需要添加 OpenCamera 来构建。要实现它,请将 OpenCamera 添加到 android-source/build/target/product/core.mk 中的 PRODUCT_PACKAGES 变量分配 7. 构建 Android

标签: android c++ android-ndk


【解决方案1】:

您只需将这些 ndk 属性添加到您的 build.gradle 中。必须与 defaultConfig 处于同一级别

sourceSets.main {
    jni.srcDirs = [] // This prevents the auto generation of Android.mk
    jniLibs.srcDir 'src/main/libs' // This is not necessary unless you have precompiled libraries in your project.
}

task buildNative(type: Exec, description: 'Compile JNI source via NDK') {
    def ndkDir = android.ndkDirectory
    commandLine "$ndkDir/ndk-build.cmd",
            '-C', file('src/main/jni').absolutePath, // Change src/main/jni the relative path to your jni source
            '-j', Runtime.runtime.availableProcessors(),
            'all',
            'NDK_DEBUG=1'
}

task cleanNative(type: Exec, description: 'Clean JNI object files') {
    def ndkDir = android.ndkDirectory
    commandLine "$ndkDir/ndk-build.cmd",
            '-C', file('src/main/jni').absolutePath, // Change src/main/jni the relative path to your jni source
            'clean'
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-05
    • 2015-12-23
    • 2014-05-20
    • 1970-01-01
    • 1970-01-01
    • 2010-11-27
    • 1970-01-01
    • 2013-06-11
    相关资源
    最近更新 更多