java.lang.ClassNotFoundException: পথে ক্লাসটি খুঁজে পেল না: ডিপোপাথলিস্ট


139

আমি বর্তমানে এমন একটি প্রকল্পে কাজ করছি যেখানে আমাকে খাঁটি নেটিভ ব্যবহার করতে হবে। যখন আমি ইরলিচ ইঞ্জিন উত্স থেকে হেলিওরল্ড উদাহরণ চালানোর চেষ্টা করছিলাম তখন এটি কাজ করেছিল। তারপরে আমি এটি উদাহরণের একই ফর্ম্যাট অনুসরণ করে আমার প্রকল্পে এটি ব্যবহার করার চেষ্টা করব। তবে আমি পেয়েছি:

03-14 01:40:05.308: E/AndroidRuntime(799): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.irrlicht.example1/android.app.POMActivity}: java.lang.ClassNotFoundException: Didn't find class "android.app.POMActivity" on path: DexPathList[[zip file "/data/app/com.irrlicht.example1-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.irrlicht.example1-2, /system/lib]]

আমার প্রকল্প চালানোর সময়।

এখানে আমার main.cpp ফাইলটি রয়েছে:

#include <android/log.h>
#include <jni.h>
#include <android_native_app_glue.h>
#include "android_tools.h"
#ifdef _IRR_ANDROID_PLATFORM_
void android_main(android_app* app)
{
__android_log_print(4 , "pom" , "nothing");
}

#যদি শেষ

Android.mk এ:

LOCAL_PATH := $(call my-dir)/..
IRRLICHT_PROJECT_PATH := $(LOCAL_PATH)
include $(CLEAR_VARS)
LOCAL_MODULE := Irrlicht
LOCAL_SRC_FILES := /home/karthik/Android/Essentials/ogl-es/lib/Android/libIrrlicht.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := HelloWorldMobile1
LOCAL_CFLAGS := -D_IRR_ANDROID_PLATFORM_ -pipe -fno-exceptions -fno-rtti -fstrict-aliasing
LOCAL_C_INCLUDES := -I ../../include -I /home/karthik/Android/Essentials/ogl-es/include -I /home/karthik/Android/json/jsoncpp-src-0.5.0/libs/linux-gcc-4.8 -I /home/karthik/Android/json/jsoncpp-src-0.5.0/include/json 
LOCAL_SRC_FILES :=  android_tools.cpp main.cpp
LOCAL_LDLIBS := -lEGL -llog -lGLESv1_CM -lGLESv2 -lz -landroid -ldl 
LOCAL_STATIC_LIBRARIES := Irrlicht android_native_app_glue
include $(BUILD_SHARED_LIBRARY)
$(call import-module,android/native_app_glue)

এবং আমি অ্যান্ড্রয়েড ম্যানিফেস্ট.এক্সএমএলে ক্রিয়াকলাপের নাম দিয়েছি:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.irrlicht.example1"
    android:versionCode="1"
    android:versionName="1.0">
...
<application android:icon="@drawable/irr_icon" android:label="HelloWorldMobile1" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:debuggable="true">
        <activity android:name="android.app.POMActivity"
        android:label="HelloWorldMobile1"
        android:launchMode="singleTask"
        android:configChanges="orientation|keyboardHidden"
        android:screenOrientation="portrait"
        android:clearTaskOnLaunch="true">
        <meta-data android:name="android.app.lib_name" android:value="HelloWorldMobile1" />                     

এখানে আমি কী ভুল করছি? আমি পুরো কোড পোস্ট করব যদি necassary হয়।


1
আপনি কি কোনও বাহ্যিক জার ফাইল ব্যবহার করছেন?
সিদ্ধার্থ_বায়াস

@ সিদ্ধার্থভিস না, আমি এতে বাহ্যিক জার ফাইলগুলি ব্যবহার করছি না।
কার্তিক শিবম

1
আপনার আবেদনটি কি বহু-ডেক্সড? যদি তাই হয় তবে সমস্যাটি ব্যাখ্যা করে।
ইগোরগানাপলস্কি

যখন আমি একটি স্বাক্ষরিত এপিপি করি তখন এই ত্রুটিটি ঘটেনি। সবেমাত্র ডিবাগ করুন
j2emanue

