ত্রুটি: অরগ.জেটব্রিনস.কোটলিন: আইটোনিক 3 এ কোটলিন-স্ট্ডলিব-জেডিকি 8: 1.3.60-ইপ -25


81

অ্যান্ড্রয়েডের জন্য আয়নিক 3 অ্যাপ তৈরি করার সময় হঠাৎ করে নীচের ত্রুটিটি পাচ্ছি।

Could not find org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.60-eap-25

আমাদের এখানে অ্যান্ড্রয়েড স্টুডিওর একটি সমাধান রয়েছে তবে আমি নিম্নলিখিত কোডটি দিয়ে আমার বিল্ডরেডলে পরিবর্তন করার পরেও ত্রুটি পাচ্ছি।

buildscript {
    repositories {
        ...
        maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }
    }
}

allprojects {
    repositories {
        ...
        maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }
    }
}

আমি আমার কর্ডোভা আপডেট করার পরে উপরের সমাধানটি যুক্ত করার পরে আমার বিল্ড.gradle ফাইলটি দেখতে এমন দেখাচ্ছে।

buildscript {
    repositories {
        google()
        jcenter()
        maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }
    }

    dependencies {
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files

        classpath 'com.android.tools.build:gradle:3.3.0'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }
    }

    //This replaces project.properties w.r.t. build settings
    project.ext {
      defaultBuildToolsVersion="28.0.3" //String
      defaultMinSdkVersion=19 //Integer - Minimum requirement is Android 4.4
      defaultTargetSdkVersion=28 //Integer - We ALWAYS target the latest by default
      defaultCompileSdkVersion=28 //Integer - We ALWAYS compile with the latest by default
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

এখনও একই ত্রুটি।


আপনি কি সেখানে রেখেছিলেন এবং ...ইতিমধ্যে সেখানে থাকা অন্যান্য ভান্ডারগুলি মুছলেন?
ianhanniballake

না, আমি কেবল মেভেন ইউআরএল পরিবর্তন করেছি।
তাপস মুখোপাধ্যায়

তাহলে আপনার বিল্ড.gradle ফাইলটি আসলে কেমন দেখাচ্ছে যদি এটি পোস্ট করা না হয়? কারণ আপনার ত্রুটি বার্তাটি বলছে আপনি যেখানে gradle:3.0.1অবস্থিত সেই সংগ্রহস্থলটি মুছলেন ।
ianhanniballake

বিবরণ চেক করুন। আমি আমার বিল্ড.gradle কোড যুক্ত করেছি। আমি শুধু ইউআরএল প্রতিস্থাপন করেছি।
তাপস মুখোপাধ্যায়

আপনার কেবলমাত্র নতুন লাইন যুক্ত করা উচিত , কোনও বিদ্যমান লাইন প্রতিস্থাপন না করে। আপনি কোন রেখাটি প্রতিস্থাপন করেছিলেন?
ianhanniballake

উত্তর:


75

cordova-support-google-servicesকর্ডোভার জন্য প্লাগইনে সমস্যা রয়েছে ।

এই প্লাগইনটির build.gradleদেখতে আজকের মতো (24 অক্টোবর, 2019):

dependencies {
    classpath 'com.android.tools.build:gradle:+'
    classpath 'com.google.gms:google-services:4.2.0'
}

আরও ঠিক সমস্যাটি এই নির্ভরতার মধ্যে রয়েছে:

classpath 'com.android.tools.build:gradle:+'

নির্ভরতা নির্দিষ্টকরণের এটি একটি অত্যন্ত ভঙ্গুর উপায়। এখানে '+' সাইনটির অর্থ "রেপোগুলিতে উপলব্ধ সবচেয়ে সাম্প্রতিক সংস্করণটি আনুন"। যদি রেপোতে একটি নতুন সংস্করণ প্রকাশিত হয় এবং এটি বিল্ডটি ভেঙে দেয়, তবে এই প্লাগইনটির সাথে প্রত্যেকেরই তাদের প্রকল্পগুলি নষ্ট হয়ে গেছে। আজ এই ঘটেছে। যে ভাঙা সংস্করণটি আনা হচ্ছে তা হ'ল com.android.tools.build:gradle:4.0.0। এটিতে কিছু কোটলিন সামগ্রী প্রয়োজন।

এজন্য আপনার প্রকল্পটি নির্ভরযোগ্যভাবে তৈরি করতে আপনার সর্বদা নির্ভরতা হিম করা দরকার। নতুন জিনিসগুলিতে কখনই বিশ্বাস করবেন না। গতকাল যেমন করেছিল তেমন নির্ভরতা সূক্ষ্মভাবে সংকলন করে:

classpath 'com.android.tools.build:gradle:3.5.1'

কর্ডোভা বা আয়নিক ব্যবহারকারীদের ক্ষেত্রে, আপনি ফাইলের নির্ভরতা হিমায়িত করে প্রকল্পটি তৈরি করতে সক্ষম হতে একটি দ্রুত সমাধান করতে পারেন:

<projectroot>/platforms/android/cordova-support-google-services/<project>-build.gradle

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


আমরা যেমন একটি অস্থায়ী সমাধানের কথা বলছি, এটি আমার জন্য দ্রুত এবং ব্যাখ্যামূলক সমাধান। ধন্যবাদ
তাপস মুখোপাধ্যায়

যদিও আমি একটি প্রশ্ন আছে। যদি আমার অ্যাপ্লিকেশনটি ইতিমধ্যে নির্মিত হয়েছে এবং এটি ফোনে ইনস্টল করা আছে, তবে অ্যাপ্লিকেশনটির নির্ভরতা বিরতিতে '+' ব্যবহার করতে পারেন? একটি অ্যাপে অনেকগুলি নির্ভরশীলতা রয়েছে এবং এগুলির সমস্তটির সংস্করণ বজায় রাখা কঠিন।
তাপস মুখোপাধ্যায়

1
আমি ফোনগ্যাপ বিল্ড ব্যবহার করে আমার অ্যাপ্লিকেশনটি সংকলন করি; আমি একই ত্রুটি পেয়েছি, যদিও আমি 'কর্ডোভা-সাপোর্ট-গুগল-পরিষেবাগুলি' প্লাগইনটি অন্তর্ভুক্ত না করেছি। কোন পরামর্শ? বিশেষত, আমি আমার কনফিগার.এক্সএমএল ফাইলটিতে এটি কীভাবে ঠিক করতে পারি?
পিটার্ক

1
এখানে phonegap বিল্ড জন্য একটি ফিক্স @peterk community.adobe.com/t5/PhoneGap/...
r1si

3
কর্ডোভা-সাপোর্ট-গুগল-পরিষেবাগুলি প্লাগইন ইতিমধ্যে একটি নতুন সংস্করণ ^ 1.3.2 প্রকাশ করেছে, যেখানে তিনি সমস্যা সমাধানের নির্ভরতা হিমশীতল করেন। উত্তরগুলি প্রতিফলিত করতে আপডেট হওয়া উচিত।
le0diaz

30

সম্পাদনা 10/28/19:

কর্ডোভা-সাপোর্ট-গুগল-পরিষেবাগুলি আজ 1.3.2 সংস্করণে আপডেট করা হয়েছে যা ক্লাসপথ থেকে পরিবর্তন করে classpath 'com.android.tools.build:gradle:+'

প্রতি

classpath 'com.android.tools.build:gradle:3.+'

যা কোটলিন ত্রুটিটি ঠিক করেছে বলে মনে হচ্ছে

আসল উত্তর

নিম্নলিখিতটি সম্পাদন করে আমি সফলভাবে তৈরি করতে পেরেছি:

আমি প্ল্যাটফর্মগুলি-> অ্যান্ড্রয়েড-> কর্ডোভা-সমর্থন-গুগল-পরিষেবাগুলি-> আমার অ্যাপনাম-বিল্ড.gradle সম্পাদনা করেছি

এবং পরিবর্তন

maventCentral()

প্রতি

    maven { url "https://maven.google.com" }
    maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }

