ব্যর্থতা [INSTALL_FAILED_INVALID_APK]


86

আমি যখন কেবলমাত্র অ্যান্ড্রয়েড স্টুডিও 0.2.10 এ তৈরি করেছি এমন একটি প্রকল্প চালানোর জন্য ক্লিক করি এবং আমার অ্যান্ড্রয়েড নির্বাচন করুন (ইউএসবি দ্বারা ডিবিগ দ্বারা ইউএসবি দ্বারা সংযুক্ত) আমি এই ত্রুটি পেয়েছি:

Waiting for device.
Target device: 0123456789ABCDEF
Uploading file
    local path: /Users/Rui/AndroidStudioProjects/FirstAppProject/FirstApp/build/apk/FirstApp-debug-unaligned.apk
    remote path: /data/local/tmp/rui.firstapp
Installing rui.firstapp
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/rui.firstapp"
pkg: /data/local/tmp/rui.firstapp
Failure [INSTALL_FAILED_INVALID_APK]

এটি হতে পারে কোন ধারণা?


আমার ফোন নির্বাচন করুন ... !! আপনি কি এমুলেটর বোঝাতে চেয়েছিলেন ... ??
গোকুল নাথ কেপি

4
না, ইউএসবি চালু করে আমার অ্যান্ড্রয়েড deb
রুইজি

আপনি কি নিশ্চিত করেছেন যে অ্যাপটি আপনি ব্যবহার করছেন এমন ডিভাইসের সাথে সামঞ্জস্যপূর্ণ? আপনার ম্যানিফেস্টে মান MinSDKএবং TargetSDKমানগুলি পরীক্ষা করুন । আপনি কি এমুলেটরটিতে এটি ইনস্টল করার চেষ্টা করেছেন? সমস্যাটি APK বা আপনার ডিভাইসে রয়েছে কিনা তা সঙ্কুচিত করবে।
free3dom

উত্তর:


157

আমি এটিকে অ্যান্ড্রয়েড স্টুডিওতে পেয়ে যাচ্ছিলাম এবং এটি ঠিক করার জন্য আমি যা করেছি তা গিয়েছিল "Build" > "Clean Project"এবং এটি সবেমাত্র কাজ করে।


8
যদি এটি এখনও কাজ না করে, বিল্ড -> ক্লিন প্রকল্পের পরে পুনর্নির্মাণ প্রকল্পটি কাজ করবে।
পেই

আমি মাত্র 5.4.1 গ্রেড থেকে 5.6.1 গ্রেডের একটি আপডেটের সাথে এটি পেয়েছি - নিশ্চিত নয় যে কী অদ্ভুততার কারণে এটি ঘটেছে তবে বড় গ্রেড আপগ্রেডগুলি অবশ্যই পারে। একটি বিকল্প কমান্ড-লাইন সমাধানের ./gradlew cleanপরে আপনার সাধারণ বিল্ড কমান্ডটি অনুসরণ করা হয়
মাইক হার্ডি

24

কেবলমাত্র ফোল্ডারে পুরানো এপিডির অ্যান্ড্রয়েড / অ্যাপ / বিল্ড / আউটপুট / এপিকে / ডিবাগ / অ্যাপ-ডিবাগ.এপকে সরিয়ে দিন। এখানেই শেষ. আপনার কোডিং উপভোগ করুন ...


স্বাগতম @ ভেনকাটেশমোগিলি
মাহেন্দ্রেন

4
rm -fr android/app/build/outputs/apk/debug/
Felansu

15

আমি একবার একই সমস্যা পেয়েছি, আমি যা পর্যবেক্ষণ করেছি তা হল, আমার অ্যান্ড্রয়েডম্যানিফেস্ট.এক্সএমএলে প্যাকেজের নামটি একটি খালি স্থান অক্ষর দিয়ে শুরু হয়েছিল। like " com.example.test" instead of "com.example.test"

আমি আমার মেনিফেস্ট ফাইল থেকে এই জাতীয় সমস্ত অবৈধ স্পেস সরিয়েছি, এটি আমার সমস্যার সমাধান করেছে

