"কর্ডোভা বিল্ড অ্যান্ড্রয়েড" চালাচ্ছেন - অ্যান্ট্রিবিউট অ্যান্ড্রয়েড: ফন্টভিয়ারেশনসেটিংস এবং অ্যান্ড্রয়েড: ttcIndex সন্ধান করতে অক্ষম


103

আমি যখন রান করি তখন আমি cordova build android --buildConfig xxxx --releaseনিম্নলিখিত ত্রুটিটি পাই:

ERROR: In <declare-styleable> FontFamilyFont, unable to find attribute android:fontVariationSettings
ERROR: In <declare-styleable> FontFamilyFont, unable to find attribute android:ttcIndex

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

./gradlew cdvPrintPropsআমি দুটি মেশিনে আউটপুট পেতে পারি:

:cdvPrintProps
cdvCompileSdkVersion=26
cdvBuildToolsVersion=27.0.3
cdvVersionCode=null
cdvMinSdkVersion=21
cdvBuildMultipleApks=true
cdvReleaseSigningPropertiesFile=release-signing.properties
cdvDebugSigningPropertiesFile=null
cdvBuildArch=null
computedVersionCode=152045989
computedArmv7VersionCode=1520459892
computedX86VersionCode=1520459894

নীচে ব্যবহৃত প্লাগইনগুলির তালিকা রয়েছে:

$ cordova plugins list
cordova-custom-config 5.0.2 "cordova-custom-config"
cordova-fabric-plugin 1.1.10 "cordova-fabric-plugin"
cordova-open-native-settings 1.5.0 "Native settings"
cordova-plugin-app-event 1.2.1 "Application Events"
cordova-plugin-app-version 0.1.9 "AppVersion"
cordova-plugin-camera 2.4.1 "Camera"
cordova-plugin-compat 1.2.0 "Compat"
cordova-plugin-console 1.1.0 "Console"
cordova-plugin-crosswalk-webview 2.4.0 "Crosswalk WebView Engine"
cordova-plugin-datepicker 0.9.2 "DatePicker"
cordova-plugin-device 2.0.1 "Device"
cordova-plugin-email 1.2.7 "EmailComposer"
cordova-plugin-file 4.3.3 "File"
cordova-plugin-file-transfer 1.6.3 "File Transfer"
cordova-plugin-inappbrowser 1.7.2 "InAppBrowser"
cordova-plugin-network-information 1.3.4 "Network Information"
cordova-plugin-secure-storage 2.6.8 "SecureStorage"
cordova-plugin-splashscreen 4.1.0 "Splashscreen"
cordova-plugin-statusbar 2.4.1 "StatusBar"
cordova-plugin-whitelist 1.3.3 "Whitelist"
cordova.plugins.diagnostic 3.9.2 "Diagnostic"
de.appplant.cordova.plugin.local-notification 0.8.5 "LocalNotification"
ionic-plugin-keyboard 2.2.1 "Keyboard"

আমি কিভাবে এই সমস্যা ঠিক করতে পারবো?


এই বিষয়টিও আমার সাথে সারা দিন ধরে ঘটে চলেছে। আমি এটি ব্যবহার করি এমন একটি প্লাগইনে সংকুচিত করেছি। তবে আমার অ্যাপ্লিকেশনগুলির জন্য আমার এই প্লাগইনটি প্রয়োজন। আপনি কোন প্লাগইন ব্যবহার করছেন?
ক্রিস আর

@ ক্রিসট্রিটেন হাই, আমি প্লাগইন তালিকার উপরের পোস্টটি সম্পূর্ণ করেছি। শুভেচ্ছা।
স্টাফেন পাদোভানি

1
উত্তরের কোনওটিই সহায়তা নয়, এখন একদিনের জন্য লড়াই করে।
খুশরাব

উত্তর:


106

কেবল বিল্ড-এক্সট্রাস.gradle এ নিম্নলিখিতটি রাখুন

configurations.all {
    resolutionStrategy {
        force 'com.android.support:support-v4:27.1.0'
    }
}

ধন্যবাদ! এটি কোনও সংস্করণে পিন করার জন্য কর্ডোভার পক্ষে যুক্তিসঙ্গত পদ্ধতি।
হুজুকি

10
আমি আমার প্ল্যাটফর্মগুলি ফোল্ডারটিকে উত্স নিয়ন্ত্রণের বাইরে রাখি যাতে এটি সম্পাদন করার জন্য, আমি build-extras.gradleএটির hooks\after_platform_add gist.github.com/charlesbedrosian/…
সিবিড্রোসিয়ান

8
আমার কাছে এ জাতীয় ফাইল নেই: "বিল্ড-এক্সট্রাস.gradle"
জো

