Android ClassNotFoundException: পথে ক্লাসটি খুঁজে পেল না class


99
10-22 15:29:40.897: E/AndroidRuntime(2561): FATAL EXCEPTION: main
10-22 15:29:40.897: E/AndroidRuntime(2561): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.gvg.simid/com.gvg.simid.Login}: java.lang.ClassNotFoundException: Didn't find class "com.gvg.simid.Login" on path: DexPathList[[zip file "/data/app/com.gvg.simid-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.gvg.simid-1, /vendor/lib, /system/lib]]
10-22 15:29:40.897: E/AndroidRuntime(2561):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2137)
10-22 15:29:40.897: E/AndroidRuntime(2561):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
10-22 15:29:40.897: E/AndroidRuntime(2561):     at android.app.ActivityThread.access$600(ActivityThread.java:141)
10-22 15:29:40.897: E/AndroidRuntime(2561):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
10-22 15:29:40.897: E/AndroidRuntime(2561):     at android.os.Handler.dispatchMessage(Handler.java:99)
10-22 15:29:40.897: E/AndroidRuntime(2561):     at android.os.Looper.loop(Looper.java:137)
10-22 15:29:40.897: E/AndroidRuntime(2561):     at android.app.ActivityThread.main(ActivityThread.java:5103)
10-22 15:29:40.897: E/AndroidRuntime(2561):     at java.lang.reflect.Method.invokeNative(Native Method)
10-22 15:29:40.897: E/AndroidRuntime(2561):     at java.lang.reflect.Method.invoke(Method.java:525)
10-22 15:29:40.897: E/AndroidRuntime(2561):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
10-22 15:29:40.897: E/AndroidRuntime(2561):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
10-22 15:29:40.897: E/AndroidRuntime(2561):     at dalvik.system.NativeStart.main(Native Method)
10-22 15:29:40.897: E/AndroidRuntime(2561): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.gvg.simid.Login" on path: DexPathList[[zip file "/data/app/com.gvg.simid-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.gvg.simid-1, /vendor/lib, /system/lib]]
10-22 15:29:40.897: E/AndroidRuntime(2561):     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53)
10-22 15:29:40.897: E/AndroidRuntime(2561):     at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
10-22 15:29:40.897: E/AndroidRuntime(2561):     at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
10-22 15:29:40.897: E/AndroidRuntime(2561):     at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
10-22 15:29:40.897: E/AndroidRuntime(2561):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2128)
10-22 15:29:40.897: E/AndroidRuntime(2561):     ... 11 more

আমি প্রকৃতপক্ষে নিশ্চিত নই কারণ এটি ম্যানিফেস্টে সঠিকভাবে তালিকাভুক্ত হওয়ার কারণে এটি কী কারণ ঘটছে:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.gvg.simid"
    android:versionCode="1"
    android:versionName="1.0" >

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

    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <uses-permission android:name="android.permission.CAMERA"/>
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_LOGS" />
    <uses-permission android:name="android.permission.READ_OWNER_DATA" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.RECORD_AUDIO"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_OWNER_DATA" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />

    <uses-feature android:name="android.hardware.usb.host" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.gvg.simid.Login"
            android:label="@string/app_name" 
            android:screenOrientation="landscape">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

আমি পথ তৈরিতে "অ্যান্ড্রয়েড প্রাইভেট লাইব্রেরি" যুক্ত করেছি এবং এটিকে "অর্ডার এবং এক্সপোর্ট" শীর্ষে স্থানান্তরিত করেছি, তবে এটি এখনও আমাকে একই ত্রুটি দিয়েছে gave

সম্পাদনা: আমি প্রকল্পটি পুরোপুরি পুনর্নির্মাণ করেছি এবং ত্রুটিটি পুনরুত্পাদন করতে অক্ষম। নিশ্চিত না যে এটি কী কারণে ঘটছিল।


4
আপনি অগ্রগতি ব্যবহার করছেন?
জুয়াংসিগ

প্রগার্ড সক্ষম নয়।
ফিতো

