android বহিরাগত JAR তে "ডালvik ফর্ম্যাটে রূপান্তর ত্রুটি 1 দিয়ে ব্যর্থ"




dalvik android-sdk-1.6 (24)

পূর্বে প্রস্তাবিত সমাধান কেউ আমার জন্য কাজ করে। আমার ক্ষেত্রে, সমস্যাটি ঘটে যখন আমি লাইব্রেরী জার ফাইলটি ব্যবহার করার জন্য একটি লাইব্রেরী উৎস কোড ফোল্ডার উল্লেখ থেকে স্যুইচ করেছিলাম। প্রাথমিকভাবে অ্যান্ড্রয়েড অ্যাপ্লিকেশন প্রোজেক্ট প্রোপার্টি \ Android পৃষ্ঠা \ লাইব্রেরি বিভাগের অধীনে তালিকাভুক্ত একটি Android লাইব্রেরী প্রকল্প ছিল এবং গ্রন্থাগারটি লাইব্রেরির উত্স ডিরেক্টরিের লিঙ্ক হিসাবে প্রকল্প এক্সপ্লোরার ট্রিতে তুলনা করেছিল।

প্রথম স্থানে, আমি প্রকল্প গাছ থেকে ডিরেক্টরি লিঙ্কটি মুছে দিলাম এবং আমি জার লাইব্রেরিকে বিল্ড পাথে জুড়লাম, কিন্তু এটি ব্যতিক্রমকে সৃষ্টি করেছিল।

সঠিক পদ্ধতি ছিল (বিল্ড পাথটি আবার পরিবর্তন করার পরে এবং লাইব্রেরির উৎসের রেফারেন্স ফিরিয়ে দেওয়ার পরে):

  • সঠিকভাবে অ্যাপ্লিকেশন প্রকল্প বৈশিষ্ট্য \ Android পৃষ্ঠা থেকে রেফারেন্স অপসারণ করে লাইব্রেরি উৎস ডিরেক্টরি লিঙ্কটি সরিয়ে ফেলুন

  • অ্যাপ্লিকেশন প্রকল্প লাইব্রেরী JAR যোগ হিসাবে স্বাভাবিক হিসাবে পাথ।

Eclipse এ আমার অ্যান্ড্রয়েড অ্যাপ্লিকেশনে আমি নিম্নলিখিত ত্রুটি পেতে।

অপেক্ষাকৃত শীর্ষ স্তরের বর্জন:
java.lang.IllegalArgumentException: ইতিমধ্যে যোগ করা হয়েছে: Lorg / xmlpull / v1 / XmlPullParser;
....
ডালvik ফরম্যাটে রূপান্তর ত্রুটি 1 দিয়ে ব্যর্থ হয়েছে

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


Answer #1

আমার ক্ষেত্রে সমস্যাটি আসলে OpenFeint API প্রকল্পের সাথে। আমি লাইব্রেরী প্রকল্প হিসাবে ওপেনফিন্ট যুক্ত করেছি:

এটি বিল্ড পাথে যোগ করা হয়েছে, এডিটি সরঞ্জাম 16 এই দৃশ্যাবলীর সাথে ত্রুটি দেয়।

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


Answer #2

আমি অন্য কিছু খুঁজে পেয়েছি। অ্যান্ড্রয়েড জার ফাইলগুলির জন্য /libs ডিরেক্টরি ব্যবহার করে। আমি দেখেছি "ডালvik ফর্ম্যাটে রূপান্তর 1 ত্রুটির সাথে ব্যর্থ হয়েছে" ভুল বার বার, যখন আমি আমার জার ফাইলগুলিতে ভুল করেছিলাম।

এখন আমি নতুন জার ফাইলটিকে /libs ডিরেক্টরিতে রেখে এবং নতুন সংস্করণে ক্লাসের পথটি স্যুইচ করে রবোগুইসকে নতুন সংস্করণে আপগ্রেড করেছি। যে Dalvik ত্রুটি সৃষ্টিকারী।

যখন আমি /libs ফোল্ডার থেকে Roboguice JAR ফাইলগুলি সরিয়ে ফেলেছি, তখন ত্রুটিটি অদৃশ্য হয়ে গেছে। স্পষ্টতই, অ্যান্ড্রয়েড সমস্ত জার ফাইলগুলি /libs থেকে /libs , যাই হোক না কেন আপনি জাভা বিল্ড পাথে উল্লেখ করেন। আমি ঠিক মনে রাখি না, তবে মনে হচ্ছে অ্যান্ড্রয়েড 4.0 (আইসক্রিম স্যান্ডউইচ, আইসিএস) দিয়ে ডিফল্টভাবে অ্যান্ড্রয়েড /libs ব্যবহার করে শুরু করেছে।


Answer #3

