2016-03-29 9 views
0

Ich versuche, cpp Datei mit Android-Projekt zu verwenden. Ich kann c-Funktionen ohne Fehler verwenden. Ich füge Core.cpp und Core.h in jni-Ordner hinzu. Nachdem ich nur hinzufügen #include <iostream> und Android Studio gibt iostream: No such file or directory Fehler. Ich habe Application.mk mit dieser Linie APP_STL:=stlport_stati c. Wie kann ich cpp-Dateien in Android Studio verwenden?Kann Iostream nicht in Android NDK enthalten

Ich verwende Android Studio 1.5.1 auf Xubuntu 14.04


Ich habe keine Android.mk und meine build.gradle Datei:

apply plugin: 'com.android.model.application' 

model { 
    android { 
     compileSdkVersion = 23 
     buildToolsVersion = '23.0.0' 
     compileOptions.encoding = 'windows-1251' // write your encoding here 

     defaultConfig.with { 
      applicationId = "com.example.example" 
      minSdkVersion.apiLevel = 19 
      targetSdkVersion.apiLevel = 21 
      versionCode = 1 
      versionName = "1.0" 
     } 
    } 
    android.buildTypes { 
     release { 
      minifyEnabled = false 
      proguardFiles.add(file('proguard-android.txt')) 
     } 
    } 

    android.ndk { 
     moduleName = "hello-jni" 
    } 

    android.productFlavors { 
     // for detailed abiFilter descriptions, refer to "Supported ABIs" @ 
     // https://developer.android.com/ndk/guides/abis.html#sa 
     create("arm") { 
      ndk.abiFilters.add("armeabi") 
     } 
     create("arm7") { 
      ndk.abiFilters.add("armeabi-v7a") 
     } 
     create("arm8") { 
      ndk.abiFilters.add("arm64-v8a") 
     } 
     create("x86") { 
      ndk.abiFilters.add("x86") 
     } 
     create("x86-64") { 
      ndk.abiFilters.add("x86_64") 
     } 
     create("mips") { 
      ndk.abiFilters.add("mips") 
     } 
     create("mips-64") { 
      ndk.abiFilters.add("mips64") 
     } 
     // To include all cpu architectures, leaves abiFilters empty 
     create("all") 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:appcompat-v7:23.0.1' 
    compile 'com.android.support:support-v4:23.0.1' 
    compile 'com.madgag.spongycastle:core:1.51.0.0' 
} 
+0

Bitte fügen Sie Ihre Build.gradle und Android.mk (wenn Sie es verwenden). –

+0

Ich habe meine Frage aktualisiert – user4757345

Antwort

1

Sie benötigen build.gradle zu ändern, um festzulegen, was C++ Bibliothek zu verknüpfen.

android.ndk { 
    moduleName = "hello-jni" 
    stl  = "stlport_static" 
} 

einige Beispiele für build.gradle Dateien finden Sie in der experimentellen NDK Unterstützung here (hello-thirdparty) und here (endless-tunnel) verwenden.