কীভাবে ফ্লোটার প্রকল্পে অ্যান্ড্রয়েড minSdkVersion পরিবর্তন করবেন change


92

আমি যোগাযোগ করার জন্য ব্লুটুথ ব্যবহার করে একটি অ্যাপ্লিকেশনটির জন্য একটি ঝাপটানো প্রকল্প শুরু করার চেষ্টা করছিলাম। তার জন্য, আমি ফ্লটার নীল ব্যবহার করছিলাম

দুর্ভাগ্যক্রমে, চালানোর চেষ্টা করার সময় (একটি অ্যান্ড্রয়েড ডিভাইসে) আমি তৈরি প্রথম উদাহরণটি আমাকে নিম্নলিখিত ত্রুটির সাথে দেখা হয়েছিল:

FAILURE: Build failed with an exception.

  * What went wrong:
  Execution failed for task ':app:processDebugManifest'.
  > Manifest merger failed : uses-sdk:minSdkVersion 16 cannot be smaller than version 19 declared in library [:flutter_blue] /home/maldus/Projects/flutter/polmac/build/flutter_blue/intermediates/manifests/full/debug/AndroidManifest.xml as the library might be using APIs not available in 16
    Suggestion: use a compatible library with a minSdk of at most 16,
            or increase this project's minSdk version to at least 19,
            or use tools:overrideLibrary="com.pauldemarco.flutterblue" to force usage (may lead to runtime failures)

আমি যদি অ্যান্ড্রয়েড স্টুডিওতে থাকি, তবে আমি কীভাবে অ্যান্ড্রয়েড মিনিএসডিকি ভার্সনটি গুছিয়ে ফেলতে জানতাম তবে একটি বিড়বিড় প্রকল্পে (ভিএসকোড ব্যবহার করে) আমি কিছুটা হারিয়েছি।

এলোমেলো দিয়ে কি মিনিএসডিকে ভার্সন বাড়ানো সম্ভব এবং কীভাবে?


MinSdkVersion এ ব্যাকগ্রাউন্ড তথ্য যা সহায়ক হতে পারে: ডেভেলপার.অ্যান্ড্রয়েড.
মার্ক গাভাগান

উত্তর:


218

এটি অবশ্যই minSdkVersion বৃদ্ধি করা সম্ভব, তবে এটি খুঁজে পেতে আমার অনেক বেশি সময় লেগেছে কারণ গুগল অনুসন্ধানগুলি বেশিরভাগ ফলন করে ফলস্বরূপ পরম ন্যূনতম এসডিকে সংস্করণে ফালতু সম্পর্কে সমর্থন করতে সক্ষম হওয়া উচিত, এটি কীভাবে আপনার নিজের প্রকল্পে বাড়ানো যায় না to ।

অ্যান্ড্রয়েড স্টুডিও প্রকল্পের মতো, আপনাকে build.gradleফাইলটি সম্পাদনা করতে হবে। একটি বিড়বিড় প্রকল্পে, এটি পথে পাওয়া যায়./android/app/build.gradle

যে প্যারামিটারটি পরিবর্তন করা দরকার তা হ'ল minSdkVersion 16এটি আপনার নিজের প্রয়োজনের উপর চাপিয়ে দেওয়া (এই ক্ষেত্রে 19)।