1 : '-' প্যাকেজের নামে সম্পাদনাও কিছু অ্যান্ড্রয়েড সংস্করণে একই সমস্যা সৃষ্টি করে


4
কি দারুন! আমি ভেবেছিলাম invalidate cache and restartএকটি পরিষ্কার বিল্ডিং জোর করবে, স্পষ্টতই তা হয় না।
গ্যাব্রিয়েল ওশিরো

10

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

https://code.google.com/p/android/issues/detail?id=55841


9

যদি কারও এখনও সমস্যা হয় তবে বিল্ড-> ক্লিন প্রকল্প তারপর বিল্ড-> পুনর্নির্মাণ প্রকল্পটি শেষ পর্যন্ত গ্রেডল ফাইলের সাথে প্রকল্প সিঙ্ক করুন


8

কিভাবে এই সমস্যা সমাধানের জন্য:

  1. ইনস্টল করুন RootExplorer
  2. tmpএসডি কার্ডে নতুন ফোল্ডার তৈরি করুন
  3. Tmp ফোল্ডারে দীর্ঘক্ষণ টিপুন এবং Linkএই ফোল্ডারে নির্বাচন করুন (মেনুতে শেষ বিকল্প)
  4. যান /data/local/এবং আলতো চাপুন বোতাম CREATE LINKনিচ থেকে

8

আমার এই সমস্যাটি ছিল এবং উপরের সমাধানগুলির কোনওটিই আমার পক্ষে কার্যকর হয়নি।

কিছু কারণে, অনুমতিগুলি আমার /data/local/tmpডিরেক্টরিতে সঠিকভাবে সেট করা হয়নি (কেবলমাত্র রুটে rwx ছিল)। আমি ADB ব্যবহার করে সমস্যাটি সমাধান করেছি (আপনার একটি মূলের ডিভাইস প্রয়োজন হবে):

  1. আপনার ফোনটি ইউএসবির মাধ্যমে সংযুক্ত করুন
  2. এডিবি ব্যবহার করে চালু করুন adb shell
  3. /data/localব্যবহারে সরানcd /data/local
  4. ব্যবহার করে রুট মোডে স্যুইচ করুন su
  5. tmpডিরেক্টরি ব্যবহার করে পড়তে / লিখতে / চালানোর অনুমতি দিনchmod 777 tmp
  6. সংযোগ বিচ্ছিন্ন করুন, অ্যান্ড্রয়েড স্টুডিও পুনরায় চালু করুন এবং ডিভাইসটি আবার প্লাগ ইন করুন

7

তাত্ক্ষণিক বন্ধটি বন্ধ করে দিয়ে আমার সমস্যার সমাধান হয়েছে। এখন পর্যন্ত কোনও ব্যাখ্যা জানেন না। অ্যান্ড্রয়েড স্টুডিও 3.0 এ স্থানান্তরিত হওয়ার পরে এটি এর মতো সমস্যা শুরু করে। আশা করি এটি ভবিষ্যতে কাউকে সহায়তা করবে।


6

যখন আমি এই সমস্যাটি অনুভব করেছি, তখন আমার জন্য এটি কী স্থির করেছিল তা নিশ্চিত করে তুলছিল যে AndroidManLive.xML প্যাকেজের নামটি বিল্ড.গ্রেড অ্যাপ্লিকেশন আইডের অনুরূপ।


3

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


আমি এটি বিশ্বাস করতে পারি না: অন্য ডিভাইসের সাথে ক্রস-চেক করা হয়েছে (সমস্ত অনুমতিগুলি মূল স্তর পর্যন্ত অভিন্ন বলে মনে হয়েছিল); অনুমতিগুলির সাথে ফিডড (তাদের 777 এমনকি তৈরি করেছে) - কোনও উপায় নেই। সুতরাং কি হারাতে হবে। সিমিলিংকের চেষ্টা করে - বাহ! কাজ (+1)। আমি এখনও জানতে চাই যে কেন এবং এর পিছনে কী রয়েছে। এটি আমার ক্ষেত্রে এটির মূল কারণ নয়, তবে এডিবি ডেমনকে "অনিরাপদ মোডে" চালিয়েছে (অর্থাত্ রুট অনুমতি নিয়ে)।
ইজজি