3
ফোনগ্যাপ-বিল্ডের অন্যান্য ব্যবহারকারীদের জন্য। উত্তর Cordova-অ্যান্ড্রয়েড-সমর্থন-gradle-রিলিজ forums.adobe.com/thread/2462835
Catu

7
@ স্টাফেনপাডোভানির মন্তব্য ছাড়াও, দ্রষ্টব্য যে এটি কর্ডোভা অ্যান্ড্রয়েড 7.0.0 থেকে / প্ল্যাটফর্ম / অ্যান্ড্রয়েড / অ্যাপ ফোল্ডারে তৈরি করা উচিত
উইল ক্রু

83

গুগল নতুন সংস্করণ মুক্তি 28.0.0-alpha1 এর com.android.support:support-v4 যা 2 নতুন বৈশিষ্ট্যাবলী (: fontVariationSettings এবং অ্যান্ড্রয়েড: ttcIndex Android) যোগ করা হয়। কিছু প্লাগইন সর্বশেষতম অ্যান্ড্রয়েড-সমর্থন লাইব্রেরি ব্যবহার করছে যার ফলশ্রুতিতে অযাচিত অসুবিধাগুলি রয়েছে।

বিকল্প 1: কর্ডোভা-অ্যান্ড্রয়েড-সমর্থন-গ্রেডেল-রিলিজ প্লাগইন ইনস্টল করুন ।

ওয়েল ডকুমেন্টেড প্লাগইন যা "অন্যান্য প্লাগইনগুলি দ্বারা নির্দিষ্ট অ্যান্ড্রয়েড সমর্থন লাইব্রেরির নির্দিষ্ট সংস্করণে নির্দিষ্ট সংস্করণে প্রান্তিক করে তোলে"। কোনও ধ্বংসাত্মক আচরণ ছাড়াই পরীক্ষিত।

cordova plugin add cordova-android-support-gradle-release --fetch

বিকল্পগুলির একটি সম্পূর্ণ সেটের জন্য ডকুমেন্টেশন পড়ুন: রেডমি

বিকল্প 2 : প্ল্যাটফর্মগুলি / অ্যান্ড্রয়েডের অধীনে বিল্ড . gradle এ পরবর্তী কোড স্নিপেট যুক্ত করুন

/** 
IMPORTANT - Manually added
Problem: 8 March 2018 - Google released version support-v4:28.0.0-alpha1 
which breaks the project with following error: unable to find attribute 
android:fontVariationSettings and android:ttcIndex

Effect: Force a specific version of the library
*/

configurations.all {
    resolutionStrategy.force 'com.android.support:support-v4:27.1.0'
}

সতর্কতা: আপনি অ্যান্ড্রয়েড প্ল্যাটফর্মটি সরিয়ে / যুক্ত করলে বিল্ড . gradle এর কোড ওভাররাইট করা হবে। আপনি যদি কোনও কারণে প্লাগইনটি ব্যবহার করতে না চান বা কোনওভাবে আপনার জন্য কাজ না করে থাকেন তবে পরিবর্তে একটি হুক তৈরি করুন এবং প্রতিবার ফাইলটি ওভাররাইট করুন। এখানে দ্বিতীয় মন্তব্য চেক করুন

সমস্যা যদি অবিরাম থাকে তবে আপনি চেষ্টা করতে পারেন:

cordova platform rm android
cordova platform add android

অথবা

আপনার পরীক্ষা করা ডিভাইসে অ্যাপ্লিকেশনটির পূর্ববর্তী সংস্করণটি ইনস্টল করা নেই তা নিশ্চিত করুন কারণ এটি বিদ্যমান সংস্করণটি ডাউনগ্রেড করার চেষ্টা করলে আপনি একটি দ্বিধাদ্বন্দ্বপূর্ণ ত্রুটি পাবেন: "INSTALL_FAILED_VERSION_DOWNGRADE" এবং "আনহানডেল্ডপ্রাইমরেজিকেশন সতর্কতা: আনহানডেলড প্রতিশ্রুতি প্রত্যাখ্যান"


2
সর্বোত্তম উত্তর. প্লাগইন ইনস্টল করা এটির সেরা এবং সহজ সমাধান। প্লাগইন যুক্ত হয়ে গেলে এটি স্বয়ংক্রিয়ভাবে ত্রুটিটি সমাধান করে। সহজ। প্ল্যাটফর্ম ফোল্ডারে ফাইলগুলি তৈরি করার আশেপাশে খেলার দরকার নেই যা প্ল্যাটফর্মগুলি অপসারণ এবং যুক্ত করার ক্ষেত্রে ম্যানুয়ালি ট্র্যাক করা দরকার।
নীল