defaultConfig {
    // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
    applicationId "com.example.projectname"
    minSdkVersion 19 //*** This is the part that needs to be changed, previously was 16
    targetSdkVersion 28
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

এখন সুস্পষ্ট বলে মনে হচ্ছে, তবে এটি নিজে থেকে বের করার জন্য আমাকে যথেষ্ট সময় নিয়েছে।


8
ফাইল-পাথটি খুব সহায়ক ছিল! আমি অন্তর্নির্মিত বিল্ড্রেডল ফাইলটির দিকে চেয়ে ছিলাম android/এবং কীভাবে এই মিনিএসডিভি ভার্সনটি আপডেট করা যায় তা কীভাবে আমার জীবন নির্ণয় করতে পারি না।
আদম

আমি যদি কম এসডিকে সংস্করণগুলি টার্গেট করতে চাই তাই আমি মিনিএসডিকি ভার্সনটি পরিবর্তন করতে না চাই তবে কী হবে? @ মালদুস
pblead26

তাহলে কি তা বদলাবে না? আমি নিশ্চিত যে আমি প্রশ্নটি বুঝতে পেরেছি তা নিশ্চিত নই, আমি এই সমস্যাটি মারলাম কারণ ফ্লাটারব্লু মিনিএসডি কে ভার্সন পরিবর্তন না করে কাজ করে নি। আপনি যদি কম এসডিকে সংস্করণ দিয়ে ফ্লার্টব্লু ব্যবহার করতে চান তবে আমি ভয় পাচ্ছি যে এটি ফ্লটার লাইব্রেরির একটি সমস্যা।
মালদুস

13

আপনি পরিবর্তন করতে পারেন minSdkVersionফাইলের মধ্যে Project_Name/android/app/build.gradle, defaultconfig:

defaultConfig {
    // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
    applicationId "com.example.projectname"
    minSdkVersion 16 // <--- There
    targetSdkVersion 27
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

1

পরিবর্তন করতে এই পদক্ষেপগুলি অনুসরণ করুন minSdkVersionসমস্যাটি ।

প্রথম => YouProject_name/android/app/build.gradle

দ্বিতীয় => ডিফল্টকনফিগ {// আপনি এটি ভিতরে খুঁজে পেতে পারেন build.gradle}

defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId "com.umair.product_details_using_crud"
        minSdkVersion 16 // here you can change minSdkVersison
        targetSdkVersion 28
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
    }

1

আমি আমার এলোমেলো অ্যাপ্লিকেশনটির মধ্যে আউথ0, বিড়বিড়_আপনাহু এবং ফ্লাটার_সিকিউর_স্টোরেজ সেট আপ করার ক্ষেত্রে আমি এই সমস্যার মুখোমুখি হয়েছি। MinSdkVersion সংস্করণ পরিবর্তন করার পরে, আমি এই ত্রুটি পেয়েছি

C:\Users\myusername\AndroidStudioProjects\wole\android\app\src\debug\AndroidManifest.xml Error:
    Attribute data@scheme at AndroidManifest.xml requires a placeholder substitution but no value for <appAuthRedirectScheme> is provided.
FAILURE: Build failed with an exception.
  • কী ভুল হয়েছে: কার্যের জন্য মৃত্যুদণ্ড ব্যর্থ হয়েছে ': অ্যাপ্লিকেশন: প্রসেসডিবগমেনিস্ট'।

ম্যানিফেস্ট মার্জারটি ব্যর্থ হয়েছে: অ্যান্ড্রয়েড ম্যানিফেস্ট.এক্সএমএল এ ডেটা @ স্কিটি অ্যাট্রিবিউটের জন্য একটি স্থানধারক প্রতিস্থাপন দরকার তবে এর জন্য কোনও মান সরবরাহ করা হয়নি।

সমাধান এইভাবে ম্যানিফেস্টপ্লেসহোল্ডারদের যুক্ত করছে

ভিউ ইমেজ


0

যদি আপনার অ্যাপ্লিকেশনটির অ্যান্ড্রয়েড প্ল্যাটফর্মের একটি নির্দিষ্ট ন্যূনতম সংস্করণ প্রয়োজন, আপনি অ্যাপ্লিকেশনটির build.gradleফাইলে এপিআই স্তরের সেটিংস হিসাবে সেই সংস্করণটির প্রয়োজনীয়তাটি নির্দিষ্ট করতে পারেন । বিল্ড প্রক্রিয়া চলাকালীন, এই সেটিংসটি আপনার অ্যাপ্লিকেশনটির ম্যানিফেস্ট ফাইলে একীভূত হয়। এপিআই স্তরের প্রয়োজনীয়তা নির্দিষ্ট করে তা নিশ্চিত করে যে আপনার অ্যাপ্লিকেশনটি কেবলমাত্র এমন ডিভাইসে ইনস্টল করা যেতে পারে যা অ্যান্ড্রয়েড প্ল্যাটফর্মের একটি সামঞ্জস্যপূর্ণ সংস্করণ চলছে running

আপনি সেট করতে হবে minSdkVersionযে build.gradleফাইল, মধ্যে অবস্থিত  <app dir>/android/app এবং একটি মান সেট  defaultConfigব্লক:

দুটি এপিআই স্তরের সেটিংস উপলব্ধ রয়েছে:

  • minSdkVersion - অ্যান্ড্রয়েড প্ল্যাটফর্মের সর্বনিম্ন সংস্করণ, যার উপর অ্যাপটি চলবে, প্ল্যাটফর্মের এপিআই স্তরের সনাক্তকারী দ্বারা নির্দিষ্ট।
  • targetSdkVersion - অ্যাপ্লিকেশনটি চালানোর জন্য ডিজাইন করা হয়েছে এমন API স্তর সুনির্দিষ্ট করে। কিছু ক্ষেত্রে, এটি অ্যাপ্লিকেশনটিকে কেবলমাত্র সর্বনিম্ন এপিআই স্তরের জন্য সংজ্ঞায়িতদের ব্যবহারের মধ্যে সীমাবদ্ধ না রেখে লক্ষ্য API স্তরে সংজ্ঞায়িত ম্যানিফেস্ট উপাদান বা আচরণ ব্যবহার করার অনুমতি দেয়।

কোনও build.gradle ফাইলে ডিফল্ট এপিআই স্তরের প্রয়োজনীয়তা নির্দিষ্ট  করতে, defaultConfig {} ব্লকের ভিতরে নেস্টেড ব্লকটিতে  এক বা একাধিক সেটিংস যুক্ত করুন  android {} । প্রকার বা পণ্যের স্বাদ তৈরি করতে সেটিংস যোগ করে আপনি নিজের অ্যাপ্লিকেশানের বিভিন্ন সংস্করণের জন্য এই ডিফল্ট মানগুলিকে ওভাররাইড করতে পারেন। নিম্নলিখিত  build.gradle ফাইলটি  ব্লকটিতে ডিফল্ট minSdkVersion এবং targetSdkVersion সেটিংস  নির্দিষ্ট করে  এবং   একটি পণ্য স্বাদে defaultConfig {}ওভাররাইড করে  minSdkVersion

android {
   compileSdkVersion 29

  ...
  defaultConfig {
    applicationId "com.app.yourapp”
    minSdkVersion 16
    targetSdkVersion 29
    versionCode flutterVersionCode.toInteger()
    versionName flutterVersionName
  }
  productFlavors {
    main {
      ...
    }
    afterLollipop {
      ...
      minSdkVersion 21
    }
  }
}

আরও তথ্যের জন্য, ব্যবহারগুলি- sdk- উপাদান ম্যানিফেস্ট এলিমেন্ট ডকুমেন্টেশন এবং এপিআই স্তরের নথি দেখুন।

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