অ্যান্ড্রয়েড এমুলেটর: ইনস্টলেশন ত্রুটি: INSTALL_FAILED_VERSION_DOWNGRADE


142

আমি বর্তমানে একটি ছোট অ্যান্ড্রয়েড অ্যাপ্লিকেশন সংকলন এবং পরীক্ষার চেষ্টা করছি।

আমি Eclipse ব্যবহার করছি, এবং SDK 4.2 (এপিআই স্তর 17) ইনস্টল করা আছে। আমি সেট করেছি

<uses-sdk android:targetSdkVersion="17" android:minSdkVersion="8" />

যদিও আমি বিভিন্ন মানগুলি (যেমন 17/17) চেষ্টা করেছি।

আমি কোনও গুগলাপিআইআই ফাংশন ব্যবহার করি না, বা এপিআই লেভেল ৮-তে উপলব্ধ না এমন ফাংশনগুলিও ব্যবহার করি না বা কমপক্ষে আমি এই বিষয়ে কোনও সংকলন ত্রুটি বা সতর্কতা পাই না।

আমি যখন প্রকল্পটি সংকলন করি এবং এটিকে অ্যান্ড্রয়েড ২.২.১ চালিত কোনও আসল ডিভাইসে চালিত করি তখন অ্যাপ্লিকেশনটি ঠিকঠাক হয়। তবে আমি যখন অ্যানড্রয়েড ৪.২, এপিআই লেভেল ১ with এর সাথে একটি এমুলেটর (অ্যান্ড্রয়েড ভার্চুয়াল ডিভাইস) এ অ্যাপ্লিকেশনটি চালানোর চেষ্টা করি তখন আমি নিম্নলিখিত ত্রুটিটি পাই:

[2012-12-10 21:10:29 - SoftKeyboard] Installation error: INSTALL_FAILED_VERSION_DOWNGRADE
[2012-12-10 21:10:29 - SoftKeyboard] Please check logcat output for more details.
[2012-12-10 21:10:29 - SoftKeyboard] Launch canceled!

লগক্যাটটি খালি। আমার আসলেই কোনও ক্লু নেই, এই ত্রুটিটির অর্থ কী ...

উত্তর:


353

এর অর্থ আপনি এমুলেটরটিতে ইতিমধ্যে ইনস্টল থাকা অ্যাপ্লিকেশনটির মতো একই প্যাকেজনামের সাথে একটি অ্যাপ্লিকেশন ইনস্টল করার চেষ্টা করছেন, তবে আপনি যেটি ইনস্টল করতে চেষ্টা করছেন তার একটি কম সংস্করণকোড রয়েছে (আপনার সংস্করণ সংখ্যার জন্য পূর্ণসংখ্যার মান)।

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

  • বর্তমানে ইনস্টল করা অনুলিপিটি আনইনস্টল করুন

  • অথবা ইনস্টলড অ্যাপ্লিকেশনটির সংস্করণ নম্বর নির্ধারণ করতে আপনার ফোনের সেটিংস> অ্যাপ্লিকেশন ম্যানেজারটি খুলুন এবং <manifest android:versionCode অ্যান্ড্রয়েড ম্যানিফেস্টে আপনার উচ্চতর হতে হবে।

  • বা https://stackoverflow.com/a/13772620/632951


1
ধন্যবাদ! এটি ঠিক সেটাই ছিল - আমি পুরানো এসডিকে থেকে সফটকিবোর্ডের উদাহরণ দিয়ে ব্যাখ্যা করেছি এবং মনে হচ্ছে একটি এমনিটর ডিভাইসে (ডিফল্টরূপে ?!) ইতিমধ্যে ইনস্টল করা একটি সফ্টকিবোর্ড উদাহরণ (তবে অন্য কোনও পরে সংস্করণে) রয়েছে। আমার অ্যাপ্লিকেশনটির নামকরণের পরে প্রত্যাশার মতো সবকিছুই কাজ করেছিল ...
এনডিবিডি

2
@ আলেকজান্ডার: আপনি কি এই উত্তরটি -d পতাকা অন্তর্ভুক্ত করতে আপডেট করতে পারবেন?
ডেভিড আলভেস