বিকল্প 1 আমার জন্য কাজ করেছে। এটি অত্যন্ত হতাশাব্যঞ্জক যে কর্ডোভা তাদের নির্ভরতাগুলি অ-কঠোর পদ্ধতিতে সংজ্ঞায়িত করে। আমি জানি না কেন তারা এটা করে। কয়েক সপ্তাহ আগে আমার প্রকল্পটি একটি কার্যক্ষম অবস্থায় রেখে গেছে, একটি ডিবাগ সংস্করণটি পুনরায় রচনা করতে এটিতে ফিরে আসুন এবং হঠাৎ ত্রুটি ঘটে।
নরম্যান ব্রেকো

রেজিস্ট্রি মাধ্যমে প্লাগইন কর্ডোভা-অ্যান্ড্রয়েড-সমর্থন-গ্রেডেল-রিলিজ আনতে ব্যর্থ হয়েছে
netshark1000

@ netshark1000 এই সমস্যাটি প্লাগইন সম্পর্কিত নয় তবে আপনার প্যাকেজ.জসন বা কিছু প্রকল্প কনফিগারেশনের সাথে সম্পর্কিত। প্যাকেজ.জসনে একবার দেখুন এবং নিশ্চিত হয়ে নিন যে প্লাগইন ইতিমধ্যে ইনস্টল করা নেই। যদি অস্তিত্ব থাকে কেবল কল করুন আয়নিক কর্ডোভা এটি পুনরায় লোড করার জন্য প্রস্তুত। যদি সমস্যাটি ক্রমাগত প্ল্যাটফর্মগুলি সরান, প্লাগইন ফোল্ডার এবং প্ল্যাটফর্মগুলি পুনরায় যুক্ত করে। এই কৌতুক করতে হবে।
অ্যান্ড্রু রাদুলেসকু

1
নিখুঁত, # 1 আমাকে বাঁচিয়েছে
GBarroso

31

আমারও একই ত্রুটি ঘটছে। স্পষ্টতই, com.android.support:support-v4লাইব্রেরির একটি নতুন সংস্করণ প্রকাশিত হয়েছিল এবং আমি যে প্লাগইনটি ব্যবহার করছি সেটি com.android.support:support-v4:+নির্ভরতা হিসাবে সংজ্ঞায়িত করে plugin.xml+সাইন মানে এটি সর্বশেষ সংস্করণ (28.0.0), যা মনে হয় পাবেন অন্যান্য প্লাগিন সঙ্গে বেমানান বলে মনে হয়।

আমি থেকে সকল প্ল্যাগ ইন নির্ভরতা পরিবর্তন করে একটি উন্নয়ন সংস্করণ নির্মাণ করা হয় com.android.support:support-v4:+থেকে com.android.support:support-v4:27.1.0। এছাড়াও, আমি মৃত্যুদন্ড কার্যকর করেছি ionic cordova platform remove androidএবং ionic cordova platform add android। আশা করি এটি কমপক্ষে উন্নয়নের জন্য সহায়তা করে।


আপনাকে অনেক ধন্যবাদ, আমার পাশে, আমি অ্যান্ড্রয়েড প্ল্যাটফর্ম ডিরেক্টরিতে প্লাগইনের একটি জিনিস গ্রেড ফাইলগুলি পরিবর্তন করেছি। @avmatte সমাধান থেকে এটি কাজ না করে থাকলে চেকআউট করুন।
সানদুন প্রিয়াঙ্কা

আমার জন্য কাজ করছে না, আমি একই কাজ করছি তবে যখন আমি অ্যান্ড্রয়েড প্ল্যাটফর্মটি পুনরায় যুক্ত করব তখন সংস্করণটি v4: 24.1.1+ এ ফিরে আসবে এমনকি যখন আমি এটি 27.1.0 এ সরিয়ে ফেলেছি
জো স্লিম্যান

আমার এই ত্রুটি রয়েছে: com.android.support:support-v4:27.1.0 খুঁজে পাওয়া গেল না।
জো স্লেইমান

28

আমি এখনই প্ল্যাটফর্ম / অ্যান্ড্রয়েড ফোল্ডারে গিয়ে project.propertiesফাইলটি সম্পাদনা করে এই সমস্যাটি সমাধান করেছি এবং এর সাথে প্রতিস্থাপন com.android.support:support-v4:+করেছি com.android.support:support-v4:27.1.0


21

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

configurations.all {
    resolutionStrategy {
        force 'com.android.support:support-v4:27.1.0'
    }
}

যাইহোক, এখানে সংস্করণটি সেট করা একটি টেকসই সমাধান নয়।