আজ নিজেকে এই সমস্যা মধ্যে রান। পরিষ্কার এবং পুনর্নির্মাণ সমস্যার সমাধান না। প্রকল্প মুছে ফেলা এবং reimporting হয় না সাহায্য করে।

আমি অবশেষে আমার .class ফাইল একটি খারাপ সংযোজন এটি ফিরে traced। আমি অন্য সমস্যাটি সমাধানের চেষ্টা করার সময় এটি প্লাগইন সরঞ্জামগুলির দ্বারা যোগ করা হয়েছিল বলে মনে হচ্ছে, "ডালvik ফর্ম্যাটে রূপান্তর 1 ত্রুটি সহ ব্যর্থ হয়েছে" এটিকে সরানো হয়েছে বিল্ড ত্রুটি:

<classpathentry kind="lib" path="C:/dev/repository/android-sdk-windows/platforms/android-3/android.jar">
    <attributes>
        <attribute name="javadoc_location" value="file:/C:/dev/repository/android-sdk-windows/docs/reference"/>
    </attributes>
    <accessrules>
        <accessrule kind="nonaccessible" pattern="com/android/internal/**"/>
    </accessrules>


Answer #4

সম্পাদনা (নতুন সমাধান):

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

আমি লিন্ট চেক করে এই ত্রুটিটি খুঁজে পেয়েছি (Android সরঞ্জাম / চালান লিন্ট: সাধারণ ত্রুটিগুলির জন্য চেক করুন)

আমার আগের সমাধান:

আমি এই সাইটে কোন সম্ভাব্য সমাধান চেষ্টা করেছি - কিছুই সাহায্য !!!

অবশেষে আমি এখানে একটি উত্তর খুঁজে পেয়েছি: https://groups.google.com/forum/#!topic/actionbarsherlock/drzI7pEvKd4

সহজ পদক্ষেপ:

প্রজেক্টে যান -> স্বয়ংক্রিয়ভাবে বিল্ড অনির্বাচিত করুন

প্রজেক্টে যান -> পরিচ্ছন্ন ..., লাইব্রেরী প্রকল্প এবং আপনার অ্যাপ্লিকেশন প্রকল্প উভয় পরিষ্কার করুন

স্বয়ংক্রিয়ভাবে বিল্ড থাকা অবস্থায় স্বয়ংক্রিয়ভাবে অক্ষম থাকা অবস্থায় আপনার অ্যাপ্লিকেশনটি স্বাক্ষরিত APK হিসাবে রপ্তানি করুন


Answer #5

আমি একই সমস্যা ছিল এবং এই সমাধান কোন কাজ। অবশেষে, আমি কনসোলে দেখেছি যে ত্রুটিটি সদৃশ শ্রেণির কারণে ছিল (বিদ্যমান প্রকল্পের মধ্যে একটি, যোগ করা জার ফাইলে একটি):

java.lang.IllegalArgumentException: already added: package/MyClassclass;
[2011-01-19 14:54:05 - ...]: Dx1 error; aborting
[2011-01-19 14:54:05 - ...] Conversion to Dalvik format failed with error 1

সুতরাং আপনি আপনার প্রকল্পের মধ্যে ডুপ্লিকেট ক্লাস সঙ্গে জার যোগ করা হয় কিনা তা পরীক্ষা করুন। যদি হ্যাঁ, তাদের একজন মুছে ফেলার চেষ্টা করুন।

এটা আমার জন্য কাজ করে।


Answer #6

প্রায়শই আমার জন্য, প্রকল্প পরিষ্কার করা এই সমস্যাটি ঠিক করে না।

কিন্তু Eclipse এ প্রকল্পটি বন্ধ করা এবং তারপরে আবার এটি পুনরায় চালু করা সে ক্ষেত্রে এটি ঠিক করতে পারে বলে মনে হচ্ছে ...


Answer #7

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

  1. আপনার প্রকল্পের ডান ক্লিক করুন, বৈশিষ্ট্য নির্বাচন করুন।
  2. একটি ডায়ালগ প্রদর্শিত হবে, বাম মেনুতে 'জাভা বিল্ড পাথ' নির্বাচন করুন।
  3. ডান প্যানেলে 'অ্যানড্রইড নির্ভরতা' এবং 'Android ব্যক্তিগত লাইব্রেরি' সরান তারপর ঠিক আছে ক্লিক করুন
  4. আপনার প্রকল্প সাফ করুন (মেনু প্রকল্প নির্বাচন করুন -> পরিষ্কার)
  5. ডান আপনার প্রকল্পের ক্লিক করুন, অ্যান্ড্রয়েড সরঞ্জাম নির্বাচন করুন -> প্রকল্প বৈশিষ্ট্য ফিক্স
  6. আবার পরিষ্কার প্রকল্প।
  7. আপনার কম্পিউটার পুনরায় আরম্ভ করুন
  8. খুলুন eclipse এবং এক্সপোর্ট apk