আপনি একটি কাজের সমাধান খুঁজে পেয়েছেন?
বেনোবাব

উত্তর:


84

আমি সমস্ত সম্ভাব্য বিকল্প চেষ্টা করেছিলাম তবে ফলাফলটি শূন্য। অবশেষে আমি সঠিক সমাধানটি পেয়েছি যা আমার পক্ষে সহায়ক। কেবল তাত্ক্ষণিক রান অক্ষম করতে যান ফাইল -> সেটিংস -> বিল্ড, এক্সিকিউশন, ডিপ্লোয়মেন্ট -> তাত্ক্ষণিক চালান -> তাত্ক্ষণিক সঞ্চালনের জন্য চেকবাক্সটি আনচেক করুন । আপনার অ্যাপ্লিকেশন একবার চালান এবং এই apk ফাইলটি সঠিকভাবে কাজ করে ..


11
এটি অ্যান্ড্রয়েড স্টুডিওর সঠিক উত্তর। আমি বিশ্বাস করতে পারি না যে তাত্ক্ষণিক রান এখনও প্রসারিত করতে
এতটা কুঁচকির মধ্যে রয়েছে

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

5
এটাই আমার সমাধান নয়। আমি তাত্ক্ষণিক রানটি অক্ষম করে দিয়েছিলাম
টেরানোলজি

বিকল্পগুলি অক্ষম করার পরে। দয়া করে আপনার অ্যান্ড্রয়েড স্টুডিও পুনরায় চালু করুন
আশিক আব্বাস

ওমগ আমি জানি না কেন তাত্ক্ষণিকভাবে দৌড়ানো অপরাধী তবে এটি প্রকৃতপক্ষে, ধন্যবাদ মানুষ।
কিংকংকোডার 22'18

63

আমারও একই সমস্যা ছিল, আমার সমাধানটি এখানে:

  1. আপনার প্রকল্পে ডান ক্লিক করুন এবং বৈশিষ্ট্য নির্বাচন করুন ।
  2. বাম দিকের মেনু থেকে জাভা বিল্ড পাথ নির্বাচন করুন ।
  3. অর্ডার এবং এক্সপোর্ট ট্যাবটি নির্বাচন করুন ।
  4. তালিকা থেকে নিশ্চিত হয়ে নিন যে আপনি আপনার প্রকল্পে যুক্ত গ্রন্থাগার বা বাহ্যিক জারগুলি চেক করা আছে
  5. শেষ পর্যন্ত, আপনার প্রকল্পটি পরিষ্কার করুন এবং চালান।

আপনি এই উত্তরটিও পরীক্ষা করতে পারেন ।


1
এটিই প্রশ্নের সঠিক সমাধান। আমি আমার লিবিজিডিএক্স গেমটির সাথে উপরের মতো একই ত্রুটিগুলি খুঁজে পেয়ে এটি পরীক্ষা করেছি। আমার ফোনের মাধ্যমে উত্পন্ন লগটি ব্যবহার করে আমি এই ত্রুটিগুলি খুঁজে পেয়েছি (স্যামসাং গ্যালাক্সি এস 6)। আমি একবার এই সমাধানটি প্রয়োগ করলে আমার সমস্ত সমস্যা সমাধান হয়ে যায়।

