将项目导入Android Studio后出错

时间:2017-07-04 08:39:41

标签: c++ android-studio gradle android-ndk

Hy,

我收到了旧代码,编码于2014年,我被要求更新一些功能。

我在运行代码时遇到问题,因为它是在eclipse上构建的,现在我将其导入Android Studio。

首先,代码调用项目中包含的3个库,其中一个是cpp。这就是为什么我认为需要添加bundle-ndk。

我添加了:android.useDeprecatedNdk = true到gradle-wrapper.properties

这些是我目前拥有的gradle文件:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.0'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

First Library Gradle

apply plugin: 'com.android.library'


android {
    compileSdkVersion 16
    buildToolsVersion "23.0.3"

    defaultConfig {
        minSdkVersion 5
        targetSdkVersion 16
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

第二个图书馆

apply plugin: 'com.android.library'

android {
    compileSdkVersion 16
    buildToolsVersion "23.0.3"

    defaultConfig {
        minSdkVersion 5
        targetSdkVersion 5
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile project(':FirstLibrary')
    compile 'com.android.support:support-v4:18.0.0'
    compile files('libs/libGoogleAnalyticsV2.jar')
}

第三个图书馆

apply plugin: 'com.android.library'

android {
    compileSdkVersion 16
    buildToolsVersion "23.0.3"

    defaultConfig {
        minSdkVersion 5
        targetSdkVersion 7
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'com.android.support:support-v4:18.0.0'
}

项目的模块Gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 8
    buildToolsVersion "23.0.3"

    defaultConfig {
        applicationId "com.application.id"
        minSdkVersion 8
        targetSdkVersion 17
    }

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
        }
    }
}

dependencies {
    compile project(':secondLbrary')
    compile project(':thirdLibrary')
}

收到最新错误:

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

  

错误:您的项目包含C ++文件,但它没有使用受支持的本机构建系统。     考虑使用CMake或ndk-build与稳定的Android Gradle插件集成:      https://developer.android.com/studio/projects/add-native-code.html     或使用实验插件:      http://tools.android.com/tech-docs/new-build-system/gradle-experimental

请建议!!!

2 个答案:

答案 0 :(得分:2)

这通常与gradle版本有关 - 您应该更新到最新版本并重试。看这里Plugin is too old

另外 - 为什么你需要“com.android.tools.build:gradle-experimental:0.7.0-alpha4”?

答案 1 :(得分:0)

用于在android studio中编译cpp代码:

  1. 您需要在Android SDK Manager上下载CMAKE,LLDB和NDK。
  2. 你需要制作CMakeList.txt并需要编写脚本来编译cpp文件。
  3. 您需要在build.gradle中添加以下行

    externalNativeBuild {     cmake {         路径" CMakeLists.txt"     } }

  4. 我希望这会对你有所帮助。