আশা করি যে আপনার সাহায্য করবে।


Answer #8

সাধারণভাবে, মনে হয় যে এই সমস্যাটি আসে যখন পাথ তৈরিতে অপ্রয়োজনীয় জার ফাইল থাকে।

ইন্টেলিজ আইডিয়াতে কাজ করার সময় আমি এই সমস্যাটি মোকাবিলা করেছি। আমার জন্য এটা ঘটেছে কারণ আমি JUnit এবং Mockito লাইব্রেরি যোগ করেছি যা রানটাইমে কম্পাইল করা হচ্ছে। এই মডিউল বৈশিষ্ট্য মধ্যে "টেস্টিং" সেট করা প্রয়োজন।


Answer #9

আপনি যদি আপনার বিল্ড পাথে Android.jar ফাইলটি যুক্ত করে থাকেন তবে এটিও হতে পারে, সম্ভবত ইক্লিপসে একটি আকস্মিক দ্রুত সংশোধন করে। ডান ক্লিক করে এটি সরান প্রকল্প -> পাথ তৈরি করুন -> বিল্ড পাথ কনফিগার করুন -> android.jar , সরান।


Answer #10

শুধু প্রকল্প পরিষ্কার

এই কাজ না করে অন্য সমাধান চেষ্টা করুন


Answer #11

সর্বশেষ সংস্করণে Proguard আপডেট করা এটা আমার জন্য সমাধান।

  • আমার proguard পাথ ছিল C:\Program Files (x86)\Android\android-sdk\tools\proguard\
  • আমি here থেকে নতুন সংস্করণ ডাউনলোড
  • এবং উভয় বিন এবং lib ফোল্ডার প্রতিস্থাপিত

সৃষ্টিকর্তাকে ধন্যবাদ!


Answer #12

আমার সমস্যা ADT সংস্করণ 12.0 এবং ProGuard ইন্টিগ্রেশন দ্বারা সৃষ্ট হয়েছিল। এই বাগ ভাল নথিভুক্ত করা হয় এবং সমাধান ডকুমেন্টেশন হয়

সমাধান এখানে

here


Answer #13

উইন্ডোজ 7 সমাধান:

ফাইলটিতে ProGuard কমান্ড লাইন দ্বারা সমস্যাটি নিশ্চিত হয়েছে
[অ্যান্ড্রয়েড এসডিকে ইনস্টলেশন ডিরেক্টরি] \ সরঞ্জাম \ proguard \ bin \ proguard.bat

নিম্নোক্ত লাইন সম্পাদনা করুন সমস্যার সমাধান করবে:

call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %*

থেকে

call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %1 %2 %3 %4 %5 %6 %7 %8 %9

Answer #14

শুধু এই ত্রুটি ঘটেছে প্রতি সময় প্রকল্পের জন্য কাজ করেছে পরিষ্কার।


Answer #15

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

এটি আমার রেফারেন্সকৃত লাইব্রেরিগুলিতে আবারও অ্যানড্রয়েড লাইব্রেরি যোগ করা হয়েছে, তাই এখন আমার কাছে দুটি Android জার ফাইল রয়েছে, তাই আমি তাদের মধ্যে একটি মুছে ফেলেছি এবং এখন এটি ভাল সংকলন করে।

সমাধান: Eclipse IDE থেকে প্রকল্প মুছুন এবং তারপরে আবার এটি পুনরায় আমদানি করুন, তারপরে উপরের সমাধানগুলির জন্য চেক করুন।


Answer #16

আমি এই সমস্যা মধ্যে দৌড়ে কিন্তু আমার সমাধান দ্বিগুণ ছিল। 1.) আমি প্রকল্প অধীনে একটি অ্যান্ড্রয়েড লক্ষ্য সংস্করণ যোগ করতে ছিল -> বৈশিষ্ট্য -> অ্যান্ড্রয়েড । 2.) আমার সব গুগল 'তৃতীয় পক্ষ অ্যাড-অন' ছিল না। উপলব্ধ প্যাকেজগুলির অধীনে AVD SDK ম্যানেজারে ক্লিক করুন -> তৃতীয় পক্ষের অ্যাড-অন -> গুগল ইনক । আমি সব SDK ডাউনলোড এবং যে আমার সমস্যা সমাধান।


Answer #17

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


Answer #18

আপনার যদি ADT পুনর্বিবেচনা 12+ থাকে তবে আপনাকে আপনার প্রোগার্ডটি 4.4 -> 4.6 ( here বর্ণিত হিসাবে) থেকে আপডেট করতে হবে। এছাড়াও, আপনি মূল বিন্যাসে \ bin \ proguard.bat ফাইল ছেড়ে দিতে হবে।