25
আমি প্রকল্পের ডান ক্লিক থেকে সম্পত্তি খুঁজে পাচ্ছি না। আমি বোকা হতে পারে। :(
জিন মিন

12
আমি কোনও বৈশিষ্ট্য খুঁজে পাচ্ছি না, তালিকাভুক্ত পৃষ্ঠায় কীভাবে নেভিগেট করতে হবে তা কেউ বুঝতে পারে
স্কাইলার

9
এটি Eclipse IDE এর সমাধান। অ্যান্ড্রয়েড স্টুডিওতে কোনও ডিফল্ট 'প্রজেক্ট.প্রপার্টি' ফাইল নেই। যদিও এটি তৈরি করা যেতে পারে।
বট

প্রদত্ত সমাধানটি শুধুমাত্র ELipse IDE এর জন্য প্রযোজ্য।
mnsalim

47

এটি আপনার ক্ষেত্রে সমস্যা বলে মনে হচ্ছে। ম্যানিফেস্টে আপনার ক্রিয়াকলাপের আপেক্ষিক পথটি সঠিক নয়:

<activity android:name="android.app.POMActivity"

এর সাথে প্রতিস্থাপন করুন:

<activity android:name=".POMActivity"

অথবা

<activity android:name="com.irrlicht.example1.POMActivity"

31

ডিভাইসে অ্যাপ মুছে ফেলা এবং প্রকল্প সাফ করা আমার পক্ষে কাজ করে


2
দেশীয় প্রতিক্রিয়া নিয়ে এটি আমার পক্ষেও কাজ করেছিল। আমি অ্যান্ড্রয়েড স্টুডিও দিয়ে অ্যান্ড্রয়েড ফোল্ডারটি খুললাম এবং তারপরে -> পরিষ্কার প্রকল্প তৈরি করব। এটি পুনর্নির্মাণ করুনreact-native run-android
pinguinos

উপরে মন্তব্য মত একই কাজ এবং এটি কাজ করে! ধন্যবাদ!
ইলেগিয়া

24

আমার সমস্যাটি কেবল দেখে বোঝা উচিত

ডেক্স ত্রুটি

তবে সমস্যাটি সমাধান করতে দেড় দিন সময় লেগেছিল।
আমি অ্যান্ড্রয়েড বিকাশকারী পৃষ্ঠাগুলির নির্দেশাবলী অনুসরণ করে এটি ঠিক করেছি: https://developer.android.com/studio/build/m લ્ટ dex.html

প্রথমে গ্রেড.বিল্ড ফাইলটিতে এটি যুক্ত করুন:

defaultConfig {
    ...
    minSdkVersion 14
    targetSdkVersion 21
    ...

    // Enabling multidex support.
    multiDexEnabled true
}

 dependencies {
     compile 'com.android.support:multidex:1.0.0'
 }

তারপরে MultiDexApplicationউপরের লিঙ্কে নির্দেশ অনুসারে ক্লাসের সাথে অ্যাপ্লিকেশন ক্লাস প্রসারিত করুন (বা অ্যাপ্লিকেশন শ্রেণির প্রসারিত করা সম্ভব না হলে অ্যাপ্লিকেশন ক্লাসটি ঘোষণা করুন AndroidManifest.xmlবা attachBaseContext()ক্রিয়াকলাপে ওভাররাইড করুন )।

এগুলিই সমস্যাটি সমাধান করেছে।


1
মাল্টি-ডেক্স যুক্ত করা কেবল তখনই কার্যকর যখন আপনি রেফারেন্স গণনা সীমা (56 কে) পাস করেন এবং ললিপপের আগে এটি খুব অস্থির এবং খুব অবিশ্বস্ত। এটি সর্বশেষ সমাধান হিসাবে সমস্যার সমাধান করতে ব্যবহার করা উচিত।
মিলস্মসন

তাহলে আপনার মতে সমাধানটি কী হওয়া উচিত
আকাশ বিসারিয়ার

আমি কেবল বলছি যে মাল্টি-ডেক্সগুলি সাহায্য করার চেয়ে আরও বেশি সমস্যার সৃষ্টি করে, যা বিকাশকারীর ওয়েবসাইটে স্পষ্টভাবে বলা আছে। আমি যদি এখানে উত্তর পাই না তবে আমি কি উত্তর দিচ্ছিলাম?
মিলোস্মন্স

1
তথ্যের জন্য ধন্যবাদ, আপনি যদি একটি ভাল সমাধান খুঁজে পান তবে এখানে আপডেট করুন, এটি একটি দুর্দান্ত সাহায্য হবে be
আকাশ বিসারিয়ার

2
উপরের নির্ভরতার মধ্যে লাইন যুক্ত করা আমার পক্ষে তা করেছে।
gadildafissh

23

ক্লিন প্রজেক্ট এবং পুনর্নির্মাণ প্রকল্পটি চেষ্টা করুন ।


1
"বিল্ড" মেনু এর অধীনে। বিল্ড নির্বাচন করুন -> ক্লিন প্রকল্প এবং তারপরে বিল্ড করুন -> পুনর্নির্মাণ প্রকল্প
কংকিউ

এটি বোঝায় যে অ্যাপ্লিকেশনটি কেবল স্থানীয়ভাবে ক্র্যাশ করে, ক্র্যাশটি রিলিজ সংস্করণেও ঘটে, সুতরাং এটি সত্যিই সমাধান নয়।
ডেভিড

22

এই ব্যতিক্রমটি তখনও ঘটতে পারে যখন আপনার লেআউটে আপনার পছন্দ মতো দৃশ্য থাকে :

<com.example.MyView
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

এবং আপনি ভিউয়ের প্যাকেজটির নাম "com.example" থেকে আলাদা কিছুতে পরিবর্তন করেছেন, তবে আপনি এটি বিন্যাসেও পরিবর্তন করতে ভুলে গেছেন।


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

14

যদি প্রকল্পটি ঠিক আগে সংকলন করছিল তবে আপনি ক্যাশেটি ব্যবহার করে সাফ করার চেষ্টা করতে পারেন:

./gradlew clean

অথবা

./gradlew cleanBuildCache

বা উইন্ডোজ জন্য

gradlew cleanBuildCache

https://developer.android.com/studio/build/build-cache.html


12

আমি এটি ব্যবহার করে সমাধান করেছি: ./gradlew --stopঅ্যান্ড্রয়েড স্টুডিও টার্মিনালে কমান্ড। এই কমান্ডটি সম্পাদন করার পরে প্রকল্পটি পরিষ্কার এবং পুনর্নির্মাণ করুন।


11
  1. বিন ফোল্ডারটি মুছুন
  2. লাইব্রেরির ক্রম পরিবর্তন করুন
  3. পরিষ্কার এবং পুনর্নির্মাণ

আমার জন্য কাজ।


10

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

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">

কীভাবে enableMultiDexপ্রভাব ফেলবে? আমার ক্ষেত্রে javaMaxHeapSize "4g"সাহায্য হয়নি।
কুলমাইন্ড

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

একমত। আমি হয় MultiDexApplicationবা attachBaseContext( ডেভেলপার.অ্যান্ড্রয়েড / স্টুডিও / বিল্ড / মাল্টিএডেক্স দেখুন ) ব্যবহার করি ।
কুলমাইন্ড

8

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


একাধিক সমাধানের চেষ্টা করা, এই ছোট জিনিসটি সমস্যার সমাধান করেছে, অবিশ্বাস্য!
ফ্রেঙ্ক

@ ফ্র্যাক, সর্বাধিক রেটযুক্ত সমাধানটিতে এই পরামর্শ রয়েছে। যদিও আমি ইতিমধ্যে তাত্ক্ষণিক রানটি পরীক্ষা করে ফেলেছি (বেশ কয়েক বছর এটি বহু বাগ এনেছে)।
কুলমাইন্ড

7

আমাদের কাস্টমাইজড অ্যাপ্লিকেশন ক্লাসের দরকার নেই যা মাল্টিডেক্স অ্যাপ্লিকেশনটিকে প্রসারিত করে । পরিবর্তে, আমরা এটিকে AndroidManLive.xML এ রাখতে পারি

<application
android:name="android.support.multidex.MultiDexApplication"
android:hardwareAccelerated="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">

এবং বিল্ড . gradleএটির সাথে (মডিউল: অ্যাপ),

defaultConfig {
      ...

      // Enabling multidex support.
      multiDexEnabled true
}

dependencies {
     ... 
     compile 'com.android.support:multidex:1.0.2'
}

ধন্যবাদ।


অ্যাপ্লিকেশনটির নাম পরিবর্তন করা, যখন আমি অ্যান্ড্রয়েড 3.৩
এইচ

6

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

@Override
protected void attachBaseContext(Context base)
{
    super.attachBaseContext(base);
    MultiDex.install(BaseApplication.this);
}

এবং নির্ভরতা এ যোগ করুন

compile 'com.android.support:multidex:1.0.1'

আমরা যদি প্রসারিত করি তবে আমাদের এই পদ্ধতিটি ওভাররাইড করা উচিত Application। কেন একটি ক্ষেত্রে আমরা ওভাররাইড করা উচিত MultiDexAppication?
কুলমাইন্ড

4

শুধু থেকে আপনার ফোল্ডার নাম পরিবর্তন করুন libথেকে libs,

তারপরে আপনি এই প্রকল্পটি ডান ক্লিক করুন সমাধান করতে আপনার প্রকল্পে কিছু ত্রুটি চিহ্নগুলি দেখতে পাবেন

Properties > Java Build Path > libraries :

এটা লাল চিহ্ন দিয়ে সমস্ত গ্রন্থাগার সরান, তারপর apply > ok >যে পরে পরিষ্কার আপনার প্রকল্পের । টাডা ম্যাজিক দেখুন :)