সুন্দর. এটি আমার জন্য এটি করেছে তবে হ্যাঁ আমি ধারণা করি এটি মুছে যাবে এবং যদি আমি প্ল্যাটফর্মটি সরিয়ে যোগ করি বা কোনও নতুন মেশিনে ইনস্টল করি।
গার্নার্ড

এটিকে / প্ল্যাটফর্ম / অ্যান্ড্রয়েড / অ্যাপে রাখতে হয়েছিল; যেমন আপনি বলেন এটি স্থায়ী নয়
ব্যবহারকারীর জন্য 42323

@stu আপনি নিজের উত্তরে বলেন নি আমি এই কোডটি নীচে কোথায় রেখে দেব?
সাইয়েদ মোহাম্মদ আলী

15

এটি অদ্ভুত, তবে যখন আমি একই সংস্করণগুলির সাথে নীচের লাইনগুলি যুক্ত করি তখন এটি কার্যকর হয়।

এটি platforms/android/build.gradleফাইলটিতে আমার সম্পর্কিত লাইনগুলি :

dependencies {
  compile fileTree(dir: 'libs', include: '*.jar')
  // SUB-PROJECT DEPENDENCIES START
  debugCompile(project(path: "CordovaLib", configuration: "debug"))
  releaseCompile(project(path: "CordovaLib", configuration: "release"))
  compile "com.android.support:support-v4:26.+"
  compile "com.android.support:appcompat-v7:26.+"
  // SUB-PROJECT DEPENDENCIES END
}

// ADDED THESE LINES
configurations.all {
  resolutionStrategy.force 'com.android.support:support-v4:26+'
}

আমার প্রকল্পে, 'কর্ডোভা-প্লাগইন-ক্রসওয়াক-ওয়েবভিউ' প্লাগইনের কারণে সমস্যাটি দেখা দিয়েছে।


ধন্যবাদ এটি সত্যতা নির্ভর করে যা পূর্বে আপডেট দ্বারা ওভাররাইট করা হয়েছিল পুনরায় ডাউনলোডে সহায়তা করেছিল। যদিও আপনার বিল্ড.gradle এডিট করা নিরুৎসাহিত করা হয়েছে আমি এর আগের সমাধানগুলি কোনও উপকারের চেষ্টা করেছিলাম
নিকো

8

আমার একই ত্রুটি আছে তবে কর্ডোভা বিল্ডে নেই। com.android.support:appcompat-v7এবং নির্ভরতাগুলির একটি নতুন সংস্করণ B তবে অসম্পূর্ণ সংস্করণটি তৃতীয় প্যাকেজে রয়েছে যা নির্ভর করে o সুতরাংcom.android.support:appcompat-v7 আমি @avmatte এর সাহায্যে তৃতীয় প্যাকেজটি ঠিক করতে পারি না S এর সমাধান ।

বেমানান প্যাকেজ সন্ধান করতে @ সাই টেজার সমাধানটি ব্যবহার করুন :

gradlew -q dependencies app:dependencies --configuration debugAndroidTestCompileClasspath

তারপরে এটি সংশোধন করুন:

configurations.all {
    resolutionStrategy {
        force 'com.android.support:support-compat:{the_same_version}'
        force 'com.android.support:appcompat-v7:{the_same_version}'
        force 'com.android.support:support-core-utils:{the_same_version}'
        force 'com.android.support:support-core-ui:{the_same_version}'
        force 'com.android.support:support-fragment:{the_same_version}'
        force 'com.android.support:support-annotations:{the_same_version}'
        ...
    }
}

উপরোক্ত কোডটি নির্ভরতা সংস্করণকে চাপ দিন।


8

আমি একই ত্রুটির মুখোমুখি ছিলাম। Com.android.support:support-v4:+ এর জন্য প্লাগইন-ডিরেক্টরিতে একটি সম্পূর্ণ গবেষণা করেছেন + এবং এটিকে একটি স্ট্যাটিক সংস্করণ কোড দিয়ে প্রতিস্থাপন করেছেন।

আমার জন্য, com.android.support:support-v4:23.4.0 ঠিক কাজ করেছে। তখন অ্যান্ড্রয়েড প্ল্যাটফর্মটি সরানোর এবং পুনরায় যুক্ত করার প্রয়োজন ছিল না।


8

প্ল্যাটফর্ম ডিরেক্টরিটি পুনর্নির্মাণ করা অব্যাহত থাকলে এটি স্থির করার একটি সহজ উপায় এখানে রয়েছে এবং কোনও অপরাধীকে চেষ্টা করার জন্য এবং আপনার সমস্ত প্লাগইন পেরিয়ে যাওয়ার দরকার নেই। build-extras.gradleএই বিষয়বস্তু সহ একটি ফাইল তৈরি করুন :