: এই পোস্টে চেক করুন stackoverflow.com/questions/10866431/...
Juangcg

অ্যান্ড্রয়েডে ".লগিন" চেষ্টা করুন: এর পরিবর্তে, অ্যান্ড্রয়েড এটি সনাক্ত করতে না পারলে বাকি উপসর্গটিকে নিজেই যুক্ত করবে। Eclipse এর সাথে কেবল একটি অদ্ভুত পার্সিংয়ের সমস্যা হতে পারে
ড্যারিল বেলিস

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

উত্তর:


77

আমার প্রকল্পের ক্ষেত্রেও আমার একই সমস্যা ছিল। এটি আমার প্রকল্পে এবং আমার প্রকল্পে যুক্ত করা লাইব্রেরি প্রকল্পের মধ্যে অ্যান্ড্রয়েড সমর্থন লাইব্রেরি সংস্করণে বিরোধের কারণে ঘটেছিল। আপনার প্রকল্পে এবং লাইব্রেরি প্রকল্পগুলিতে একই সংস্করণ অ্যান্ড্রয়েড সমর্থন লাইব্রেরি রাখুন এবং আপনার বিল্ডিং পরিষ্কার করুন ... সবকিছুই কাজ করবে ...


4
ধন্যবাদ মানুষ!!! আমি নিশ্চিত যে আমি ইতিমধ্যে এটি সম্পন্ন করেছি, তবে আমি চেক করেছি এবং সংস্করণগুলি আলাদা ছিল! অনেক ধন্যবাদ!
রদ্রিগো ভেনানসিওও

4
আমি পরবর্তী সময় এসডিকে "আপডেট" করার জন্য এই মন্তব্যটি করেছিলাম, এই উত্তরটি দেখুন
এনরিক সান মার্টন

4
কোনও ধারণাগুলি কেন আমি সমর্থন লাইব্রেরি না ব্যবহার করলে সমস্যা দেখা দেয়?
বুদ্দা

33

এই নিম্নলিখিত পদ্ধতিটি আমার পক্ষে কাজ করেছিল

  • আপনার উপর রাইট ক্লিক করুন projectএবং নির্বাচন করুনproperties
  • "সম্পত্তিগুলির জন্য" প্যানেলটি খুলবে। বাম দিকের মেনু থেকে Java Build Path-> যানOrder and Export
  • নীচের তালিকা থেকে পাশের বাক্সটি আনচেক করুন "Android Dependencies"
  • শেষ পর্যন্ত clean your projectএবং চালান

8
এটা আমার জন্য কাজ করেছে। "অ্যান্ড্রয়েড নির্ভরতা" এর অর্থ কী এবং কেন এই বিশেষ ক্ষেত্রে এটি সহায়তা করেছিল?
ওলেগ গ্রাইব

আমার জন্য নিখুঁতভাবে কাজ করেছেন! অনেক ধন্যবাদ!
প্রজিৎদাস

7
এই নির্দেশাবলী কি গ্রহনের জন্য? আমি অ্যান্ড্রয়েড স্টুডিওগুলির জন্য এই নির্দেশাবলী অনুসরণ করতে পারি না। আমার কি project? ওটার মানে কি?
অ্যাডাম জনস

4
হ্যাঁ এই নির্দেশাবলীগ্রহণের জন্য
ক্রিস

4
এই লিঙ্কটিতে অ্যান্ড্রয়েড স্টুডিও স্ট্যাকওভারফ্লো.com
জোসেফ সেলভরাজ

13

আপনারা যারা অ্যান্ড্রয়েড স্টুডিওতে এই সমস্যাটি নিয়ে আছেন তাদের ক্ষেত্রে, আমি একত্রীকরণের পরেও একই সমস্যায় পড়েছিলাম এবং কিছু কারণে এটি পরেও চলেছে cleanএবং invalidate cash/restartঅপারেশন যা আমাকে পাগল করছে driving

দেখা যাচ্ছে, কমান্ড লাইন থেকে একবার গ্রেড বিল্ড চালিয়ে এটি ঠিক করা যেতে পারে। কেবলমাত্র নীচের এন প্রকল্প ডিরেক্টরিটি চালান:

./gradlew assemble clean
./gradlew assemble

আমি আশা করি এটি কারওর পক্ষে সময় নষ্ট এবং হতাশার মধ্য দিয়ে যেতে হবে।


আমার জন্যও কাজ করেছেন
দাভেদভেদেভ

12

আমার একই সমস্যা ছিল, এটি আমার পক্ষে কাজ করেছিল

1) আপেক্ষিক পথের জায়গায় মেইনফেস্টে ক্রিয়াকলাপের সম্পূর্ণ পথ।

2) 'বিল্ড' ফোল্ডার এবং পরিষ্কার প্রকল্প মুছুন।


বিল্ড ফোল্ডারটি মোছা আমার পক্ষে কাজ করেছিল। আমি এই ইস্যুতে কয়েক ঘন্টা হারিয়েছি, আপনাকে ধন্যবাদ
গাই এস

আমার জন্যও কাজ করেছেন। ধন্যবাদ
দুশিয়ন্ত সুতার

এই বাস্তব চুক্তি। এক্সডি
noob-Sci-Bot

10

আপনি যদি Library Projectআপনার অ্যান্ড্রয়েড প্রকল্পে মডিউল হিসাবে একটি নতুন যুক্ত করেন এবং আপনি Kotlinআপনার লাইব্রেরিতে ব্যবহার করছেন তবে যুক্ত করতে ভুলবেন না

apply plugin: 'kotlin-android'

আপনার মডিউল এর গ্রেডল ফাইল শীর্ষে। আপনি যখন একটি নতুন মডিউল তৈরি করেছেন তখন অ্যান্ড্রয়েড স্টুডিও এই লাইনটি যুক্ত করে না এবং এটি আমার মতো আপনার ঘন্টা নষ্ট করতে পারে।

সম্পাদনা করুন: কিছুক্ষণ পরে, আমি আবার এই সমস্যার সাথে লড়াই করেছি এবং এবার আমি এই প্রকল্পের উপর নির্ভরতা হিসাবে আমার মডিউলটি যুক্ত করতে ভুলে গিয়েছি। :)


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

এই সমস্যাটি ঘটে যখন আমরা জাভা লাইব্রেরি প্রকল্প ব্যবহার করি ... এই সমাধানটি আমার সমস্যার সমাধান করে
দেবরাথ

এটি আমার পক্ষে কাজ করেছে এবং আমাকে অনুপস্থিত ছিল যে আমি অনুপস্থিত ছিল classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
প্রিন্স

9

আপনি যদি Eclipse ব্যবহারের প্রকল্পটি ব্যবহার করেন -> ক্লিন


অ্যান্ড্রয়েড স্টুডিওর জন্য কাজ করে - পরিষ্কার / পুনর্নির্মাণ প্রকল্প এবং চলমান
ফ্রিকেক

7

এটি হ'ল যদি আমরা অ্যাপ্লিকেশনটির বিল্ড পাথটি পরিবর্তন করি, এটি গ্রন্থাগারগুলি বা .jar ফাইল যুক্ত বা অপসারণ বা পরিবর্তন করার যে কোনও ক্ষেত্রেই হতে পারে। সেরা সমাধানটি হল গ্রহনটি পুনরায় চালু করা।


6

অ্যান্ড্রয়েড স্টুডিও ২.০ এবং তারপরে নতুন ইনস্ট্যান্ট রান বৈশিষ্ট্যটি ব্যবহার করার সময় আপনি যদি এই ত্রুটিটি পান তবে এটি তাদের পক্ষে এক ধরণের বাগ।
এটি ঠিক করতে আপনাকে ডিভাইস / এমুলেটরটিতে আপনার অ্যাপ্লিকেশনটি ম্যানুয়ালি বন্ধ করতে হবে যদি এটি বন্ধ না হয় তবে অ্যান্ড্রয়েড স্টুডিও থেকে নির্বাচন করুন BuildRebuild Project
তারপরে রান বাটন বা SHIFT + F10 ক্লিক করুন