ফোল্ডারের নামটি কেবলমাত্র লিবিস
খুনি

4

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


বাহ, আমার একটি 99% কোটলিন প্রকল্প আছে কী করব? :)
কুলমাইন্ড

আপনি কি দয়া করে পরীক্ষা করতে পারেন, কোটলিন সংস্করণ আপনার অন্তর্নিহিত অ্যান্ড্রয়েড স্টুডিওর সাথে সামঞ্জস্যপূর্ণ। এটি কেবল অনুমান। একবার দেখুন
হ্যারি .নিম

আমার এএস 3.3.1 এবং কোটলিন 1.3.21 আছে। তারা সর্বশেষ স্থিতিশীল। দুঃখিত, আমি মনে করি, উপরে এবং নীচে বর্ণিত সমস্ত সমাধানগুলি আমার পরিস্থিতির জন্য উপযুক্ত নয়।
কুলমাইন্ড

4

একটি সম্ভাব্য কারণ হ'ল অ্যাপস অ্যান্ড্রয়েড ম্যানিফেস্ট.এক্সএমএল ফাইলের ক্রিয়াকলাপের ভুল পথ। নীচের মতো সম্পূর্ণ আপেক্ষিক পথ সহ আপনার অ্যান্ড্রয়েড ম্যানিফেস্ট.এক্সএমএল এর সাথে ক্রিয়াকলাপটি নিবন্ধ করুন।