8
অ্যাপটি আনইনস্টল করার দরকার নেই। পতাকা ব্যবহার করুন: -r -d এই পতাকাগুলির অর্থ পুনরায় ইনস্টল এবং ডাউনগ্রেড।
পেটারসিন

1
@ পেটারসিন: আমি কোথায় এই পতাকাগুলি গ্রহণ করব?
ভায়োলেট জিরাফ

2
@ ভায়োলেট জিরাফ এটি কমান্ড লাইনে ব্যবহৃত হয়:
অ্যাডবি

61

আপনি -dঅ্যাডবি ইনস্টলতে পতাকা যুক্ত করার বিষয়টিও বিবেচনা করতে পারেন। এটি এই ত্রুটি উপেক্ষা করা উচিত।

adb install -r -d abc.apk

8
Undocumented তবে কাজ করে দেখা যাচ্ছে। আমাকে এটি আলাদাভাবে -d হিসাবে লিখতে হয়েছিল, আর-র সাথে এটি একত্রিত করে -rd কাজ করে না।
মুহস্মীথ

3
এটা এখন নথিভুক্ত আছে: -d: allow version code downgrade। এখনও থেকে আলাদা করতে হবে-r
wisbucky

1
দস্তাবেজগুলি থেকে (2020): -d: allow version code downgrade (debuggable packages only)
অ্যালেক্স.কে.

30

প্রথমে এমুলেটর থেকে আপনার অ্যাপ্লিকেশনটি আনইনস্টল করুন:

adb -e uninstall your.application.package.name

তারপরে অ্যাপ্লিকেশনটি আবার ইনস্টল করার চেষ্টা করুন।


8
বা কোনও সংযুক্ত শারীরিক ডিভাইসের জন্য adb -s DEVICESERIALNUMBER uninstall your.application.package.name, যেখানে DEVICESERIALNUMBERব্যবহার করে পাওয়া যাবে adb devices -l
জোয়েল পুররা

আপনি যদি কোনও অ্যাপ্লিকেশন ডিবাগ করতে চান তবে একটি অপ্রয়োজনীয় পদক্ষেপের মতো মনে হচ্ছে।
ইগোরগানাপলস্কি

8

এটি আমার প্রকল্পে ঘটছিল কারণ আমি সংস্করণ কোড সেট করতে একটি এক্সএমএল সংস্থান ব্যবহার করছিলাম।

AndroidManifest.xml:
android:versionCode="@integer/app_version_code"

app.xml:
<integer name="app_version_code">64</integer>

পূর্ববর্তী সংস্করণগুলিতে এটি কোনও সমস্যা ছিল না adb, তবে, platform-toolsr16 হিসাবে এটি আর সঠিক সংখ্যার সাথে সমাধান করা হচ্ছে না। আপনি হয় adb -rম্যানিফেস্টে আক্ষরিক ব্যবহার করে পুনরায় ইনস্টলটি জোর করে ব্যবহার করতে পারেন বা ইস্যুটিকে পুরোপুরি এড়াতে পারেন :

android:versionCode="64"

এটি আমার জন্য সমস্যা ছিল এবং আমি সম্মত হয়েছি যে এটি সংস্করণ কোডটি সঠিকভাবে সমাধান করছে না, এমনকি এটি বাড়িয়েছে (উদা: 65)
ইনস্টল_ফায়াল্ড_ভারশন_ডাউনগ্র্যাড এড়াবে

5

প্লে স্টোর থেকে স্বাক্ষরিত রিলিজ এপিপির শীর্ষে একটি ডিবাগ / স্বাক্ষরিত এপিএল ইনস্টল করার চেষ্টা করার সময় এটি ঘটতে পারে।

H:\>adb install -r "Signed.apk"
2909 KB/s (220439 bytes in 0.074s)
        pkg: /data/local/tmp/Signed.apk
Success

H:\>adb install -r "AppName.apk"
2753 KB/s (219954 bytes in 0.078s)
        pkg: /data/local/tmp/AppName.apk