শুধু ওয়েব থেকে এটি ডাউনলোড করুন এবং ডাউনলোড প্যাকেজ থেকে lib ফোল্ডারটি অনুলিপি করুন:

[অ্যান্ড্রয়েড এসডিকে ইনস্টলেশন ডিরেক্টরি] \ tools \ proguard \ lib


Answer #19

প্রজেক্টে যান এবং তারপরে "স্বয়ংক্রিয়ভাবে বিল্ড করুন" চেক করুন। তারপর প্রকল্পটি রপ্তানি করার চেষ্টা করুন এবং ত্রুটিটি চলে গেছে।


Answer #20

আপনি অনির্বাচিত অ্যান্ড্রয়েড অ্যাপ্লিকেশন এক্সপোর্ট করার সময় এই সমস্যাটি সহজেই সমাধান করতে পারেন (Eclipse Android Developer Tools, Build: v22.0.1-685705) মেনু বন্ধ করে> "প্রকল্প"> "স্বয়ংক্রিয়ভাবে বিল্ড করুন"। তারপরে, আবার চালু করতে ভুলবেন না।


Answer #21

আমার ক্ষেত্রে

প্রকল্প-> বৈশিষ্ট্য-> জাভা বিল্ড পাথ -> অর্ডার এবং রপ্তানি ট্যাব -> অ্যানড্রয়েড-সমর্থন-v4.jar চেক করুন


Answer #22

প্রজেক্টে যান »প্রোপার্টি» জাভা বিল্ড পাথ »লাইব্রেরি এবং" অ্যান্ড্রয়েড এক্সওয়াই "ছাড়া আমার সমস্ত সরান (আমার ক্ষেত্রে অ্যান্ড্রয়েড 1.5)। ঠিক আছে ক্লিক করুন। প্রকল্পে যান »পরিচ্ছন্ন» নীচের নির্বাচিত পরিচ্ছন্ন প্রকল্প »আপনার প্রকল্প নির্বাচন করুন এবং ঠিক আছে ক্লিক করুন। যে কাজ করা উচিত।

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

আরেকটি সম্ভাব্য কারণ প্যাকেজ নাম দ্বন্দ্ব হতে পারে। ধরুন আপনার কাছে প্যাকেজটি com.abc.xyz এবং এই প্যাকেজের ভিতরে A.java নামে একটি ক্লাস রয়েছে এবং অন্য লাইব্রেরী প্রকল্প (যা এই প্রকল্পের নির্ভরতাতে যোগ করা হয়েছে) যা একই com.abc.xyz.A.java রয়েছে, তারপর আপনি সঠিক একই ত্রুটি পেয়ে হবে। এর অর্থ, আপনার কাছে একই ফাইল A.java একাধিক উল্লেখ A.java এবং এটি সঠিকভাবে তৈরি করা যাবে না।

অন্যান্য উপায়ে এটি ঘটেছে যদি আপনি ভুলভাবে বা বুদ্ধিমানভাবে ক্লাস ক্লাস ফাইলটিতে কোনও জিনিস সম্পাদনা / যোগ করেন। কিছু ক্ষেত্রে আমরা java ডক তৈরির জন্য ফাইলটি ক্লাসপথের জন্য anroid.jar পাথ নিজে যোগ করতে পারি। কোডটি ভাল কাজ করবে। অনুগ্রহ করে এটিও চেক করুন যে কেউ এখনও ঘটবে।


Answer #23

তালিকাভুক্ত সমাধান কেউ আমার জন্য কাজ করে।

এখানে আমার কোন সমস্যা ছিল:

আমি প্রথমে "libs" নামক একটি উৎস ফোল্ডারে এবং এটিতে ডান ক্লিক করে, পাথ তৈরি করতে Add-> যোগ করে আমার প্রকল্পের পথে jsoup বহিরাগত JAR ফাইল যুক্ত করেছি। এই Dalvik রূপান্তর ত্রুটি ছুড়ে ফেলে। এটা আমি JAR ফাইল থেকে একটি ক্লাস "ইতিমধ্যে অন্তর্ভুক্ত" ছিল বলেছিলেন। আমি প্রকল্প এর ডিরেক্টরি কাছাকাছি লাগছিল এবং খুঁজে পাওয়া যায় যে জায়গা যেখানে এটি "ইতিমধ্যে অন্তর্ভুক্ত" আসলে ছিল bin নির্দেশিকা। আমি bin ডিরেক্টরিতে থেকে JAR ফাইল মুছে ফেললাম এবং ইক্লিপসে প্রকল্পটি রিফ্রেশ করি এবং ত্রুটিটি চলে গেল!







android-sdk-1.6