6

যার যার মাল্টিডেক্স রয়েছে তার জন্য এটি লিখুন

build.gradle ভিতরে

apply plugin: 'com.android.application'

android {
 defaultConfig {
      multiDexEnabled true
  }
 dexOptions {
        javaMaxHeapSize "4g"
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:+'
    compile 'com.google.android.gms:play-services:+'
    compile 'com.android.support:multidex:1.0.1'
}

EnableMultiDexনীচের মত একটি ক্লাস লিখুন

import android.content.Context;
import android.support.multidex.MultiDexApplication;

public class EnableMultiDex extends MultiDexApplication {
    private static EnableMultiDex enableMultiDex;
    public static Context context;

    public EnableMultiDex(){
        enableMultiDex=this;
    }

    public static EnableMultiDex getEnableMultiDexApp() {
        return enableMultiDex;
    }

    @Override
    public void onCreate() {
        super.onCreate();
        context = getApplicationContext();

    }
}

এবং AndroidManifest.xmlএই শ্রেণীর নামটি লিখুন অ্যাপ্লিকেশন ট্যাগের ভিতরে

 <application
    android:name="YourPakageName.EnableMultiDex"
    android:hardwareAccelerated="true"
    android:icon="@drawable/wowio_launch_logo"
    android:label="@string/app_name"
    android:largeHeap="true"
    tools:node="replace">

4
ওহহহহ মাহ ... নির্ভুল উত্তর..আমি এই উত্তরটি দেখেছি কিন্তু কেউ ভোট দেয়নি তাই আমি এটিকে অবহেলা করেছি এবং ভোটের উত্তরের জন্য গিয়েছিলাম কিন্তু কাজ হয়নি..ফিনালি আমি কেবল এটি পরীক্ষা করেছি এবং পেয়েছি, ধন্যবাদ মাহন :) :) :) :)
শচীন ভার্মা

আনন্দিত এটি সাহায্য করেছে :)
মনোহর রেড্ডি

4
মূল বিষয়টি হ'ল অ্যাপ্লিকেশনটি প্রসারিত করা MultiDexApplication পরিবর্তে ক্লাস করা হয় Application
ভিএসবি

ধন্যবাদ ম্যানিফেস্টে আমার ইতিমধ্যে কিছু অ্যাপ্লিকেশন ছিল। এটি থেকে প্রসারিত হয়েছে MultiDexApplicationএবং Android 4.4 এ ব্যতিক্রম অদৃশ্য হয়ে গেছে।
কুলমাইন্ড

6

যদি আপনি অ্যান্ড্রয়েড ৪.৪ এবং তার আগে মাল্টিডেক্স ব্যবহার করছেন তবে আপনার সমস্যাটি হতে পারে যে আপনার অ্যাক্টিভিটি ক্লাসটি দ্বিতীয় ডেক্স ফাইলে অবস্থিত এবং তাই অ্যান্ড্রয়েড সিস্টেম দ্বারা এটি খুঁজে পাওয়া যায় নি।

প্রধান ডেক্স ফাইলে আপনার ক্রিয়াকলাপ শ্রেণি রাখতে, এই পৃষ্ঠাটি দেখুন:

https://developer.android.com/studio/build/multdex.html# কিপ করুন


ডেক্স ফাইলে কোন ক্লাস রয়েছে তা জানতে অ্যান্ড্রয়েড স্টুডিওটি ব্যবহার করুন

আপনার এপিকে অ্যান্ড্রয়েড স্টুডিওতে সহজভাবে ড্রাগ করুন। আপনি এপিপি এক্সপ্লোরারে আপনার ডেক্স ফাইলগুলি দেখতে সক্ষম হবেন।

তারপরে কী ক্লাসের ভিতরে রয়েছে তা দেখতে ডেক্স ফাইলটি নির্বাচন করুন।


অন্য বিকল্প হ'ল ডেক্সডাম্প:

আপনি ডেক্সডাম্প কমান্ডটি ব্যবহার করে আপনার এপিকে থাকা আপনার ডেক্স ফাইলগুলির বিষয়বস্তুটি পরীক্ষা করতে পারেন in

android-sdk / বিল্ড-সরঞ্জাম / 27.0.3 / ডেক্সডাম্প

উইন্ডোজ ব্যবহারকারীদের জন্য এই সরঞ্জামটি দেখুন আমি প্রক্রিয়াটি সহজ করার জন্য তৈরি করেছি


4
আপনার নিজের সরঞ্জামের সাথে সংযোগ করার সময়, আপনি এটি নিজের বলে ঘোষণা করতে ভুলবেন না
LW001

5

আমার ক্ষেত্রে এটি অগ্রগতির মিনিফিকেশন প্রক্রিয়া ছিল যা আমার প্রযোজনার apk থেকে কিছু গুরুত্বপূর্ণ ক্লাস সরিয়ে নিয়েছিল।

সমাধানটি ছিল অগ্রগতি -rules.pro ফাইলটি সম্পাদনা করা এবং নিম্নলিখিতগুলি যুক্ত করা:

-keep class com.someimportant3rdpartypackage.** { *; }

3

1) প্রকল্পের মূলের অধীনে libs ফোল্ডার তৈরি করুন
2) এতে জার ফাইলটি অনুলিপি করুন এবং পেস্ট করুন
3) বিল্ড পাথটি কনফিগার করুন (জার যুক্ত করুন)
4) চিয়ারগুলি পরিষ্কার করুন এবং রান করুন

:-)


3

বিশ্বাস করুন বা না করুন ... স্ট্যাকওভারফ্লোতে আমি এখানে প্রায় প্রতিটি উত্তর খুঁজে পেয়েছি। আমি কেবল মেশিনটি পুনরায় চালু না করা পর্যন্ত কিছুই সাহায্য করবে না। আমার অ্যান্ড্রয়েড স্টুডিও উবুন্টু 16.04 এলটিএসে কাজ করে।


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

2

আমি এই ত্রুটির মুখোমুখি হয়েছি যখন আমি কোনও শ্রেণি সংজ্ঞায়িত করে যা একটি দৃষ্টিভঙ্গি প্রসারিত করে তবে ভুল নামের সাথে লেআউট ফাইলটিতে এই কাস্টম ভিউটিকে উল্লেখ করা হয়। পরিবর্তে <com.example.customview/>, আমি <com.customview/>এক্সএমএল লেআউট ফাইলটিতে অন্তর্ভুক্ত করেছি ।


2

আমি একই সমস্যার মুখোমুখি হয়েছি এবং নিম্নলিখিতটি করে সমাধান করেছি:

বিল্ড মেনু থেকে নির্বাচন করুন

1- পরিষ্কার প্রকল্প।

2- APK তৈরি করুন।


আমি সবসময় এসও-তে সমাধান অনুসন্ধানের জন্য ঘন্টা ব্যয় করি এবং পরিষ্কার -> বিল্ড আমার যা করণীয় তা হল।
শিশির শেঠি

2

আমি একই সমস্যার মুখোমুখি হয়েছি এবং লক্ষ্য করেছি যে নমুনা কোডটি ডিরেক্টরি "জাভা" ডিরেক্টরিতে "এসসিআর" এর পরিবর্তে ডিরেক্টরিতে রাখা হয়েছিল। কোডটি এসআরসি-তে সরানোর পরে, সমস্যাটি সমাধান করা হয়েছিল।

এছাড়াও অ্যাপটি ডিরেক্টরিটি একাধিক ফোল্ডারে বিভক্ত হয়েছে তা নিশ্চিত করুন। যেমন /main/com/site/appname/না/main/com.site.appname/

আশা করি এটি কাজ করে ~


আমার মাথায় যে সমস্যা ছিল তা আপনি পেরেছিলেন! পর্যাপ্ত ঘুম নেই, এমনকি
ক্লাসিগুলি

2