Failure [INSTALL_FAILED_VERSION_DOWNGRADE]

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


আমি ডাউনভোটার নই, তবে আমি অনুমান করি যে এটি ঘটে যাওয়ার একমাত্র কারণ এটি নয়।
ভিস্কারি

3

INSTALL_FAILED_VERSION_DOWNGRADE

সমস্ত অ্যান্ড্রয়েড অ্যাপ্লিকেশানের একটি প্যাকেজের নাম রয়েছে। প্যাকেজের নামটি ডিভাইসের অ্যাপটিকে স্বতন্ত্রভাবে সনাক্ত করে। ডিভাইসে ইতিমধ্যে ইনস্টল থাকা অ্যাপ্লিকেশন হিসাবে একই প্যাকেজটির নাম যদি এই ত্রুটি দেখানো হয়।

  1. আপনি প্রথমে আপনার ডিভাইস থেকে অ্যাপ্লিকেশনটি আনইনস্টল করতে পারেন এবং তারপরে নতুনটি ইনস্টল করতে পারেন।
  2. প্রতিবার নতুন সংস্করণ প্রকাশের সময় আপনি কেবল সংখ্যাটি বাড়িয়ে নিতে পারেন

1
আপনি সংশোধন করেছেন প্রতিটি সংস্করণে সংস্করণকোড বাড়ানো উচিত। তবে, মুক্তির আগে বিকাশের সময়ে নয়। এছাড়াও, আপনি ইতিমধ্যে ইনস্টল হওয়া এপিপি (আনইনস্টল না করে) এর উপরে একই সংস্করণকোডের সাথে একটি APK ইনস্টল করতে সক্ষম হওয়া উচিত। আমার হান্চ হ'ল সমস্যাটি রিসোর্স রেফারেন্স করা সংস্করণ কোড ছিল - দেখুন: স্ট্যাকওভারফ্লো.
স্টান কুর্দিজিল

3

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

Installation error: INSTALL_FAILED_PERMISSION_MODEL_DOWNGRADE
Please check logcat output for more details.
Launch canceled!

সমাধান অনুসন্ধান করে আমি অনুসন্ধান করে এখানে এসেছি। আমি অ্যাপটি মুছে ফেলেছি কিন্তু এখনও নেক্সাস in এ এই সমস্যাটি রয়েছে Later

Settings > Apps > [My app name] have to removed for all user. 

2

এসডিকে এসআরসি কোড অনুসারে ... \ অ্যান্ড্রয়েড -২২ \ অ্যান্ড্রয়েড \ সামগ্রী \ সন্ধ্যা \ প্যাকেজম্যানেজআর.জভা

/**
 * Installation return code: this is passed to the {@link IPackageInstallObserver} by
 * {@link #installPackage(android.net.Uri, IPackageInstallObserver, int)} if
 * the new package has an older version code than the currently installed package.
 * @hide
 */
public static final int INSTALL_FAILED_VERSION_DOWNGRADE = -25;

নতুন প্যাকেজের যদি বর্তমানে ইনস্টল করা প্যাকেজটির চেয়ে পুরানো সংস্করণ কোড থাকে।


যদিও একই সংস্করণ কোডের সাথে ঘটবে না
স্টান কুর্দিজিল

2

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

sudo ionic run android 

আমি দৌড়ে এই ঠিক করতে সক্ষম

adb uninstall com.mypackage.name

2

আপনি এটি চেষ্টা করতে পারেন: adb install -r -d -f your_Apk_path


1

যখন আমি একটি অ্যানড্রয়েড স্টুডিও অ্যাপ্লিকেশনটি গ্রহনে আমদানি করি তখন এটি আমার কাছে ঘটেছিল।

অ্যান্ড্রয়েড স্টুডিও প্রকল্প থেকে আমদানি করার সময় আমি andoridmanifest.xML ফাইলটি কিছুটা সংশোধন করা দরকার fig আমি একটি নতুন পরীক্ষা প্রকল্প তৈরি করেছি, এবং এটি শিরোনামটি মেলানোর জন্য শিরোনামগুলির অনুলিপি করেছি। voila, সমস্যা সমাধান।