<activity android:name="<full_path>.ActivityName" />

3

আমি প্রদত্ত উত্তরগুলি চেষ্টা করার পরে, আমি একই ব্যাতিক্রমের জন্য অন্য কারণটি জানতে পেরেছিলাম, যে লাইব্রেরিটি আমি নিজের মূল লাইব্রেরিতে আমি ম্যানুয়ালি ব্যবহার করছি তা যুক্ত করতে হয়েছিল

Right click on my main library > 
Properties > 
Android > 
Go to the very bottom of the screen and click (Add) > 
Select my other library that caused the crash >
Apply

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


3

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

dexOptions {
     preDexLibraries false
}

আমি এই উত্তরটি এখানে পোস্ট করছি কারণ এই প্রশ্নটি এই ক্র্যাশটির জন্য বর্তমানে গুগলে সর্বাধিক র‌্যাঙ্ক অনুসন্ধান ফলাফল এবং উপরের উত্তরগুলির কোনওটিই আমার পক্ষে কার্যকর হয়নি।


এটি আমাকে সাহায্য করেনি (স্যামসুং গ্যালাক্সি এস 4, অ্যান্ড্রয়েড 5.0.1)।
কুলমাইন্ড

2

নিম্নলিখিত সমাধানটি আমার পক্ষে কাজ করেছে ...

আমি উপরে উল্লিখিত সমস্ত কিছু চেষ্টা করেছিলাম কিন্তু এখনও আমার অ্যাপটি চালু হয়নি। আমি গ্রেড 4+ এবং অ্যান্ড্রয়েড স্টুডিওর সর্বশেষ সংস্করণে চলছে রিএ্যাক্ট-নেটিভ অ্যাপ্লিকেশন।

আমার সমস্যা ছিল যেখানে আমি যদি দেশীয় রান-অ্যান্ড্রয়েডের প্রতিক্রিয়া চালাই তবে এটি মেন অ্যাপ্লিকেশন ক্লাসটি সন্ধান করতে সক্ষম নয় বলে ইস্যুতে ব্যর্থ হয়েছিল ... অর্থাৎ ClassNotFoundException

আমি সংকলক ডি 8 ব্যবহার করতে আমার গ্রেড.প্রপ্রেটিস আপডেট করার সময় আমি সমস্যাটি সমাধান করতে সক্ষম হয়েছি।

আমি যোগ করলাম:

android.enableD8 সত্য =

আমার গ্রেড.প্রোপার্টি

দস্তাবেজের বিবরণগুলি এখানে: https://android-developers.googleblog.com/2017/08/next-generation-dex-compiler-now-in.html


