2015-03-21 2 views
4

У меня есть файлы .so и jar, но когда я его запускаю, я получаю ошибку: не удалось идентифицировать apk для варианта arm-debug и device. Я здесь noob, поэтому я должен делать что-то неправильно, но я не могу понять, как это понять. Есть идеи? Я использую Android Studio 1.1.0 и genymotion для моей эмуляции.Android Не удалось идентифицировать apk для варианта arm-debug и устройства

Это то, что мой файл сборки выглядит следующим образом:

apply plugin: 'com.android.application' 

android { 

    compileSdkVersion 22 
    buildToolsVersion "22.0.0" 
    defaultConfig { 
     applicationId "com.ctech.music.androidstreamer" 
     minSdkVersion 14 
     targetSdkVersion 22 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
    productFlavors { 
     x86 { 
      ndk { 
       abiFilter "x86" 
      } 
     } 
     arm { 
      ndk { 
       abiFilters "armeabi-v7a", "armeabi" 
      } 
     } 
     mips { 
      ndk { 
       abiFilter "mips" 
      } 
     } 

    } 
    packagingOptions { 
     exclude 'META-INF/DEPENDENCIES' 
     exclude 'META-INF/NOTICE' 
     exclude 'META-INF/LICENSE' 
     exclude 'META-INF/license.txt' 
     exclude 'META-INF/notice.txt' 
    } 
} 

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

ответ

8

Добавить на вашем build.gradle на defaultConfig действие построить

ndk { 
     moduleName "yourlibraryname" 
     } 

как этот

defaultConfig { 
     applicationId "com.ctech.music.androidstreamer" 
     minSdkVersion 14 
     targetSdkVersion 22 
     versionCode 1 
     versionName "1.0" 

     ndk { 
     moduleName "yourlibraryname" 
     } 

    } 

и добавить это в конце андроида {} проверить для вашей архитектуры

android { 
    ... 
    splits { 
    abi { 
     enable true 
     reset() 
     include 'x86', 'armeabi-v7a', 'mips' 
     universalApk true 
    } 
    } 
} 
+0

Большое спасибо! После этого у меня все еще была ошибка: java.lang.UnsatisfiedLinkError Не удалось найти файл _jni.so. Добавление этого сразу после того, как расколы зафиксировали его и заставили его работать на меня! sourceSets { основные { jniLibs.srcDir файл ('LIBS /')} } – Badger

+0

Хорошо, если это работает, пожалуйста, проверьте это как действительные ответы, спасибо! – anquegi

+0

Я использую com.android.tools.build:gradle-experimental:0.1.0, мне пришлось делать splits.with {}, остальное то же самое. –