3

যদি আপনি android:extractNativeLibs="false"অ্যান্ড্রয়েডমেনিস্ট ফাইলটিতে লিখেন । তারপরে এটিতে পরিবর্তন করুনandroid:extractNativeLibs="true"


3

আমি উপরের প্রস্তাবিত সলিউশনগুলি (সহজগুলি, chmod সরবরাহকারী এবং অভ্যন্তরীণ লাইব্রেরিগুলিকে পরিবর্তনকারী নয়) চেষ্টা করেছি এবং তাদের কোনওটিই কাজ করে না

অবশেষে আমার জন্য যা কাজ করেছে তা হ'ল: "ক্লিন প্রজেক্ট" -> "পুনর্নির্মাণ প্রকল্প" -> অ্যাপ্লিকেশন সংস্করণটির নামটি বিল্ডড্র্যাডল অ্যাপ মডিউলে পরিবর্তন করেছে -> সিঙ্ক গ্র্যাডল -> ডিভাইসে অ্যাপ চালান


এই পদ্ধতিটি আমার পক্ষে কাজ করেছিল !! আপনাকে অনেক ধন্যবাদ, আমি দীর্ঘদিন ধরে এটির সাথে লড়াই করে যাচ্ছিলাম, এটি আসলেই জীবন রক্ষাকারী! আপনাকে যথেষ্ট ধন্যবাদ জানাতে পারবেন না
stb_dev

3

নেভিগেট করুন Run/Debug Configurations

উপরের ট্যাবটি থেকে রান ক্লিক করুন> কনফিগারেশন সম্পাদনা করুন

  • মডিউল: আপনার অ্যাপ নির্বাচন করুন
  • ইনস্টলেশন বিকল্পগুলি: ডিফল্ট এপিকে স্থাপন করুন
  • ঠিক আছে

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


2

এটি আমার ক্ষেত্রে সহায়তা করেছে:

Settings -> Apps -> Google Play Store -> Click "Enable" button.

কি দারুন. ধন্যবাদ আমি গুগলপ্লে অক্ষম করেছিলাম এবং লক্ষ্য করিনি যে এটিই আমার সমস্যার মূল কারণ।
W0rmH0le

2

মেলে না build একটি ডায়নামিক ডেলিভারি মডিউল ডিবাগ ভেরিয়েন্টে ছিল এবং বাকি মডিউলগুলি প্রকাশের সময় ছিল। সমস্যাটি প্রকাশ, পুনর্নির্মাণ এবং ইনস্টল করার জন্য কেবল গতিশীল ডেলিভারি মডিউলটি পরিবর্তন করা।


2

ভাসমান প্রকল্পগুলির জন্য, ভিএস কোড সম্পাদক সহ, প্রকল্প উত্স ফোল্ডারে যান এবং "বিল্ড" ফোল্ডারটি মুছুন এবং ডিবাগিং শুরু করুন।


2

আমি ডাগার এবং একাধিক মডিউল সহ একটি প্রকল্পে এই সমস্যাটি পেয়েছি। আমার জন্য যা কাজ করেছে (উপরের কোনওটিই কাজ করা হয়নি) 1) .গ্রাডল ফোল্ডারটি খালি 2) .idea ফোল্ডারটি খালি করুন 3) প্রকল্প গ্রেড.প্রপ্রেটিসগুলিতে, org.gradle.caching = মিথ্যা 4) চিহ্নিত করুন সম্ভবত এএস এ ক্যাশেগুলি বাতিল করুন , পরিষ্কার, পুনর্নির্মাণ

আপনি কেবল # 3 দিয়ে পালাতে সক্ষম হতে পারেন, পরিষ্কার করুন তারপর বিল্ড করুন।

সম্পাদনা: ইদানীং আমি এএস পুনরায় চালু করে, পরে একটি পরিষ্কার করে, আবার ইনস্টল করে এটি ঘিরে ফেলতে সক্ষম হয়েছি।