configurations.all {
    resolutionStrategy {
        force 'com.android.support:support-v4:27.1.0'
    }
}

তারপরে after_platform_add/010_copy_build_extras.jsনিম্নলিখিত সামগ্রীগুলির সাথে ফাইলটি তৈরি করুন :

#!/usr/bin/env node

var fs = require('fs');

var rootdir = process.argv[2];
var android_dir = `${rootdir}/platforms/android`;
var gradle_filename = 'build-extras.gradle';
var gradle_file = `${rootdir}/${gradle_filename}`;
if (fs.existsSync(android_dir) && fs.existsSync(gradle_file)) {
  fs.createReadStream(gradle_file)
    .pipe(fs.createWriteStream(`${android_dir}/${gradle_filename}`));
}

এখন অ্যান্ড্রয়েড প্ল্যাটফর্মটি পুনরায় তৈরি করুন এবং এটি পিনড সমর্থন লাইব্রেরিটি ব্যবহার করবে।


সাব ডিরেক্টরি হুকগুলি কনফিগারেশন.এক্সএমএল ব্যবহার করা হয়েছে<platform name="android"> <hook src="hooks/copy_build_extras.js" type="before_build" /> </platform>
এক্সলর্ড

ঠিক আছে পরীক্ষিত এবং আপনার কোডটি অবৈধ মনে করা হয় process.argv[2]হয় buildআমার জন্য!
এক্সলোর্ড

দুঃখিত @ এক্সলর্ড আমার ধারণা, নতুন স্টাইল হুকের সাথে কাজ করার জন্য এটি কিছু সামঞ্জস্যের প্রয়োজন হবে, তবে আমি বর্তমানে একটি সাব ডিরেক্টরি হুক সহ এই সঠিক কোডটি ব্যবহার করছি এবং এটি দুর্দান্ত কাজ করছে।
ব্র্যাড পিচার

8

আমি আয়নিক ফোরামে সমাধানটি পেয়েছি, এটিই ছিল আমার জন্য একমাত্র সমাধান:

চালান:

আয়নিক কর্ডোভা প্ল্যাটফর্ম আরএম অ্যান্ড্রয়েড

চালান:

আয়নিক কর্ডোভা প্ল্যাটফর্মটি android@8.0.0 যুক্ত করুন

চালান:

আয়নিক কর্ডোভা প্লাগইন কর্ডোভা-প্লাগইন-অ্যান্ড্রয়েডেক্স যুক্ত করে

চালান:

আয়নিক কর্ডোভা প্লাগইন কর্ডোভা-প্লাগইন-অ্যান্ড্রয়েডএক্স-অ্যাডাপ্টার যোগ করে

আপনার গ্রেড.প্রোপার্টি রয়েছে তা নিশ্চিত করুন:

cdvMinSdkVersion = 19

আপনার বিল্ড.gradle রয়েছে তা নিশ্চিত করুন:

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 }

আপনার কনফিগারেশন.এক্সএমএল রয়েছে তা নিশ্চিত করুন:

<preference name="android-minSdkVersion" value="19" />

থেকে: https://forum.ionicframework.com/t/firebase-app-unable-to-compile-on-android-with-aapt-error/166564/7

যা স্ট্যাকওভারফ্লো উত্তরেও পরিচালিত হয়: https://stackoverflow.com/a/56656680/839691


আমার পুরানো Ionic 3অ্যাপটিতে এটিই একমাত্র সমাধান কাজ করে works ধন্যবাদ!
সম্পথ

আয়নিক 3 ব্যবহার করে: এটি আমাকে এই সমস্যাটি সমাধান করতে সহায়তা করেছে, কিন্তু এখন অন্য একটি সমস্যা পেয়েছে * কী ভুল হয়েছে: টাস্কের জন্য মৃত্যুদণ্ড কার্যকর করা হয়নি ': অ্যাপ: সংকলনডেবগ জাভা উইথজ্যাভ'। > সংকলন ব্যর্থ হয়েছে; বিশদ জন্য সংকলক ত্রুটি আউটপুট দেখুন।
প্রেম সানিল

1
@ প্রিমসানিল নিশ্চিত নয় যে এটি আপনার সমস্যার সৃষ্টি করছে কিন্তু এটি নিশ্চিত করুন যে আপনি অ্যান্ড্রয়েড স্টুডিওর এসডিকে ম্যানেজারে বিল্ড সরঞ্জামগুলি 28.0.3 ডাউনলোড করেছেন।
alpere

