Android Studio无法编译,但gradle cli可以编译

库迪

我在Mac上使用Android Studio 0.5.7遇到奇怪的错误。我无法使用gradle和ndk-build编译我的项目。它失败,并显示以下错误:

FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':SKG:ndkBuild'.
A problem occurred starting process 'command 'ndk-build''

但是,当我从CLI运行./gradlew compileArmDebugJava时,项目已成功编译

Android Studio中的错误:

    Executing tasks: [:SKG:compileArmDebugJava]

Parallel execution with configuration on demand is an incubating feature.
Relying on packaging to define the extension of the main artifact has been deprecated and is scheduled to be removed in Gradle 2.0
:SKG:preBuild
:SKG:preArmDebugBuild
:SKG:checkArmDebugManifest
:SKG:preArmReleaseBuild
:SKG:preArmv7DebugBuild
:SKG:preArmv7ReleaseBuild
:SKG:preFatDebugBuild
:SKG:preFatReleaseBuild
:SKG:preMipsDebugBuild
:SKG:preMipsReleaseBuild
:SKG:preX86DebugBuild
:SKG:preX86ReleaseBuild
:SKG:prepareComAndroidSupportAppcompatV71910Library UP-TO-DATE
:SKG:prepareArmDebugDependencies
:SKG:compileArmDebugAidl UP-TO-DATE
:SKG:compileArmDebugRenderscript UP-TO-DATE
:SKG:generateArmDebugBuildConfig UP-TO-DATE
:SKG:mergeArmDebugAssets UP-TO-DATE
:SKG:generateArmDebugResValues UP-TO-DATE
:SKG:generateArmDebugResources UP-TO-DATE
:SKG:mergeArmDebugResources UP-TO-DATE
:SKG:processArmDebugManifest UP-TO-DATE
:SKG:processArmDebugResources UP-TO-DATE
:SKG:generateArmDebugSources UP-TO-DATE
:SKG:ndkBuild FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':SKG:ndkBuild'.
> A problem occurred starting process 'command 'ndk-build''

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 16.103 secs

从cli成功构建

./gradlew compileArmDebugJava
Parallel execution is an incubating feature.
Relying on packaging to define the extension of the main artifact has been deprecated and is scheduled to be removed in Gradle 2.0
:SKG:preBuild
:SKG:preArmDebugBuild
:SKG:checkArmDebugManifest
:SKG:preArmReleaseBuild
:SKG:preArmv7DebugBuild
:SKG:preArmv7ReleaseBuild
:SKG:preFatDebugBuild
:SKG:preFatReleaseBuild
:SKG:preMipsDebugBuild
:SKG:preMipsReleaseBuild
:SKG:preX86DebugBuild
:SKG:preX86ReleaseBuild
:SKG:prepareComAndroidSupportAppcompatV71910Library UP-TO-DATE
:SKG:prepareArmDebugDependencies
:SKG:compileArmDebugAidl UP-TO-DATE
:SKG:compileArmDebugRenderscript UP-TO-DATE
:SKG:generateArmDebugBuildConfig UP-TO-DATE
:SKG:mergeArmDebugAssets UP-TO-DATE
:SKG:generateArmDebugResValues UP-TO-DATE
:SKG:generateArmDebugResources UP-TO-DATE
:SKG:mergeArmDebugResources UP-TO-DATE
:SKG:processArmDebugManifest UP-TO-DATE
:SKG:processArmDebugResources UP-TO-DATE
:SKG:generateArmDebugSources UP-TO-DATE
:SKG:ndkBuild
make: Entering directory `/...my path.../SKG/src/main/jni'
[armeabi] Install        : libcrypto.so => libs/armeabi/libcrypto.so
[armeabi] Install        : libdatabase_sqlcipher.so => libs/armeabi/libdatabase_sqlcipher.so
[armeabi] Install        : libgenerate.so => libs/armeabi/libgenerate.so
[armeabi] Install        : libsqlcipher_android.so => libs/armeabi/libsqlcipher_android.so
[armeabi] Install        : libssl.so => libs/armeabi/libssl.so
[armeabi] Install        : libstlport_shared.so => libs/armeabi/libstlport_shared.so
make: Leaving directory `/...my path.../src/main/jni'
:SKG:compileArmDebugJava UP-TO-DATE

BUILD SUCCESSFUL

Total time: 16.327 secs

这是我的build.gradle文件:

import org.apache.tools.ant.taskdefs.condition.Os
apply plugin: 'android'

android {
    compileSdkVersion 16
    buildToolsVersion '19.0.3'


    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 16
        versionCode 28
        versionName "2.2"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
            debuggable false
            jniDebugBuild false
        }
    }
    sourceSets.main {
        jniLibs.srcDir 'src/main/libs'
        jni.srcDirs = []
    }

    defaultConfig {
        ndk {
            moduleName "generate"
        }
    }

    productFlavors {
        x86 {
            ndk {
                abiFilter "x86"
            }
        }
        mips {
            ndk {
                abiFilter "mips"
            }
        }
        armv7 {
            ndk {
                abiFilter "armeabi-v7a"
            }
        }
        arm {
            ndk {
                abiFilter "armeabi"
            }
        }
        fat
    }
}


dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:19.+'
}

// call regular ndk-build(.cmd) script from app directory
task ndkBuild(type: Exec) {
    if (Os.isFamily(Os.FAMILY_WINDOWS)) {
        commandLine 'ndk-build.cmd', '-C', file('src/main').absolutePath
    } else {
        commandLine 'ndk-build', '-C', file('src/main/jni/').absolutePath
    }
}

tasks.withType(JavaCompile) {
    compileTask -> compileTask.dependsOn ndkBuild
}
库迪

解决了,删除了最后一个“ /”,从此更改了行:

commandLine 'ndk-build', '-C', file('src/main/jni/').absolutePath

对此:

commandLine 'ndk-build', '-C', file('src/main/jni').absolutePath 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

是否可以从Linux CLI编译Xamarin for Android?

Android Studio编译Gradle错误

Android Studio内联编译器显示红色错误,但是使用gradle编译可以正常工作

编译时Android Studio Gradle错误

Android studio 编译问题(gradle 任务:compileDebugJavaWithJavac)

由于gradle依赖性,无法使用升级的android studio编译新项目

在 Android Studio 中使用 Gradle 编译之前如何运行 jar?

Android Studio - Gradle 构建编译未版本控制的类文件

在Android Studio中使用Gradle添加编译时重复文件

添加库后无法使用Gradle编译Android项目

无法在Windows 10 Android Studio上编译VLC Android

Android Studio编译缓慢

编译时,Android Studio中无法删除文件

Android Studio 3.0编译问题(无法在配置之间选择)

导入NotNull或Nullable且Android Studio无法编译

Android Studio中的“无法获取文件的编译器信息...”

Android Studio编译器无法识别GraphicOverlay类

无法在Android Studio 3.3中编译已签名的APK

Android Studio提示“无法解析符号”,但项目已编译

Android Studio。更新后无法编译/构建我的项目

无法在Android Studio 3.0 Canary 1下编译

带有新dataBinding导入的Android Studio 3.2.1无法编译

无法使用Cordova插件在Android Studio中编译Cordova项目

无法使用Android Studio 3.2 + Windows编译APK

无法在Android Studio中解析R,但应用编译正常

Android Studio“无法解析符号R”,但项目会编译并运行

如何替换实现以在Android Build.gradle中进行编译。(Android Studio 2.3.3)

Android Studio错误编译DebugJavaWithJavac

无法编译我的android项目