4

我有 .so 文件和 jar,但是当我运行它时出现错误:无法识别变体 arm-debug 和设备的 apk。我是这里的菜鸟,所以我一定做错了什么,但我似乎无法弄清楚。有任何想法吗?我正在使用 Android Studio 1.1.0 和 genymotion 进行仿真。

这是我的构建文件的样子:

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')
}
4

1 回答 1

9

在 defaultConfig 上的 build.gradle 上添加要构建的操作

ndk {
        moduleName "yourlibraryname"
       }

像这样

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

        ndk {
        moduleName "yourlibraryname"
       }

    }

并将其添加到 android {} 检查您的架构的末尾

android {
  ...
  splits {
    abi {
      enable true
      reset()
      include 'x86', 'armeabi-v7a', 'mips'
      universalApk true
    }
  }
}
于 2015-03-26T15:56:49.703 回答