এটি কোটলিন ত্রুটিটি সমাধান করেছে তখন আমি পরিবর্তন করে সমাধান করেছি এমন একটি অন্যরকম ত্রুটি পেয়েছিলাম

classpath 'com.google.gms:google-services:4.2.0'

প্রতি

classpath 'com.google.gms:google-services:4.1.0'

এটি তখন সফলভাবে নির্মিত।


প্ল্যাটফর্মের / অ্যান্ড্রয়েড / অ্যাপ্লিকেশন / build.gradle পরিবর্তন << doLast করতে ছিল, অনুযায়ী stackoverflow.com/a/55793096/2393822
umadesign

2
@ জিমবার্গম্যান আমি আনুষ্ঠানিক অ্যান্ড্রয়েড স্টুডিও ওয়েবসাইট থেকে কোটলিন ইউআরএল পেয়েছি: রেফারেন্স androidstudio.googleblog.com/2019/10/…
ড্যানিয়েল পড়া

1
"কোটলিন মাভেন রেপো মিস করার জন্য জ্ঞাত সমস্যা" শিরোনামে বিভাগে স্ক্রোল করুন
ড্যানিয়েল পড়ুন

@ ড্যানিয়েল পড়ুন ধন্যবাদ আমি এখন এটি দেখতে পাচ্ছি। তবুও ভাববেন না যে বিন্ট্রে ডটকম-এ ফাইলগুলি রেফারেন্স করা সমস্যাটিকে সমাধান করার উপায়। উপরের মিস্টার স্মিথের সমাধান আরও ভাল।
জিম বার্গম্যান