আমি একই সমস্যার মুখোমুখি হয়েছি এবং অনেক কাজ এবং অনুসন্ধানের পরে আমি সমাধানটি বের করতে পেরেছিলাম: আমি সবেমাত্র প্রকল্পটি সাফ করেছিলাম তারপর এপিপি তৈরি করি। -বিল্ড-> ক্লিন প্রজেক্ট-বিল্ড-> এপিপি (গুলি) তৈরি করুন আমি আশা করি এটি কার্যকর হবে .....


1

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

সমস্যাটি হ'ল আমি XML মেনু লেআউট ফাইলটির নাম পরিবর্তন করে নেওয়ার সিদ্ধান্ত নিয়েছিলাম যা মেইন.এক্সএমএল নামে পরিচিত।

এটিতে ডান ক্লিক করুন এবং রিফ্যাক্টর -> নাম পরিবর্তন করুন । নাম বদলে দেওয়ার আগে অবশ্যই "মন্তব্য এবং স্ট্রিংগুলিতে অনুসন্ধান করুন" এবং চাপা রেফ্যাক্টরটি আনচেক করা নিশ্চিত করুন ।

যেহেতু আমার ফাইলটি মূলত 'মেইন' নামকরণ করা হয়েছিল , তাই এটি অ্যাপ.আইএমএল এবং বিল্ড.gradle- র মধ্যে প্রধানত java.srcDirs, জাল 'src/main/java'

আমি আশা করি এটি এই সমস্যার সম্মুখীন হতে পারে এমন কাউকে সহায়তা করে।


1

18 সংস্করণ থেকে আপগ্রেড করার পরে আমার এই সমস্যাটি ছিল।

তবে: বিল্ড সরঞ্জামগুলি অ্যান্ড্রয়েড থেকে এখনও ছিল 4.3.1 (18) আমি যা লক্ষ্য করেছি তা হ'ল যে অ্যাপ্লিকেশনগুলি অ্যাকশনবার্টিভিটি থেকে তাদের ক্রিয়াকলাপ গ্রহণ করেছিল তারা উপরের ত্রুটির সাথে ক্র্যাশ হয়েছিল যা এখনও চালায় নি।

সুতরাং সহজ ফিক্সটি হ'ল অ্যান্ড্রয়েড এসডিকে বিল্ড টুলস 18 এর পরিবর্তে সর্বশেষতম অ্যান্ড্রয়েড এসডিকে বিল্ড সরঞ্জাম 21.1.2 ব্যবহার করা ছিল যা কোনওরকম ডিফল্ট বলে মনে হয়।

সুতরাং অপরাধীকে অ্যাপকম্প্যাট লাইব্রেরিটি মনে হয়, যা আমি অ্যাকশনবারের পশ্চাদপটে সামর্থ্যের জন্য ব্যবহার করি।

এবং এক উপায় : অ্যাপকম্প্যাট লাইব্রেরিটি ব্যবহার করে আমাকে সেট / ফিক্স করতে হয়েছিল: $SDKInstallDIR$\Android\android-sdk\extras\android\support\v7\appcompat\project.properties target=android-21(যা অন্য কোনও দরকারী পোস্টে প্রস্তাবিত ছিল এবং যার মান ডিফল্টরূপে 19))


1

আমি উইন্ডোজ একই সমস্যা ছিল। আমি প্রকল্পের পথটির নাম পরিবর্তন করে এমন একটি জায়গা রেখেছি যাতে কোনও স্থান থাকে।

আপনার প্রকল্পের পথে কোনও স্থান নেই বলে নিশ্চিত করুন।


আপনি কোন পথে কথা বলছেন?
গুণমান অনুঘটক


0

আমার এই সমস্যাটি বেশ কয়েকটি কারণে উত্থাপিত হয়েছিল, তবে আমি এটি আপনার স্ট্যাকট্রেসটিতে দেখতে পাচ্ছি " **Unable to instantiate activity ComponentInfo{...}: java.lang.ClassNotFoundException: Didn't find class "..." on path: DexPathList[[**", .classpathএটি কাজ করা বন্ধ করার আগে আমার মধ্যে একটি বিচ্ছিন্নতা খুঁজে পেয়েছিল ।

 <?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
    <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
    <classpathentry kind="src" path="gen"/>
    <classpathentry kind="output" path="bin/classes"/>