1

এই ত্রুটিটি আমার অ্যান্ড্রয়েড প্রকল্পে একাধিক ধরণের জিএফএক্স ফাইলগুলির সাথে উপস্থিত হয়। শেষে মেনিফেস্ট ফাইলটিতে কোনও পরিবর্তন গৃহীত হয়নি।

কারণ অ্যান্ড্রয়েড ডিভাইসগুলি সম্পর্কে আমার জ্ঞানের অভাবটি আমি ভুলে যেতে পারি যে আমার পরীক্ষার ডিভাইসের দ্বিতীয় ব্যবহারকারী রয়েছে। এই ব্যবহারকারীর কাছে আমার অ্যাপ্লিকেশনটির একটি ইনস্টলড সংস্করণ রয়েছে তাই আমাকে এই ব্যবহারকারীর অ্যাকাউন্টের জন্য অ্যাপটিও মুছতে হবে এবং এটি কাজ করে।


0

আমাকে হত্যার চেষ্টা চালিয়ে যাওয়ার বিষয়টি হ'ল আমি জানতাম না যে এই অ্যাপ্লিকেশনটি আমার অতিথির অ্যাকাউন্টের জন্য ইনস্টল করা হয়েছে (যদিও আমি অন্যান্য অ্যাকাউন্টগুলির জন্য এটি আনইনস্টল করে দিয়েছি ..)

তাই আমি অ্যাপ্লিকেশন ব্যবস্থাপকটিতে অ্যাপটি অনুসন্ধান করেছি এবং সমস্ত ব্যবহারকারীর জন্য কেবল আনইনস্টলটিতে ক্লিক করেছি

এখানে চিত্র বর্ণনা লিখুন


0

কেবলমাত্র পূর্ববর্তী এপিকে আনইনস্টল করুন এবং আপডেট হওয়া APKটি ইনস্টল করুন


0

এটি প্রকৃত অ্যাপ্লিকেশন সংস্করণ সমস্যার চেয়ে গুগল প্লে পরিষেবাদি নির্ভরতাগুলির সাথে সমস্যা হতে পারে।

কখনও কখনও, এটি এমন হয় না যে:

ক) অ্যাপ্লিকেশনটির একটি নতুন সংস্করণ ইনস্টল করা আছে, নতুন আছে বা নেই) খ) ডিভাইসের অন্য ব্যবহারকারীর অ্যাকাউন্টে অ্যাপ্লিকেশনটির বিদ্যমান সংস্করণ রয়েছে

সুতরাং ত্রুটি বার্তাটি কেবল বোগাস।

আমার ক্ষেত্রে, আমার ছিল:

implementation 'com.google.android.gms:play-services-maps:16.0.0'
implementation 'com.google.android.gms:play-services-location:16.0.0'
implementation 'com.google.android.gms:play-services-gcm:16.0.0'

তবে আমি যখন চেষ্টা করেছি

implementation 'com.google.android.gms:play-services-maps:17.0.0'
implementation 'com.google.android.gms:play-services-location:17.0.0'
implementation 'com.google.android.gms:play-services-gcm:17.0.0'

আমি অ্যান্ড্রয়েডএক্স সম্পর্কিত ত্রুটি পেয়েছি, কারণ আমি এখনও অ্যান্ড্রয়েডএক্সে আপগ্রেড করেছিলাম এবং এটি করতে প্রস্তুত ছিল না। আমি খুঁজে পেয়েছি যে সর্বশেষ 16.xy সংস্করণ ব্যবহার করে কাজ হয় এবং আমি ত্রুটি বার্তাটি আর পাই না। তদ্ব্যতীত, আমি প্রস্তুত হওয়ার পরে, অ্যান্ড্রয়েডএক্স আপগ্রেড করার জন্য আমি অপেক্ষা করতে পারি।

implementation 'com.google.android.gms:play-services-maps:16.+'
implementation 'com.google.android.gms:play-services-location:16.+'
implementation 'com.google.android.gms:play-services-gcm:16.+'
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.