1
প্লাগইন আপডেট করতে, চালান: cordova plugin rm cordova-support-google-services --force && cordova plugin add cordova-support-google-services
ক্লিমেন্স জ্লেপটনিগ

29

সমাধান এখানে।

সমস্যাটি হ'ল মভেন রিপোজিটরি ( এখানে ) ছিল, তবে সমস্যাটি কর্ডোভা -সমর্থন-গুগল-পরিষেবা প্লাগইন থেকে বিল্ডপ্রেডেলের সাথে ছিল , সুতরাং আমি প্রয়োজনীয় লাইনটি যুক্ত করেছি এবং এখন সবকিছু ঠিক আছে, আমি ইতিমধ্যে একটি টান তৈরি করেছি মূল রেপো ( এখানে ) অনুরোধ । কিন্তু ইতিমধ্যে আমি যা হয়নি, শুধু প্রতিস্থাপন করতে পারবেন package.json আমার রেপো বর্তমান সংস্করণ:

আগে:

...
"cordova-support-google-services": "^1.3.1",
...

পরে:

...
"cordova-support-google-services": "https://github.com/LuisEGR/cordova-support-google-services.git",
...

এর পরে আপনাকে করতে হবে:

  • ফোল্ডার প্ল্যাটফর্ম এবং প্লাগইনগুলি সরান
  • চালান npm install

এটি একটি অস্থায়ী সমাধান যখন মূল রেপোতে টানার অনুরোধ গৃহীত হয় এবং এনপিএম প্যাকেজ আপডেট হয়

এবং এটি হ'ল, এখন আপনি নিজের প্রকল্পটি আবার তৈরি করতে পারবেন।


আমি আয়নিক 4 ব্যবহার করছি, এবং কিছু প্লাগইন প্রয়োজন cordova-support-google-services, আপনার প্যাকেজটিতে এটি না থাকলে আপনি যদি অন্য প্লাগইনটিতে ত্রুটিটি থাকতে পারেন তবে দয়া করে প্যাকেজ.জসন যুক্ত করুন যাতে আমরা খুঁজে পাব যেটি কোনটি সমস্যা।


আপডেট 24 / অক্টোবর:

আপনারা অনেকে যেমন পরামর্শ দিয়েছিলেন তেমনই আমি আমার রেপোতে সমাধানটি পরিবর্তন করেছি, এখন সমাধানটি কেবল নির্ভরতা ঠিক করার মধ্যে রয়েছে: থেকে com.android.tools.build:gradle:+ থেকে শ্রেণিপথ com.android.tools.build:gradle: +. + , আপনি কী পরিবর্তন হয়েছে তা দেখতে চাইলে এটি আমার রেপোতে ইতিমধ্যে রয়েছে


সেই রেপোতে কারও কাছে কিছু অনুমোদনের জন্য সাধারণত কতক্ষণ সময় লাগে?
অ্যান্ডিউসা

7

আমার প্রকল্পে আমি এটি ঠিক করি ((কোটলিনে আমার প্রকল্প)

buildscript{

    repositories {
         google()
         jcenter()
         ......
         maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }
    }

}

allprojects {
    repositories {
         google()
         jcenter()
         ......
         maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }
   }
}

6

আয়নিক ভি 3 এবং কর্ডোভা এর সমাধান

@ মিস্টার স্মিথ সমাধান আমার সমস্যার সমাধান করেছেন

আপনি ফাইল যেতে হবে

platforms/android/cordova-support-google-services

তারপর

প্রতিস্থাপন করা

classpath 'com.android.tools.build:gradle:+'

দ্বারা

classpath 'com.android.tools.build:gradle:3.5.1'

@ বিকল্প সমাধান আমি খুঁজে পেয়েছি হয়

setup kotlin in your system :)

এটা কাজ করে। ধন্যবাদ. আমি মনে করি আমরা বিল্ড.gradle ফাইল থেকে সংস্করণটির সাথে একই সংস্করণটি সেট করতে পারি
Nguyen Tran

1
@ এনগুইনট্রান আমি মনে করি আপনার সিস্টেমে অ্যান্ড্রয়েড স্টুডিওর সাথে কোটলিন স্থাপন করা সর্বাধিক উন্নত এবং সেরা সমাধান আপনি যদি সর্বশেষতম গ্রেডল ব্যবহার করতে চান তবে অন্যথায়, আপনার প্রকল্প দ্বারা সমর্থিত পুরানো সংস্করণ গ্রেডের সাথে লেগে থাকুন। অথবা আয়নিক ভি 3 এর জন্য সেরা গ্রেড সমর্থনটি সন্ধান করুন।
সৈয়দ মোহাম্মদ আলী

5

@ মিস্টারস্মিথের পরামর্শ অনুসরণ করে আরও অস্থায়ী সমাধান হিসাবে , লকটি পুনরায় প্রয়োগ করতে একটি হুক ব্যবহার করুন:

<hook src="scripts/fix_android_dep.sh" type="after_platform_add"/>

এই অতিরিক্ত শব্দযুক্ত বাশ কোড সহ:

#!/usr/bin/env bash

## temporary fix for android studio EAP issue
## SOURCE: https://stackoverflow.com/a/58536638/56545
if [ -d "platforms/android/cordova-support-google-services" ]; then
  file="platforms/android/cordova-support-google-services/app-build.gradle"
  from="classpath 'com.android.tools.build:gradle:+'"
  to="classpath 'com.android.tools.build:gradle:3.5.1'"

  change=`sed "s/$from/$to/" < "$file"`
  echo "$change" > "$file"
fi

1
পরিবর্তন app-build.gradleকরার পরে আমার জন্য কাজ করেছেন %MY_APP_NAME%-build.gradle। ধন্যবাদ!
আলেকজান্ডার জিনচুক

3

আমাকে maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }উভয়কে শীর্ষ স্তরের build.gradleএবং appমডিউলটিতে যুক্ত করতে হয়েছিল build.gradle। উভয় ক্ষেত্রে buildscripts.repositoriesএবং ভিতরে উভয় ক্ষেত্রেallprojects.repositories


2

উপরের কেউই আমার পক্ষে কাজ করেনি। আমি গুগল-পরিষেবা প্লাগইনটি সরিয়ে শেষ করেছি।

cordova plugin rm cordova-support-google-services cordova plugin add cordova-support-google-services


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