@ আল্পেরে আমাকে নোড সংস্করণটি v10.17.0 এ আপডেট করতে হবে এবং অব্যবহৃত প্লাগইনগুলি কাজ শুরু করেছে (আইওনিক 3 নীল থিম ব্যবহার করে)
প্রেম সানিল

5

আপনার কয়েকটি গ্রন্থাগার ব্যবহার করা উচিত

com.android.support:support-v4:+

এটি কোনটি সহ, সন্ধান করুন

gradlew -q dependencies app:dependencies --configuration debugAndroidTestCompileClasspath

এবং সেই লাইব্রেরিকে মডিউল হিসাবে যুক্ত করুন যদি এটি সর্বশেষ আপডেটে নির্দিষ্ট সংস্করণ ব্যবহার না করে (সেই লাইব্রেরিতে কোনও সমস্যাও উত্থাপন করুন!))

@Avmatte ধন্যবাদ!

সম্পাদনা: আপনি লাইব্রেরি সংস্করণ জোর করার জন্য গ্রেডও অনুরোধ করতে পারেন

ext {
    supportVersion {latest_version_here}
} // In root project.gradle

configurations.all {
    resolutionStrategy {
        force "com.android.support:support-v4:$supportVersion"
    }
}

4

গতকাল নীল থেকেও আমার একই সমস্যা ছিল। এটি এলোমেলোভাবে শুরু হয়েছে, তবে চারপাশে পড়া থেকে মনে হচ্ছে @ সিপ্রি 90 এর উপরে উল্লিখিত একটি আপডেটের সাথে এটি করা উচিত। যাইহোক, আমি চেষ্টা করেছি এবং প্রয়োজনীয় ম্যানুয়াল পরিবর্তনটি কোথায় করা যায় তা খুঁজে পেলাম না।

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

@ ইউএনইউবিবিল build.gradleবিশ্বব্যাপী পূর্ববর্তী সংস্করণটিকে বলপূর্বক জোর করে ফাইলে নিম্নলিখিতটি প্রস্তাব করেছেন :

configurations.all {
    resolutionStrategy.force 'com.android.support:support-v4:24.0.0'
}

এটি আমার জন্য তাত্ক্ষণিকভাবে কাজ করেছে এবং অন্যদের প্লাগইনগুলির সাথে 'com.android.support:support-4:<28- এর উপর নির্ভরশীলতা থাকতে সহায়তা করতে পারে। নতুন সংস্করণ ২৮ বিষয়টি মনে হচ্ছে।

আমি আশা করি এটি কাউকে এগিয়ে যেতে সহায়তা করবে।


4

কোটলিন বিকাশকারীদের জন্য কেবল কয়েকটি টিপস:

আপনি যদি এখানে এই উত্তরগুলি অনুসরণ করেন তবে আপনি নিশ্চিত যে support-v4আপনার প্রকল্পে লাইব্রেরি নেই তবে আপনি এখনও এই ত্রুটিটি দেখছেন, দয়া করে একবার দেখুনktx লাইব্রেরিটি ।

আমি কেবল খুঁজে বের করেছি যে আমি 1.0.0-alpha1কেটিএক্স লাইব্রেরির জন্য সর্বশেষতম সংস্করণটি ব্যবহার করছি এবং এই ত্রুটিটি দেখিয়েছি; আমি সংস্করণে ফিরে যাওয়ার পরে 0.3, এখন সবকিছু স্বাভাবিক to


সমাধান করতে ব্যর্থ: অ্যান্ড্রয়েডএক্স.ফ্রেগমেন্ট: ফ্র্যাগমেন্ট-কেটিএক্স: ০.০, যখন আমি '1.0.0-alpha1' এ পরিবর্তন করি তখন একই সমস্যা দেখা দেয়।
মাহমুদ আলী

@ মাহমুদআলি অন্যান্য নির্ভরতা একবার দেখুন? আমি কেবল আমার পরিস্থিতি পোস্ট করছি এবং গুগলের অন্যান্য প্যাকেজটিও এটির ভুল হতে পারে।
অ্যান্তোনাইফ

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

4

আপনার প্ল্যাটফর্ম / অ্যান্ড্রয়েড / বিল্ড.gradle এ নিম্নলিখিত লাইনগুলি যুক্ত করুন

  configurations.all {
        resolutionStrategy {
            force 'com.android.support:support-v4:27.1.0'
        }
    }

এখনও সমস্যা থাকলে এই কমান্ডটি চালনার চেষ্টা করুন:

cordova plugin add cordova-android-support-gradle-release --fetch

3

আপনার build.gradleফাইল এড

configurations.all {
    resolutionStrategy {
        force 'com.android.support:support-v4:27.1.0'
    }
}