1
অ্যান্ড্রয়েড স্টুডিও 3.1+ ডিফল্টরূপে এই ডেক্স কমপ্লায়ার ব্যবহার করে
লেনন স্পিরল্যান্ডেলি

2

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

debug {
            minifyEnabled false

        }

1

আমার আন্ডারট্যাডিং অনুসারে আমি আপডেটটি অ্যান্ড্রয়েড স্টুডিও ২.১ থেকে ২.৩ এ আপডেট করার পরে তাত্ক্ষণিক বৈশিষ্ট্যের কারণে আমার অ্যাপ্লিকেশনটি চলবে না যখন আমি আউটপুট থেকে এপিপি অনুলিপি করে এসডিকার্ডে রাখি। এই সমস্যার জন্য আমি অ্যান্ড্রয়েড স্টুডিওতে বিল্ড অপশন থেকে এপিপি বিল্ড করি।


1

আপনি যদি সক্ষম হন minifyEnabledএবং shrinkResourcesআপনার অ্যাপ্লিকেশন গ্রেডল ফাইলটিতে সত্য হন। আপনাকে proguard-rules.proফাইলটিতে নিম্নলিখিত লাইনটি যুক্ত করতে হবে

-কিপ ক্লাস com.yourpackage_name। ** {*; }

কারণ মিনিপিংটি আমাদের এপিপি ফাইলের কয়েকটি গুরুত্বপূর্ণ ক্লাস সরানো হয়েছে।


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

1

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

 -optimizationpasses 5
        -overloadaggressively
        -repackageclasses ''
        -allowaccessmodification
        -dontskipnonpubliclibraryclassmembers

1

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

সমাধান প্রতিস্থাপন ছিল android.support.design.widget.BottomNavigationViewসঠিক সমর্থন লাইব্রেরি থেকে অব্যাহতি দিয়ে উপাদান: com.google.android.material.bottomnavigation.BottomNavigationView


1

আমার ক্ষেত্রে আমি ক্রিয়াকলাপটিকে সংজ্ঞায়িত করেছি Manifest.xmlএবং কোনও তৈরি করতে ভুলে গিয়েছি activity। সুতরাং আমি ক্রিয়াকলাপ তৈরি করেছি এবং এটি সংজ্ঞায়িত করেছি manifestএবং আমার ত্রুটিটি সমাধান হয়েছে!


0

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


দয়া করে একাধিক প্রশ্নের একই উত্তর যুক্ত করবেন না । সেরাটির উত্তর দিন এবং বাকীটিকে সদৃশ হিসাবে চিহ্নিত করুন। দেখুন বেশ কয়েকটি প্রশ্নের সদৃশ উত্তর যুক্ত করা কি গ্রহণযোগ্য?
পিটার ফ্রিবার্গ

0

আমি একটি স্বাক্ষরিত APK তৈরি করার পরে বিষয়টি আমার কাছে উপস্থিত হয়েছিল। এটি ঠিক করতে, আমি রান / বিল্ড এপিপি ব্যবহার করে একটি নতুন, ডিবাগ এপিকে তৈরি করেছি। এর পরে, রান (সেন্টিমিটার + আর) এই ত্রুটি ছাড়াই আবার কাজ করে।


0

আমি একই সমস্যা ছিল। আমি এক দিনের জন্য সম্ভব সব চেষ্টা করেছিলাম, কিন্তু কিছুই কার্যকর হয়নি। নির্ভরতা যা সমস্যার সৃষ্টি করছিল তা হ'ল লোয়ার কমপাইল এসডিকে, টার্গেট এসডিকে এবং নূন্যতম এসডিকে ব্যবহার করা। আমি প্রকল্পের জন্য লাইব্রেরি মডিউল তৈরি করেছি, সমস্ত উত্স অনুলিপি করেছি এবং অ্যাপ্লিকেশন sdk সংস্করণ সঙ্গে sdk সংস্করণ মেলে। এবং অবশেষে এটি একটি মোহন মত কাজ করে।


0

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

<com.my.app.wrong.package.MyActivity
    android:id="@+id/myActivity"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="16dp"
    android:layout_marginRight="16dp"
    android:paddingTop="16dp"
    android:paddingBottom="8dp"
    android:gravity="left" />
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.