আশ্চর্যজনক ভাবে. আমি উপরোক্ত কিছু চেষ্টা করেছি এটি আমার জন্য কাজ করেছে এই অ্যান্ড্রয়েড বিকাশ পাগল হচ্ছে। 30 সেকেন্ডের জন্য কোড এবং বিল্ডটি পেতে 5 মিনিটের জন্য অপেক্ষা করুন
সত্যজিৎ

@ সত্যজিৎ 5 মিনিট!! আমার লাগে 10! এটিই কেবলমাত্র আমার জন্য ধারাবাহিকভাবে কাজ করে।
ড্যান অ্যান্ডারসন

আমি ./gradlew installDebugকমান্ড লাইনটি দিয়ে এটিকে কাজ করতে সক্ষম হয়েছি
সত্যজিৎ

2

আমার জন্য এই সমস্যার কারণটি ছিল আমার অ্যাপের মডিউলগুলির একটিতে ভুল বিল্ড বৈকল্পিক নির্বাচন করা। "বিল্ড ভেরিয়েন্টস" সরঞ্জাম থেকে, আমি অ্যাপ্লিকেশন মডিউলের সাথে মিলে যাওয়া মডিউলটির রূপটি নির্বাচন করেছি এবং এটি আমার জন্য সমস্যাটি স্থির করেছে।


1

অ্যান্ড্রয়েড স্টুডিওতে আমার এই সমস্যা ছিল কারণ আমার ডিবাগ বিল্ডে আমি সংস্করণটির নাম প্রত্যয় - ডিবিইউজি এবং যুক্ত করেছি - সমস্যাটি ছিল।

আপনার সংস্করণের নাম এবং অ্যাপ্লিকেশন আইডিতে কেবলমাত্র অক্ষর, সংখ্যা এবং বিন্দু থাকার চেষ্টা করুন


0

আমি ঠিক একই ত্রুটি ছিল। আমার অ্যাপটি আইডিতে 2015 ছিল। আমি পনেরো দ্বারা 2015 প্রতিস্থাপন করেছি এবং এটি সমাধান করেছে।

এছাড়াও, যদি আপনি অ্যান্ড্রয়েড স্টুডিও ব্যবহার করেন তবে আপনি চেষ্টা করতে পারেন: সরঞ্জাম / অ্যান্ড্রয়েড / গ্রেড ফাইল সহ সিঙ্ক প্রকল্প


0

ডিভাইস সেটিংসে অ্যাপ্লিকেশন বন্ধ করুন জোর করে।


0

আমার এই সমস্যাটি ছিল এবং উপরের সমাধানগুলির কোনওটিই আমার পক্ষে কার্যকর হয়নি।

কারণটি সম্ভবত মূল সংস্করণ ফোন যা কেবলমাত্র এসডিকার্ডে কোটা বা এপিকে ইনস্টল করার অনুমতি রয়েছে।

আমি ADB ব্যবহার করে সমস্যাটি সমাধান করেছি (আপনার একটি মূলের ডিভাইস প্রয়োজন হবে):

  1. আপনার ফোনটি ইউএসবির মাধ্যমে সংযুক্ত করুন
  2. অ্যাডবি শেল ব্যবহার করে এডিবি চালু করুন
  3. Su ব্যবহার করে রুট মোডে স্যুইচ করুন
  4. এসডিকার্ডে টিএমপি ফোল্ডার তৈরি করুন: এমকেডির / এসডিকার্ড / টিএমপি
  5. সিডি / তথ্য / স্থানীয়
  6. ফোল্ডারটিকে এসডিকার্ডে লিঙ্ক তৈরি করুন: ln -s / sdcard / tmp tmp

0

এই ব্যর্থতার একাধিক কারণ রয়েছে বলে মনে হয়। আমার জন্য সমস্যাটি ছিল যে অ্যান্ড্রয়েডমেনিস্ট ফাইলটিতে আমি 'ইউজ-লাইব্রেরি' ট্যাগটি ব্যবহার করে একটি অস্তিত্বমান লাইব্রেরি (কেবলমাত্র এই নির্দিষ্ট ডিভাইসে) উল্লেখ করেছি। লাইব্রেরিটি অপসারণের পরে যা এই ডিভাইসটি এপিকে সঠিকভাবে ইনস্টল করা হয়নি।