এবং আপনার project.propertiesফাইল পরিবর্তন cordova.system.library.3করুন cordova.system.library.3=com.android.support:support-v13:27.+


2

জন্য Phonegap বিল্ড ব্যবহারকারীরাই @catu একটি মন্তব্যে mentionned, আপনি চেষ্টা করে দেখতে পারেন এই প্লাগিন যা উদ্দেশ্য বিল্ড ব্যর্থতা সমর্থন লাইব্রেরি বিভিন্ন সংস্করণ অন্তর্ভুক্ত করে সৃষ্ট প্রতিরোধ


1

প্ল্যাটফর্ম / অ্যান্ড্রয়েড / অ্যাপ্লিকেশন / বিল্ড.gradle ফাইলে বিল্ডস্ক্রিপ্ট}} ব্লকের ঠিক পরে নিম্নলিখিত লাইন কোডগুলি রেখে এই সমস্যাটি ঠিক করুন:

configurations.all {
    resolutionStrategy {
            force 'com.android.support:support-v4:27.1.0'
    }
}

1

কর্ডোভা-প্লাগ-ইন-ফাইল-ওপেনার 2 প্লাগইন ইনস্টল করার পরে আমার একই সমস্যা হয়েছিল। এটি করার পরে এটি পুনরুদ্ধার করা হয়েছে: বিকল্প 1: কর্ডোভা-অ্যান্ড্রয়েড-সমর্থন-গ্রেড-রিলিজ প্লাগইন ইনস্টল করুন। কর্ডোভা প্লাগইন কর্ডোভা-অ্যান্ড্রয়েড-সমর্থন-গ্রেডেল-রিলিজ - ফ্যাচ যুক্ত করুন


0

একই সমাধান সহ আরেকটি অ্যাপ্রোচ হুক তৈরি করা। এটি অবিচল (প্ল্যাটফর্ম পুনরায় ইনস্টল করার পরে), আপনি এটি প্রতিশ্রুতিবদ্ধ করতে পারেন এবং এটি পুনরায় যুক্ত প্ল্যাটফর্মের প্রয়োজন হয় না।

% প্রকল্পের% \ স্ক্রিপ্ট \ অ্যান্ড্রয়েড \ অ্যান্ড্রয়েড-সমর্থন-version.js

#!/usr/bin/env node

var fs = require('fs');

function replace_strings_in_file(filename, replacementsObject) {
  if (fs.existsSync(filename)) {
    var data = fs.readFileSync(filename, 'utf8');
    Object.keys(replacementsObject).forEach(function (to_replace) {
      var replace_with = replacementsObject[to_replace];
      data = data.replace(to_replace, replace_with);
    });
    console.log(data);
    fs.writeFileSync(filename, data, 'utf8');
  } else {
    console.log('file not found');
  }
}

module.exports = function (context) {
  var rootdir = process.argv[2];
  if (rootdir) {
    replace_strings_in_file("platforms/android/project.properties", {'com.android.support:support-v4:+': 'com.android.support:support-v4:27.1.0'});
    console.log('com.android.support version fix');
  }
};

কনফিগার ইন হুক

% প্রকল্পের% \ config.xml

...
<platform name="android">
  <hook src="scripts/android/android-support-version.js" type="before_build" />
  ...

আপনার প্রকল্পে fs নির্ভরতা ইনস্টল করুন:

এনপিএম আমি এফএস - সেভ-দেব

রান বিল্ড:

কর্ডোভা বিল্ড অ্যান্ড্রয়েড


0

সুপার সহজ এবং সঠিক সহজতর করার উপায়!

কেবল এসডিকে আপডেট করুন এবং অ্যান্ড্রয়েডের সর্বশেষ 2 সংস্করণ যুক্ত করুন ... এবং কম্পিউটারটি পুনরায় চালু করুন! সম্পন্ন...

এখন আমাদের গাড়ি এবং খেলাধুলার বিষয়ে কথা বলার সময় হয়েছে ...


0

আমারও একই সমস্যা ছিল এবং প্রদত্ত সমাধানগুলির কোনওোটাই আমার পক্ষে কাজ করেনি। Android SDK বিল্ড-সরঞ্জামগুলির সর্বশেষতম সংস্করণ ইনস্টল করা (27.0.3) আমার সমস্যার সমাধান করেছে।


0

সমাধান লিঙ্ক

এটি কমপ্যাট প্লাগইনের কারণে। আপনার যদি পুরানো সংস্করণ ( 1.2.0 এর কম ) থাকে এবং কর্ডোভা- অ্যান্ড্রয়েড@6.3.0 সেট করে থাকেন তবে সেই প্লাগইনটি সরান

