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

所有口味现在必须属于一个命名的口味维度Android Studio NDK

蒲勇
2023-03-14

所有口味现在都必须属于一个已命名的口味维度

My productflavors(模块级)


    productFlavors {
            armv7 {
                ndk {
                    abiFilter "armeabi-v7a"
                }
                versionCode = 1
            }
        }

我试着把这些代码放在上面


        apply plugin: 'com.android.application'
    repositories {
    mavenCentral()
    jcenter()
    maven { url "https://jitpack.io" }
    }
    configurations {
    implementation.exclude module: 'support-v4'
    }
    dependencies {
    implementation 'com.google.android.gms:play-services-gcm:10.2.0'
    implementation 'com.google.android.gms:play-services-maps:10.2.0'
    implementation 'com.google.android.gms:play-services-vision:10.2.0'
    implementation 'com.android.support:support-core-ui:25.3.1'
    implementation 'com.android.support:support-compat:25.3.1'
    implementation 'com.android.support:support-core-utils:25.3.1'
    implementation 'com.android.support:support-v13:25.3.1'
    implementation 'com.android.support:palette-v7:25.3.1'
    implementation 'net.hockeyapp.android:HockeySDK:4.1.2'
    implementation 'com.googlecode.mp4parser:isoparser:1.0.6'
    implementation 'com.stripe:stripe-android:2.0.2'
    // telegraf
    implementation 'com.android.support:multidex:1.0.1'
    implementation 'com.android.support:design:25.3.1'
    implementation 'com.android.support:cardview-v7:25.3.1'
    implementation files('libs/android-viewbadger.jar')
    implementation files('libs/ksoap2-android-assembly-3.1.1-jar-with-dependencies.jar')
    // implementation 'co.ronash.android:pushe-base:1.2.0'
    implementation 'com.onesignal:OneSignal:3.+@aar'
    implementation 'com.github.QuadFlask:colorpicker:0.0.12'
    // Download, Catch, Etc... Images
    implementation 'com.squareup.picasso:picasso:2.5.2'
    }
    android {
    compileSdkVersion 27
    buildToolsVersion '27.0.3'
    useLibrary 'org.apache.http.legacy'
    defaultConfig.applicationId = "ir.imodares.telegraf"
    defaultConfig.manifestPlaceholders = [onesignal_app_id : "639e4454-4b40-4b07-a35d-eb24786b14bf",
    // Project number pulled from dashboard, local value is ignored.
    onesignal_google_project_number: "1039318212221"]
    sourceSets.main.jniLibs.srcDirs = ['./jni/']
    externalNativeBuild {
    ndkBuild {
    path "jni/Android.mk"
    }
    }
    dexOptions {
    jumboMode = true
    }
    lintOptions {
    checkReleaseBuilds false
    // Or, if you prefer, you can continue to check for errors in release builds,
    // but continue the build even when errors are found:
    abortOnError false
    }
    compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7
    }
    signingConfigs {
    debug {
    storeFile file("config/release.keystore")
    storePassword "PASS"
    keyAlias "KEY"
    keyPassword "PASS"
    v2SigningEnabled false
    }
    release {
    storeFile file("config/release.keystore")
    storePassword "PASS"
    keyAlias "KEY"
    keyPassword "PASS"
    v2SigningEnabled false
    }
    }
    buildTypes {
    debug {
    debuggable true
    jniDebuggable true
    signingConfig signingConfigs.debug
    }
    release {
    debuggable false
    jniDebuggable false
    signingConfig signingConfigs.release
    minifyEnabled true
    shrinkResources false
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    foss {
    debuggable false
    jniDebuggable false
    signingConfig signingConfigs.release
    }
    }
    defaultConfig.versionCode = 2000
    sourceSets.debug {
    manifest.srcFile 'config/debug/AndroidManifest.xml'
    }
    sourceSets.release {
    manifest.srcFile 'config/release/AndroidManifest.xml'
    }
    sourceSets.foss {
    manifest.srcFile 'config/foss/AndroidManifest.xml'
    }
    productFlavors {
    armv7 {
    ndk {
    abiFilter "armeabi-v7a"
    }
    versionCode = 1
    }
    }
    applicationVariants.all { variant ->
    def abiVersion = variant.productFlavors.get(0).versionCode
    variant.mergedFlavor.versionCode = defaultConfig.versionCode * 10 + abiVersion
    }
    defaultConfig {
    minSdkVersion 16
    targetSdkVersion 27
    versionName "3.18.0"
    multiDexEnabled true
    externalNativeBuild {
    ndkBuild {
    arguments "NDK_APPLICATION_MK:=jni/Application.mk", "APP_PLATFORM:=android-16"
    abiFilters "armeabi-v7a", "x86"
    }
    }
    }
    }
    apply plugin: 'com.google.gms.google-services'

我的项目结构

我的项目结构

共有1个答案

邴奇逸
2023-03-14

请参阅https://developer.android.com/studio/build/build-variants#product-flavors。

如果声明了多个风味,则必须显式地为armv7维度命名风味。但在这里你不需要一个以上:

flavorDimensions "single-dimension-name-does-not-matter"
productFlavors {
  armv7 {
    ndk {
      abiFilter "armeabi-v7a"
    }
    versionCode = 1 + defaultConfig.versionCode * 10
  }
  all {
    versionCode = defaultConfig.versionCode * 10
  }
}

现在你将获得6个APK:

    null
 类似资料:
  • 我已经在我的电脑上开始了一个新的项目,但是我再也不能为android构建了 当我跑的时候 我得到这个错误:

  • 我已经在我的电脑上启动了一个新项目,但我无法再为 android 构建 当我奔跑的时候 我得到这个错误:

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

  • 我正在开发一个插件,它将创建一个实现接口类。接口可能有继承的方法。我还希望在创建类时实现所有的方法,包括继承的方法,而不是在创建类之后,然后使用eclipse quick Fix--添加未实现的方法。是否有任何方法可以获得所有方法的列表,包括接口的继承方法?

  • 晚安, 当构建到android时,我没有使用口味的问题。 iOS并非如此,我收到以下错误: 完成错误:异常:源目录"/用户/[HOME]/[PROJECT]/build/ios/Release-iphone模拟器/Runner.app"不存在,没有什么可复制的 请参见《颤振医生-v: [✓] 颤振(通道稳定,v1.12.13修补程序。9,在Mac OS X 10.15.4 19E266上,loca

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