0

আমি অ্যান্ড্রয়েডকুইকস্টার্ট মাভেন আরকিটাইপ ব্যবহার করেছি এবং একই সমস্যার মুখোমুখি হয়েছি:

আমার প্যাকেজের নামটি ছিল একমাত্র অ্যান্ড্রয়েড কুইকস্টার্ট। আগে পরামর্শ অনুযায়ী

  1. আমি প্যাকেজটি androidquickstart.test এ পরিবর্তন করেছি
  2. তারপর Andro আইডি আমি পরিবর্তিত হয়েছে package="androidquickstart"থেকে package="androidquickstart.test"এবং সঙ্গতিপূর্ণভাবেই XML অন্যান্য অংশ থেকে পরীক্ষা মুছে <activity android:name=".test.HelloAndroidActivity" >করার<activity android:name=".HelloAndroidActivity" >
  3. এবং জাভা ফাইলগুলিতে স্থির প্যাকেজ সমস্যাগুলি (আইডিই দ্বারা হাইলাইট করা)

0

আপনার প্যাকেজের নামটিতে com.example বা prashant.mydairy এর মতো বিন্দু যুক্ত শব্দগুলি অন্তর্ভুক্ত করা উচিত ..... এটি এখন ঠিকঠাক কাজ করা উচিত

আপনার প্যাকেজ নামটি আপডেট করতে হবে এমন ফাইলগুলি নীচে নীচে রয়েছে: 1) ম্যানিফেস্ট ফাইল 2) গ্রেডল ফাইল (মডিউল অ্যাপ্লিকেশন): অ্যাপ্লিকেশন "প্যাকেজ.নেম"


4
মন্তব্য করা উচিত
ফুরকান

0

টাস্কঅফিনিটির নামের অবশ্যই কমপক্ষে একটি থাকতে হবে '' বিভাজক


0

আপনার যদি ডিভাইস কনসোলে অ্যাক্সেস থাকে (অ্যাডবি শেল), তবে নিম্নলিখিতগুলির অনুমতিগুলি পরিবর্তন করুন:

  1. chmod 777 / তথ্য /
  2. chmod 777 / ডেটা / লোকাল /
    আপনি এপিকে অনুলিপি করার চেষ্টা করতে পারেন/data/local/ যে ক্ষেত্রে, নিশ্চিত হয়ে নিন যে এপকেও সঠিক অনুমতি রয়েছে।
  3. chmod 777 /data/local/myapk.apk আপনি এখন দ্বারা ইনস্টলেশনটির চেষ্টা করতে পারবেন: pm -r -d /data/local/myapk.apk (পরম পাথ নোট করুন)

0

মনে হচ্ছে বিন্দুর পরে একটি সংখ্যা রয়েছে ছিল অপরাধী।

নিম্নলিখিত অ্যাপ্লিকেশন আইডিতে আমার একই সমস্যা ছিল

org.tony.stark.125jarvis

এটিতে পরিবর্তন করা হচ্ছে

org.tony.stark.jarvis

আমি অ্যাপটি অ্যান্ড্রয়েড ডিভাইসে ইনস্টল করতে সক্ষম হয়েছি।


0

যদি এই ত্রুটি পেতে পারেন minSdkVersionbuilde.gradleডিভাইসের Android সংস্করণ চেয়ে বড়। সেক্ষেত্রে আপনাকে এইটি পরিবর্তন করতে হবে minSdkVersion


0

অ্যান্ড্রয়েডম্যানিফেস্ট.এক্সএমএলে কোড মুছুন:

সরঞ্জামসমূহ: প্রতিস্থাপন = "অ্যান্ড্রয়েড: অ্যাপকোম্পোনফ্যাক্টরি" অ্যান্ড্রয়েড: অ্যাপকম্পোনেন্টফ্যাকারি = ""

এটা কাজ করে।

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