কর্ডোভা প্লাগইন আরএম কর্ডোভা-প্লাগইন-কম্প্যাট - ফোর্স

কর্ডোভা প্লাগইন কর্ডোভা- প্লাগিন-compat@1.2.0 যোগ করুন

কর্ডোভা প্ল্যাটফর্ম আরএম অ্যান্ড্রয়েড

আয়নিক কর্ডোভা প্ল্যাটফর্মটি android@6.3.0 যুক্ত করুন

আমার ক্ষেত্রে কাজ করছি। ধন্যবাদ :)


0

@ ব্র্যাড পিচারের উত্তরে আপডেট:

hooks/copy_build_extras.js

#!/usr/bin/env node

var fs = require('fs');

module.exports = function (context) {
  var rootdir         = context.opts.projectRoot;
  var android_dir     = `${rootdir}/platforms/android`;
  var gradle_filename = 'build-extras.gradle';
  var gradle_file     = `${rootdir}/${gradle_filename}`;
  if (fs.existsSync(android_dir) && fs.existsSync(gradle_file)) {
    fs.createReadStream(gradle_file)
      .pipe(fs.createWriteStream(`${android_dir}/${gradle_filename}`));
  }
};

config.xml

<platform name="android">
    <allow-intent href="market:*" />
    <hook src="hooks/copy_build_extras.js" type="before_build" />
</platform>

build-extras.gradle মূল ডিয়ার

configurations.all {
  resolutionStrategy {
    force 'com.android.support:support-v4:27.1.0'
  }
}

0

আমি দেশীয় প্রতিক্রিয়া নিয়ে এই সমস্যাটিতে চলেছিলাম এবং এটি আমার নিম্নোক্ত লাইনের কারণে ঘটেছিল android/app/build.gradle:

implementation ("com.google.android.gms:play-services-base:+") {
  force = true;
}
implementation ("com.google.android.gms:play-services-maps:+") {
  force = true;
}

ইত্যাদি ...

স্পষ্টতই এটি + নতুন 17.0.0 সংস্করণে সমাধান হয়েছে যা আমার বিল্ডটি ভেঙে দিয়েছে।
+ 16.0.0 (অথবা প্লে-পরিষেবাদি-বেসের জন্য 16.0.1) তে পরিবর্তন করা আমার সমস্যার সমাধান করেছে


0

এই সমস্যাটি আমাকে এক সপ্তাহ ধরে হত্যা করছিল।

শেষ পর্যন্ত আমি শেষ android@6.4.0

আমি পরিবর্তন android/project.propertiesকরে পরিবর্তন

#cordova.system.library.3=com.google.android.gms:play-services-analytics:+
cordova.system.library.3=com.google.android.gms:play-services-analytics:15+

এই পরিবর্তনটি অবশেষে আমাকে অন্ধকারের ttcIndex ত্রুটি বার্তার গর্ত থেকে বের করে এনেছে।

তাহলে আমি এই ত্রুটি পেয়েছি

com.android.builder.dexing.DexArchiveBuilderException: 
  com.android.builder.dexing.DexArchiveBuilderException

সম্ভবত জাভা সংস্করণ সমস্যার কারণে ত্রুটিটি হয়েছিল। আমি তারপরে android/build.gradleনিম্নলিখিত পরিবর্তনগুলি দিয়ে পরিবর্তন করেছি

compileOptions {
  #sourceCompatibility JavaVersion.VERSION_1_6
  #targetCompatibility JavaVersion.VERSION_1_6
  sourceCompatibility JavaVersion.VERSION_1_8
  targetCompatibility JavaVersion.VERSION_1_8
}

এছাড়াও নোট করুন যে আমার cordova-android-support-gradle-releaseপ্লাগইন ইনস্টল করা আছে তবে আমার এটির প্রয়োজন হলে কোনও ধারণা নেই।


-1

এটি নামের একটি ফোল্ডারে মানগুলি। XML এ সদৃশ এন্ট্রি support-compat-28.0.0-alpha1.aar

আপনি উইন্ডোজ এ এই ফাইলটি পাবেন \users\YOURUSERID\.gradle\caches\transforms-1\files-1.1

একবার সেই ফোল্ডারের অভ্যন্তরে আপনাকে মানগুলি .xml আরও গভীর থেকে যেতে হবে

সেই ফাইলটিতে একটি উপাদান অনুসন্ধান করুন <declare-styleable name="FontFamilyFont>

এই উপাদানটিতে, এর সাথে চারটি লাইন সরান android:

আমি এই পরিবর্তনটি করার পরে আমি ত্রুটি ছাড়াই আবার তৈরি করতে পারি।

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