Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Studio/Gradle-Config用于特定于味道的Jni库_Android_Android Studio_Android Gradle Plugin_Android Productflavors - Fatal编程技术网

Android Studio/Gradle-Config用于特定于味道的Jni库

Android Studio/Gradle-Config用于特定于味道的Jni库,android,android-studio,android-gradle-plugin,android-productflavors,Android,Android Studio,Android Gradle Plugin,Android Productflavors,我正在使用Android studio 1.0.1和Gradle 1.0.0 我试图使用具有相同名称(和相同的入口点,只是内部代码不同)的特定于味道的JNI LIB 我有两种风格的“full”和“lite”,目前仍然指向同一个jni库“my lib.so” 我有以下项目树: app\ src\ main\ jniLibs\ armeabi-v7a\ my-lib.so full\ lite\ 我希望每种口味都有一个不

我正在使用Android studio 1.0.1和Gradle 1.0.0

我试图使用具有相同名称(和相同的入口点,只是内部代码不同)的特定于味道的JNI LIB

我有两种风格的“full”和“lite”,目前仍然指向同一个jni库“my lib.so”

我有以下项目树:

app\
  src\
    main\
      jniLibs\
        armeabi-v7a\
           my-lib.so
    full\
    lite\
我希望每种口味都有一个不同的“my lib.so”lib。口味之间的所有变化都是库内部的

我试着做一些类似的事情:

app\
  src\
    main\
      jniLibs\
        armeabi-v7a\
           my-lib.so
    full\
      jniLibs\
        armeabi-v7a\
           my-lib.so
    lite\
      jniLibs\
        armeabi-v7a\
           my-lib.so
但这会引发以下错误消息:

错误:在打包APK%path%\app\build\outputs\APK\app-lite-debug-unaligned.APK期间复制了文件 存档中的路径:lib/armeabi-v7a/my-lib.so 源代码1:%path%\app\src\main\jniLibs\armeabi-v7a\my-lib.so 源代码2:%path%\app\src\lite\jniLibs\armeabi-v7a\my-lib.so

我获得了以下Gradle版本:

apply plugin: 'com.android.application'
android {
compileSdkVersion 19
buildToolsVersion "21.1.2"

defaultConfig {
    applicationId "xxxxxxxxx"
    minSdkVersion 15
    targetSdkVersion 19
}

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

productFlavors {
    lite {
        applicationId "xxxxxxxxxxLite"
        minSdkVersion 16
        targetSdkVersion 19
        ndk {
            abiFilter "armeabi-v7a"
        }
    }
    full {
        applicationId "xxxxxxxxxxxFull"
        minSdkVersion 18
        targetSdkVersion 19
        ndk {
            abiFilter "armeabi-v7a"
        }
    }
}
}

格拉德尔有可能做到这一点吗?我错过了什么重要的事情吗?
感谢您的帮助:-)

产品风格目录(此处为
full
lite
)中的文件不能与
main
中的文件相同

您必须删除
main
中的文件才能使其正常工作