</classpath>

আমি লাইনটি যুক্ত করেছি:

<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>

এটি চূড়ান্ত সংস্করণ:

  <?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
    <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
    <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
    <classpathentry kind="src" path="gen"/>
    <classpathentry kind="output" path="bin/classes"/>
</classpath>

এখন এটা কাজ করছে! =)


0

আমারও ঠিক একই সমস্যা ছিল। @ ওয়েইওয়েয়ার পরামর্শ অনুসারে, জাভা ডিরেক্টরি থেকে কোডটি এসআরসি-তে সরান আমার পক্ষে কাজ করেছে। আমি প্রকল্প -> বৈশিষ্ট্য -> জাভা বিল্ড পাথ -> অর্ডার এবং রফতানি থেকে অ্যান্ড্রয়েড নির্ভরতাগুলিও সরিয়েছি এবং কেবল অ্যান্ড্রয়েড স্ক্রিনে লাইব্রেরি প্রকল্পগুলি অন্তর্ভুক্ত করার বিষয়টি নিশ্চিত করেছি।


0

আমার বেশ কিছুদিন এই সমস্যা ছিল এবং অন্য সবার মতো উপরের উত্তরগুলি আমার প্রকল্পে প্রযোজ্য হয়নি।

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

সুতরাং এটি আমার সমাধান ছিল। আমি আমার প্রকল্প এবং জাভা বিল্ড পাথের প্রকল্পের বৈশিষ্ট্যগুলিতে গিয়েছিলাম। অন্য প্রকল্পের সিআরসি-ফোল্ডার থেকে "নিজস্ব উত্স" -ট্যাব এবং "লিঙ্ক উত্স" টি আমার নিজস্ব প্রকল্পে টিপুন এবং একটি নতুন ফোল্ডারটির নাম দিয়েছেন "কোর-সিআরসিআর"।

আশা করি এই সমাধানটি কাউকে সহায়তা করে


0

আমারও একই প্রশ্ন ছিল. আমি Xamarin.Android ব্যবহার করছি।

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

যখন আমি তাদের এইভাবে স্থাপন করলাম তখন আমার কোনও সমস্যা হয়নি:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="pac.ka.ge" android:versionCode="1" android:versionName="1.0" android:installLocation="auto">

সমস্যাটি উপস্থিত হয়ে যখন আমি এটিকে (ভার্সন কোড 2 এবং সংস্করণনামি 0.0.0) এ পরিবর্তন করেছি:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package=" pac.ka.ge " android:versionCode="2" android:versionName="0.0.1" android:installLocation="auto">

আমি সংস্করণ কোড 2 এবং সংস্করণনাম 1.0.0.1 এ পরিবর্তন করে সমস্যার সমাধান করেছি:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package=" pac.ka.ge " android:versionCode="2" android:versionName="1.0.0.1" android:installLocation="auto">

আমি নিশ্চিত না কেন এটি কেন সমস্যা হয়েছিল, সম্ভবত অ্যান্ড্রয়েড একটি উচ্চতর সংস্করণ কোড সহ একটি নিম্ন সংস্করণ নাম পছন্দ করে না?

আমি নিম্নলিখিতটি http://developer.android.com/guide/topics/manifest/manifest-element.html#vname এ পেয়েছি

