当前位置: 首页 > 知识库问答 >
问题:

Android Studio/Gradle-为特定于口味的Jni库配置

申博厚
2023-03-14

我正在使用Android Studio 1.0.1

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

我得到了两种风格的“full”和“lite”,目前仍然指向相同的jni库“my lib.so”。

我有以下项目树:

app\
  src\
    main\
      jniLibs\
        armeabi-v7a\
           my-lib.so
    full\
    lite\

我想为每种口味都有一个不同的“my-lib.so”库。口味之间的所有变化都是库内部的。

我试着做一些像这样的事情:

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\输出\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"
        }
    }
}

}

Gradle有可能做到这一点吗?我错过了什么重要的事情吗?谢谢你的帮助:-)

共有1个答案

司空俊悟
2023-03-14

您不能在产品风味目录(此处为fullite)中拥有与main中的文件相同的文件。

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

 类似资料:
  • 我正在开发一款多味。(下面是gradle文件) 它使用一个名为的库,遵循相同的风格和 现在,对于棘手的部分,有一个名为的新模块,这个模块没有味道,但它需要作为依赖项 app.gradle: 追踪器。格拉德尔: 特色格拉德尔: 以下是我尝试渐变同步时出现的:

  • 我的应用程序有几种不同的口味,适用于几个市场的应用内计费系统。 问题是android库能有产品风味吗? 如果是的话,我如何在应用程序的不同口味中包含不同的口味? 我找了很多,但我没有找到任何关于这个场景的东西。我在http://tools.android.com/tech-docs/new-build-system/user-guide中找到的唯一接近的内容是: 我改变了配置到不同的东西,但它没有

  • 前面我们讲了 Gradle 在 Android 项目中的配置,我们提到有一个闭包 signingConfigs 是配置 Android 应用签名信息的。那么今天我们就来讲讲如何通过 AndroidStudio 对 APK 进行签名。 1. 新建 keyStore 文件 我们下面一步步带大家,用 AndroidStudio 来配置签名。 首先顶部菜单栏找到 Build 点击他我们会看到 Genera

  • 我有一个Android应用程序,我已经能够用Gradle成功构建(使用Gradle0.7)。现在,我想设置Gradle来构建两个单独的.apk,一个只有ARM本机库,另一个只有Intel x86本机库。我尝试使用productFlavors,如下例所示: How to configure NDK with Android Gradle Plugin0.7 但是,在我的Gradle脚本中指定了pro

  • 我正在尝试将我的项目迁移到gradle。我的一个项目有多种产品风格,并且每个项目都必须在其发布版本中使用不同的进行签名。所以这是我到目前为止尝试的: 当我运行时,我得到一个和以下错误消息: 所以我假设。*Gradle脚本的一部分不是放置代码签名配置的正确位置。

  • null 我尝试过的相关帖子: 从单个生成类型生成使用不同密钥签名的多个生成 这需要为每种口味配置 它似乎没有使用我自定义的 null null 我的的重要部分如下所示: