অ্যান্ড্রয়েড স্টুডিও 3.0 স্বাদ মাত্রা ইস্যু


224

স্টুডিও ক্যানারি বিল্ডে আপগ্রেড করা হয়েছে। আমার টেলিগ্রাম ম্যাসেঞ্জারের পূর্ববর্তী প্রকল্পটি নিম্নলিখিত ত্রুটি দিচ্ছে।

ত্রুটি: সমস্ত স্বাদগুলি অবশ্যই একটি নামযুক্ত স্বাদ মাত্রার অন্তর্ভুক্ত। স্বাদ 'আর্মভি 7' কোনও স্বাদ মাত্রায় বরাদ্দ করা হয় না। Https://d.android.com/r/tools/flavourDimesion-missing-error-message.html এ আরও জানুন

আমার কি করা উচিৎ? আমি ইতিমধ্যে সেই লিঙ্কটি দেখেছি কিন্তু কী করতে হবে তা বুঝতে পারি নি। আমার কাছে এখন 3 বিল্ড বৈকল্প রয়েছে, প্রকাশ, ডিবাগ এবং ফস।

উত্তর:


527

আপনার যদি সত্যিই প্রক্রিয়াটির প্রয়োজন না হয় তবে কেবলমাত্র আপনার এলোমেলো গন্ধের মাত্রা নির্দিষ্ট করুন build.gradle:

android { 
    ...
    flavorDimensions "default"
    ...
}

আরও তথ্যের জন্য, মাইগ্রেশন গাইড পরীক্ষা করুন


1
ধন্যবাদ। আমার ইতিমধ্যে একটি "ভার্সন কোড" মাত্রা ছিল, আমি এটি ব্যবহার করেছি।
ওমকার নাথ সিং

2
ফ্লেভারডাইমেনশনস "ভার্সনকোড" প্রোডাক্টফ্ল্যাভারস {ডিবাগ {ডাইমেনশন "ডিফল্ট" সংস্করণনাম "1.0"} রিলিজ-ডাইমেনশন "ডিফল্ট" সংস্করণনাম "1.0"} ফস-ডাইমেনশন "ডিফল্ট" ভার্সননাম "1.0"}} আমি এই ত্রুটি পেয়েছি .. প্রোডাক্টফ্লেভারের নামগুলি সংঘটিত হতে পারে না বিল্ডটাইপ নাম সহ। আপনি কি দয়া করে আমাকে সাহায্য করতে পারেন? আমি এই ত্রুটিটি পেয়েছি কোটলিনের সাথে 3.0 বিটা সংস্করণ ক্যানারি।
মোঃ মাইদুল ইসলাম

5
আপনার যদি কেবল একটি মাত্রা থাকে তবে প্রতিটি স্বাদে এটি নির্দিষ্ট করার দরকার নেই। flavorDimensions "default"উপরের প্রথম লাইনটি যা প্রয়োজন তা হল।
গ্রাহাম বোরল্যান্ড

1
ইঙ্গিত দেওয়ার জন্য @ গ্রাহামবারল্যান্ড ধন্যবাদ, আমি সেই অনুযায়ী উত্তর আপডেট করেছি।
tknell

1
হতে পারে যুক্ত করুন, ফাইলটি হ'লapp/build.gradle
স্পিডি

60

চেষ্টা করে এবং মনোযোগ দিয়ে পড়ার পরে, আমি নিজেই এটি সমাধান করেছি। সমাধান হ'ল বিল্ড.gradle এ নিম্নলিখিত লাইনটি যুক্ত করা।

স্বাদ মাত্রা "সংস্করণ কোড"

android { 
       compileSdkVersion 24
       .....
       flavorDimensions "versionCode"
} 

2
গ্রেডে আপনি এই লাইনটি কোথায় যুক্ত করবেন? আরও একটু প্রসঙ্গ সহায়ক হবে
ব্র্যান্ডো ম্যাডেন

2
বিল্ড.gradle ফাইলের ভিতরে, অ্যান্ড্রয়েডে {...}
ওমকার নাথ সিং

android {compileSdkVersion 24 .... // এখানে যুক্ত করুন}
ওমকার নাথ সিং

16
"ভার্সনকোড" কেন আর কিছু নয়? এটি কোনওভাবেই সংস্করণকোডকে প্রভাবিত করবে?
এমবিএইচ

1
@ এমবিএইচ আমার কাছে রয়েছে এটি আমার প্রোডাক্ট ফ্লাওয়ার্সে। শনাক্ত করার জন্য আপনার কেবল কোনও অনন্য কী প্রয়োজন।
ওমকার নাথ সিং

40

এখানে আপনি এই সমস্যাটি সমাধান করতে পারেন, আপনার পণ্য ফ্লেভার্সের নামের সাথে ফ্লেভারডাইমেনশন যুক্ত করতে হবে এবং পাশাপাশি মাত্রাও সংজ্ঞায়িত করতে হবে, নীচের উদাহরণটি দেখুন এবং আরও তথ্যের জন্য এখানে দেখুন https://developer.android.com/studio/build/gradle-plugin- 3-0-0-migration.html

flavorDimensions 'yourAppName' //here defined dimensions
productFlavors {
    production {
        dimension 'yourAppName' //you just need to add this line
        //here you no need to write applicationIdSuffix because by default it will point to your app package which is also available inside manifest.xml file.

    }

    staging {
        dimension 'yourAppName' //added here also
        applicationIdSuffix ".staging"//(.staging) will be added after your default package name.
        //or you can also use applicationId="your_package_name.staging" instead of applicationIdSuffix but remember if you are using applicationId then You have to mention full package name.
        //versionNameSuffix "-staging"

    }

    develop {
        dimension 'yourAppName' //add here too
        applicationIdSuffix ".develop"
        //versionNameSuffix "-develop"

    }

19

আপনি যদি মাত্রা ব্যবহার করতে না চান তবে আপনার এই লাইনটি ব্যবহার করা উচিত

android { 
compileSdkVersion 24

...
flavorDimensions "default"
...
}

তবে আপনি যদি টিআই মাত্রা ব্যবহার করতে চান তবে আপনার প্রথমে আপনার মাত্রার নামটি ঘোষণা করা উচিত এবং তারপরে এই নামটি ডকুমেন্টেশনগুলি থেকে পাওয়ার পরে এই নামটি ব্যবহার করুন:

android {
...
buildTypes {
debug {...}
release {...}
}

  // Specifies the flavor dimensions you want to use. The order in which you
  // list each dimension determines its priority, from highest to lowest,
  // when Gradle merges variant sources and configurations. You must assign
  // each product flavor you configure to one of the flavor dimensions.
  flavorDimensions "api", "mode"

  productFlavors {
    demo {
  // Assigns this product flavor to the "mode" flavor dimension.
  dimension "mode"
  ...
}

full {
  dimension "mode"
  ...
}

// Configurations in the "api" product flavors override those in "mode"
// flavors and the defaultConfig block. Gradle determines the priority
// between flavor dimensions based on the order in which they appear next
// to the flavorDimensions property above--the first dimension has a higher
// priority than the second, and so on.
minApi24 {
  dimension "api"
  minSdkVersion 24
  // To ensure the target device receives the version of the app with
  // the highest compatible API level, assign version codes in increasing
  // value with API level. To learn more about assigning version codes to
  // support app updates and uploading to Google Play, read Multiple APK Support
  versionCode 30000 + android.defaultConfig.versionCode
  versionNameSuffix "-minApi24"
  ...
}

minApi23 {
  dimension "api"
  minSdkVersion 23
  versionCode 20000  + android.defaultConfig.versionCode
  versionNameSuffix "-minApi23"
  ...
}

minApi21 {
  dimension "api"
  minSdkVersion 21
  versionCode 10000  + android.defaultConfig.versionCode
  versionNameSuffix "-minApi21"
  ...
    }
  }
}
...

9

আমি বিল্ড.gradle এ আমার অ্যাপ্লিকেশনটির জন্য স্বাদ মাত্রা ব্যবহার করেছি (মডিউল: অ্যাপ)

flavorDimensions "tier"

productFlavors {
    production {
        flavorDimensions "tier"
        //manifestPlaceholders = [appName: APP_NAME]
        //signingConfig signingConfigs.config
    }
    staging {
        flavorDimensions "tier"
        //manifestPlaceholders = [appName: APP_NAME_STAGING]
        //applicationIdSuffix ".staging"
        //versionNameSuffix "-staging"
        //signingConfig signingConfigs.config
    }
}

আরও তথ্যের জন্য এই লিঙ্কটি চেক করুন

// Specifies two flavor dimensions.
flavorDimensions "tier", "minApi"

productFlavors {
     free {
            // Assigns this product flavor to the "tier" flavor dimension. Specifying
            // this property is optional if you are using only one dimension.
            dimension "tier"
            ...
     }

     paid {
            dimension "tier"
            ...
     }

     minApi23 {
            dimension "minApi"
            ...
     }

     minApi18 {
            dimension "minApi"
            ...
     }
}

0

আপনার যদি সাধারণ স্বাদ থাকে (ফ্রি / প্রো, ডেমো / পূর্ণ ইত্যাদি) তবে বিল্ড.gradle ফাইলটিতে যুক্ত করুন:

android {
...
flavorDimensions "version"
productFlavors {
        free{
            dimension "version"
            ...
            }
        pro{
            dimension "version"
            ...
            }
}

মাত্রা দ্বারা আপনি "স্বাদে স্বাদ" তৈরি করতে পারেন। আরও পড়ুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.