Android: versionCode একটি অভ্যন্তরীণ সংস্করণ নম্বর। এই সংখ্যাটি কেবলমাত্র একটি সংস্করণ অন্যের চেয়ে সাম্প্রতিকতম কিনা তা নির্ধারণ করতে ব্যবহৃত হয়, উচ্চতর সংখ্যার সাথে আরও সাম্প্রতিক সংস্করণ নির্দেশিত হয়। এটি ব্যবহারকারীদের দেখানো সংস্করণ নম্বর নয়; এই সংখ্যাটি ভার্সননেম অ্যাট্রিবিউট দ্বারা সেট করা হয়েছে। মানটি অবশ্যই "100" এর মতো একটি পূর্ণসংখ্যা হিসাবে সেট করা উচিত। আপনি চাইলে এটি সংজ্ঞায়িত করতে পারেন, যতক্ষণ না প্রতিটি ক্রমিক সংস্করণটির সংখ্যা বেশি থাকে। উদাহরণস্বরূপ, এটি একটি বিল্ড নম্বর হতে পারে। অথবা আপনি "xy" ফর্ম্যাটে একটি সংস্করণ নম্বরটি অনুবাদ করতে পারবেন পূর্ণসংখ্যায় "x" এবং "y" আলাদা করে নিম্ন এবং উপরের 16 বিটগুলিতে এনকোড করে। অথবা প্রতিবার নতুন সংস্করণ প্রকাশের সময় আপনি কেবল সংখ্যাটি বাড়িয়ে নিতে পারেন।

android: versionName সংস্করণ নম্বরটি ব্যবহারকারীদের দেখানো হয়েছে। এই বৈশিষ্ট্যটি কাঁচা স্ট্রিং হিসাবে বা একটি স্ট্রিং উত্সের রেফারেন্স হিসাবে সেট করা যেতে পারে। স্ট্রিংটির ব্যবহারকারীর কাছে প্রদর্শিত হওয়া ছাড়া অন্য কোনও উদ্দেশ্য নেই। সংস্করণকোড বৈশিষ্ট্যটি অভ্যন্তরীণভাবে ব্যবহৃত উল্লেখযোগ্য সংস্করণ সংখ্যাটি ধারণ করে।


0

আমার ক্ষেত্রে যেমন কেউ একই সমস্যার মুখোমুখি হয় এবং এখানে কোনও পরামর্শের উত্তর সহায়তা করে না।

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

আশা করি এটি কারও সাহায্য করবে। চিয়ার্স


0

আমাদের ক্ষেত্রে আমরা ভ্যাগ্র্যান্ট সংস্করণ সংকলন করতে চেয়েছিলাম এবং একই ত্রুটি ছিল। আমরা বিল্ড মেনু দ্বারা clean projectএবং এটি স্থির করেছিrebuild project


0

আমি সবেমাত্র ডিভাইসটি পুনরায় চালু করে অ্যাপটি চালিয়েছি। এটি কোনও সমস্যা ছাড়াই কাজ করেছে। আশা করি এটি কাউকে সাহায্য করবে :)


0

আমি Android 23 স্টুডিওতে এই ত্রুটিটি পেয়েছি যখন আমি API 23 এর সাথে একটি ডিভাইসে ডিবাগ করার চেষ্টা করেছি , তাই আমি অ্যান্ড্রয়েড স্টুডিওতে পরীক্ষা করে দেখেছি যে আমি এই এপিআই 23 সংস্করণটি ইনস্টল করেছিলাম । ইনস্টল করার পরে, আমি সমস্যার সমাধান করেছি।


0

আমার বেশ কয়েকবার এই সমস্যা হয়েছিল এবং প্রায়শই আমি নির্ভরতার সাথে সুস্পষ্টভাবে কিছু ভুল করি না।

এই 'খুঁজে পাওয়া যায় না' শ্রেণিটি চূড়ান্ত এপিপিতে উপস্থিত কিনা তা যাচাই করা সর্বদা একটি ভাল ধারণা। যদি এটি হয়, যেমনটি আমার ক্ষেত্রে ঘটেছিল, সমস্যাটি সাধারণত:

এটি দেওয়া হয়নি যে প্রদত্ত শ্রেণি পাওয়া যায় নি, তবে এটি লোড করা যায় না কারণ এর সুপার ক্লাসটি অনুপস্থিত।

আপনার প্রসারিত শ্রেণিটি উপলব্ধ কিনা তা পরীক্ষা করুন এবং তারপরে আপনার বিল্ড স্ক্রিপ্ট বা নির্ভরতা ঠিক করার চেষ্টা করুন।

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