উইন্ডোতে সম্পদ সূচক.অ্যান্ড্রয়েড.বান্ডেল থেকে স্ক্রিপ্ট লোড করতে অক্ষম


357

আমি আমার ডিভাইসে প্রথমবারের জন্য প্রথম প্রতিক্রিয়া নেটিভ প্রকল্পটি চালানোর চেষ্টা করছি (অ্যান্ড্রয়েড 4.2.2)।

এবং আমি পেয়েছি:

সম্পদ সূচক থেকে স্ক্রিপ্ট লোড করতে অক্ষম and

যে কমান্ডগুলি আমি ব্যবহার করেছি:

  1. cd (project directory)
  2. react-native start
  3. react-native run-android

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

এটি সাম্প্রতিক সংস্করণে একটি বাগ। আপনাকে পূর্ববর্তী সংস্করণটি ব্যবহার করতে হবে দেশীয় init প্রকল্পের নাম --version = 0.55.4 ব্যবহার করে সমস্যাটি ঠিক করা উচিত।
সুলুং নগ্রোহো

একই ভুল একই প্রসঙ্গ, কিন্তু ফিক্স সহজ: ডিবাগ থেকে পরিবর্তন সার্ভারের জন্য অপেক্ষা Loading dependency graph...করতে Loading dependency graph, doneঅ্যাপে এবং হিট পুনঃ লোড করুন।
নিনো ফিলিউ

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

mkdir ... /assets && react-native bundle --platform..এই সমস্যাটিকে পুরোপুরি সমাধান করতে পারে না Use এটি পরীক্ষা করুন: stackoverflow.com/a/55511803/10139109
ইয়ান ঝং

উত্তর:


947

রিএ্যাক্ট নেটিভ টিউটোরিয়াল অনুসরণ করার সময় আমি একই সমস্যার মুখোমুখি হয়েছি (লিনাক্সে বিকাশ এবং অ্যান্ড্রয়েড লক্ষ্য করে)

এই সমস্যাটি আমাকে নিম্নলিখিত পদক্ষেপগুলিতে সমস্যার সমাধান করতে সহায়তা করেছে।

  1. (প্রকল্প ডিরেক্টরিতে) mkdir android/app/src/main/assets
  2. react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
  3. react-native run-android

উপরের পদক্ষেপগুলি এটিকে scriptsএর package.jsonমতো অংশে রেখে স্বয়ংক্রিয় করতে পারেন :

"android-linux": "react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res && react-native run-android"

তারপরে আপনি npm run android-linuxপ্রতিবার আপনার কমান্ড লাইন থেকে চালিয়ে দিতে পারেন ।


15
আমরা যদি ফাইলটি পরিবর্তন করতে চাই index.android.js? টার্মিনালে প্রতিবার আমাদের কমান্ড to react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
মৌলিক

9
এটি Loading dependency graph...প্রতিবার আটকে যাবে যখন আমি এটিকে টার্মিনাল থেকে পুনরায় চালু করব এবং এটি খুব বেশি সময় নেয়। এফওয়াইআই আমি উবুন্টু 14.04
মৌলিক

12
নেটিভ নতুন সংস্করণগুলিতে প্রতিক্রিয়া জানুন index সূচি.অ্যান্ড্রয়েড.জগুলি ধারণ করে না, সুতরাং দয়া করে কমান্ডটি সহ App.js ব্যবহার করুন। :) ধন্যবাদ
চিন্তক দিনাদাস

11
@ চিন্তাকা দিনাদাস আমার ক্ষেত্রে, তা index.jsনয়App.js
ফেলিক্স

11
এই লোকটির একটি স্ট্যাচু দরকার! আমি বলতে চাইছি এটি কেবল লিনাক্স নয়, উইন্ডোজ 10 এও কাজ করেছে
পুনর্বার জন্ম

126

আপনি যদি শারীরিক ডিভাইসে আপনার অ্যাপ্লিকেশনটি চালাচ্ছেন এবং এই ত্রুটিটি পান

unable to load script from assets index.android.bundle

কমান্ড চালানোর চেষ্টা করুন:

adb reverse tcp:8081 tcp:8081

এটা আমার জন্য কাজ ...


এই আমার সমস্যা স্থির! ধন্যবাদ!
পাবলো

7
আমার জন্য কাজ করেছেন। আপনার উইন্ডোতে আপনার টার্মিনাল পাথটিতে অ্যান্ড্রয়েড প্ল্যাটফর্ম সরঞ্জামগুলি নেই, তাদের জন্য নির্বাহযোগ্য অ্যাডবিটি `সি: \ ব্যবহারকারীগণ \ আপনার ইউজার \ অ্যাপডেটা \ স্থানীয় \ অ্যান্ড্রয়েড \ এসডিকে \ প্ল্যাটফর্ম-সরঞ্জামসমূহে রয়েছে
মাইকপোট

2
আমি মনে করি এটি সঠিক উত্তর হওয়া উচিত, অন্যটি হ্যাকের মতো মনে হয়।
ক্রিশ্চিয়ান গোমেজ

2
এটি আমার পক্ষে কার্যকর হয়নি (
ম্যাকোজে

এটি আমার জন্য সমস্যাটি স্থির করেছে (উইন্ডোজ, শারীরিক ডিভাইসে চলমান অ্যাপ্লিকেশন)। এটি লাল ত্রুটির বাক্সের প্রস্তাবিত একটি সমাধান।
তুর1ng

101

আমি এই সমস্যাটি বের করার চেষ্টা করে ঘন্টা ব্যয় করেছি। আমার সমস্যাটি উইন্ডোজের সাথে নির্দিষ্ট নয় তবে অ্যান্ড্রয়েডের জন্য নির্দিষ্ট।

বিকাশ সার্ভার অ্যাক্সেস স্থানীয়ভাবে এবং এমুলেটর ব্রাউজারে কাজ করে। অ্যাপটিতে ডেভলপমেন্ট সার্ভারটি অ্যাক্সেস করা একমাত্র জিনিসটি কাজ করে নি।

অ্যান্ড্রয়েড 9.0 (এপিআই স্তর 28) দিয়ে শুরু করে ক্লিয়ারটেক্সট সমর্থনটি ডিফল্টরূপে অক্ষম করা আছে।

Andro আইডি

<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
    <uses-permission android:name="android.permission.INTERNET" />
    <application
        ...
        android:usesCleartextTraffic="true"
        ...>
        ...
    </application>
</manifest>

আরও তথ্যের জন্য দেখুন: https://stackoverflow.com/a/50834600/1713216


11
ধন্যবাদ. আপগ্রেড targetSdkVersionকরার পরে এটি আমার সমস্যা ছিল 28
beendergazda

এটা সঠিক উত্তর. এটি আসলে নেটওয়ার্ক যোগাযোগের সমস্যার সমাধান করে fix
অ্যান্ড্রু কোস্টার


এটি পতাকাঙ্কিত করার জন্য ধন্যবাদ - আমার আরএন অ্যাপ্লিকেশনটি লোড হওয়া থেকে পুরোপুরি আটকাচ্ছিল। আশেপাশের যে এর আশেপাশে ত্রুটি বার্তা দেওয়ার চেয়ে ভাল ছিল না: /
গ্রেগ 7gkb

2
কাজ করে! আমি যদি আপনাকে ব্যক্তিগতভাবে দেখি, আমি আপনাকে একটি পদক দেব (-:
ইয়ারন লেভি

61

এনপিএম সংস্করণ ৪.৩.০ ব্যবহার করে দেশী-ক্লিপ সংস্করণ ২.০১-এর প্রতিক্রিয়া করুন-স্থানীয় সংস্করণ 0.49.5

প্রকল্প ডিরেক্টরিতে,

  • mkdir android/app/src/main/assets
  • react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
  • react-native run-android

ফাইলের নাম থেকে পরিবর্তিত হয়েছে index.android.js করার index.js


3
কিন্ডা দু: খিত যে এফবি একটি নতুন সংস্করণ প্রকাশ করেছে, এবং এই বাগটি সংশোধন করার পরিবর্তে - যা স্পষ্টতই বহু সংখ্যক লোককে আঘাত করছে - তারা স্বীকৃত কাজটি ভেঙে দেয়!
টম

@ ইগোরগানাপলস্কি আপনার সম্পদ ফোল্ডারে একটি সূচি.বান্ডল ফাইল রয়েছে তা নিশ্চিত করুন
দর্শণ পানিয়া

@ দর্শনপানিয়া এই ফাইলটি কী করে?
ইগোরগানাপলস্কি

3
@ আইগরগানাপলস্কি যে জেএস ফাইলটি আপনার অ্যাপ্লিকেশনটিতে প্রবেশের পয়েন্ট। আরএন 0.49 এর পরে বা index.jsতার পরিবর্তে কেবল একটি ফাইল রয়েছেindex.android.jsindex.ios.js
দর্শণ পানিয়া

1
লিনাক্সের জন্য:sudo react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
তাওহিদুল ইসলাম

42

আমি প্রকৃত অ্যান্ড্রয়েড ডিভাইস নিয়ে একই সমস্যার মুখোমুখি হয়েছি।

সমাধান: নীলটোডের এই উত্তরের ভিত্তিতে

  1. আপনার স্থানীয় আইপি সন্ধান করুন
  2. অ্যাপ্লিকেশনটি খুলুন এবং আপনার অ্যান্ড্রয়েড ডিভাইসকে কাঁপুন
  3. ডেভ সেটিং এবং> ডিবাগ সার্ভার যান ...
  4. আপনার আইপি এবং পোর্ট আটকান; XXXX: 8088 "(যেখানে এক্স এর স্থানীয় আইপি রয়েছে)

ম্যাক ব্যবহারকারীর জন্য: আপনার নেটওয়ার্ক পছন্দ খুলুন, এখানে আপনি আপনার স্থানীয় আইপি পাবেন।


আমার জন্য কাজ (y)
মৃপল সিং

22

আপনি যদি উইন্ডোজটি নিম্নলিখিত পদ্ধতিতে কমান্ডগুলি চালাচ্ছেন বা যদি কোনও ত্রুটি পান তবে "এন্ট্রি ফাইল সূচি খুঁজে পাওয়া যায় না। Android.js"

  1. mkdir android\app\src\main\assets
  2. react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res

  3. react-native run-android


19

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


অ্যান্ড্রয়েড স্টুডিও থেকে সরাসরি চালানোর সময় আমি এই সমস্যাটি পেয়েছিলাম। react-native run-androidএটি স্থির করে ব্যবহার করুন
ইয়ারজেজ

7
আপনার লিঙ্কটি আর কাজ করে না, তথ্য উত্সের মৃত্যুর পরে বাঁচতে আপনার ভবিষ্যতে মূল সহায়ক অংশগুলি উল্লেখ করা উচিত।
জ্যাক গারিয়সন

তাহলে কীভাবে এটি আসল ডিভাইসে চালানো যায় ??
ইগোরগানাপলস্কি

1
@IgorGanapolsky আমি একই সমস্যা আছে এবং সরকারী ডকুমেন্টেশন সঙ্গে এটি সংশোধন করা হয়েছে, আপনি সহজেই আপনার পরিবেশ পরীক্ষা করতে পারবেন facebook.github.io/react-native/docs/running-on-device.html আমি অ্যান্ড্রয়েড স্টুডিও থেকে porj লোড করতে পারব না (এবং অ্যান্ড্রয়েড ফোল্ডার) তবে আমি প্রকল্প এবং টার্মিনালের রুট ফোল্ডার দিয়ে এটি করতে পারি।
ইভান টাইটকভ

15

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

যেহেতু Emulator cellular data was turned off, আমি পেয়েছিলাম unable to load script from assets index.android.bundle make sure your bundle is running

আপনার Emulator cellular data is turned onএই প্যাকেজ সার্ভারটি করে বান্ডিল করতে সক্ষম হয়েছে তা নিশ্চিত করুন index.android.js। আশা করি এটি উন্নয়নের পর্যায়ে থাকা কারও পক্ষে সহায়তা করবে।


তুমি কী কর Emulator cellular data is turned on? কোথায় আছে? ভার্চুয়াল ডিভাইস? রিয়েল ডিভাইস?
সবুজ

এমুলেটর মানে ভার্চুয়াল ডিভাইস যা অ্যান্ড্রয়েড স্টুডিও থেকে আসে।
শ্রিনিবাস

13

আমি এখন কয়েক মাস ধরে এই একই সমস্যা পেয়েছি। আমি প্রথমে @ জেরির সমাধানটি ব্যবহার করেছিলাম তবে এটি সম্পূর্ণরূপে সমস্যার সমাধান না করায় এটি একটি মিথ্যা রেজোলিউশন ছিল। পরিবর্তে, এটি যা করেছিল তা প্রতিটি বিল্ডকে একটি প্রোডাকশন বিল্ড হিসাবে গ্রহণ করা হয়েছিল যার অর্থ আপনি অ্যাপ্লিকেশনটিতে সামান্য পরিবর্তন আনার অর্থ পুরো অ্যাপটি পুনর্নির্মাণ করা আবশ্যক।

যদিও এটি একটি অস্থায়ী সমাধান, এটি দীর্ঘমেয়াদে মারাত্মকভাবে কাজ করে কারণ আপনি আর নতুন প্রতিকৃতির নেটিভের আশ্চর্যজনক বিকাশ সরঞ্জাম যেমন হট রিলোডিং ইত্যাদি ব্যবহার করতে পারবেন না are

একটি সঠিক সমাধান দেখানো হয়:

আপনার MainApplication.javaফাইলে, নিম্নলিখিতগুলি প্রতিস্থাপন করুন:

@Override
public boolean getUseDeveloperSupport() {
    return BuildConfig.DEBUG;
}

সঙ্গে

@Override
public boolean getUseDeveloperSupport() {
    return true;
}

যেহেতু কোনও কারণে BuildConfig.DEBUGসর্বদা মিথ্যা প্রত্যাবর্তন ঘটে এবং ফলস্বরূপ সম্পত্তির ডিরেক্টরিতে একটি বান্ডিল ফাইল হয়।

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

চালাতে ভুলবেন না

$ adb reverse tcp:8081 tcp:8081

1
এটিই আসল সমাধান। ধন্যবাদ!
keyserfaty

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

11

1 আপনার প্রকল্প ডিরেক্টরিতে যান এবং এই ফোল্ডারটি বিদ্যমান কিনা তা পরীক্ষা করুন android/app/src/main/assets

  1. যদি এটি বিদ্যমান থাকে তবে দুটি ফাইল যথা index.android.bundleএবং মুছুনindex.android.bundle.meta
  2. যদি ফোল্ডার সম্পদ বিদ্যমান না থাকে তবে সেখানে সম্পদ ডিরেক্টরি তৈরি করুন।

আপনার রুট প্রকল্প ডিরেক্টরি থেকে

cd android && ./gradlew clean

৩. শেষ পর্যন্ত, রুট ডিরেক্টরিতে ফিরে নেভিগেট করুন এবং একটি একক এন্ট্রি ফাইল বলা হয়েছে কিনা তা পরীক্ষা করে দেখুনindex.js

  • যদি কেবল একটি ফাইল অর্থাৎ index.js থাকে তবে নিম্নলিখিত কমান্ডটি চালান react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res

  • যদি দুটি ফাইল অর্থাৎ index.android.js এবং index.ios.js থাকে তবে এটি চালান react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res

    1. এখন চালান react-native run-android

এই প্রায় সমস্ত পরিস্থিতিতে চেষ্টা করার পরে ... এটি ছিল আমার জন্য একমাত্র সমাধান। ধন্যবাদ!!!!
মিজআকিটা

উবুন্টু 18.04-এ শুরু করার গাইড অনুসরণ করার পরে এই ত্রুটিটি চালানোর পরে এটি আমার পক্ষে কাজ করেছিল। ধন্যবাদ!
রাস্তায় নামাচ্ছেন

ম্যাক ওস ক্যাটালিনাতে এটি আমার জন্য কাজ, আপনাকে ধন্যবাদ
হিতেশ

9

ওএস: উইন্ডোজ

উপরোক্ত দুটি পদ্ধতির চেষ্টা করার পরে এই সমস্যাটি সমাধানের আর একটি উপায়
(কারণ আমি এসডিকে ইনস্টল করেছি সিফের মতো ডিফল্ট লোকেশনে নেই: \ ব্যবহারকারীদের user "ব্যবহারকারীর নাম" \ অ্যাপডাটা \ স্থানীয় \ এসডিকে )

আপনি যদি লক্ষ্য করেছেন যে কমান্ড লাইনটি ঘোষণা করেছে: "'অ্যাডবি' অভ্যন্তরীণ বা বাহ্যিক আদেশ হিসাবে স্বীকৃত নয় ..."

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

D:\Android\sdk\tools  
D:\Android\sdk\platform-tools  

(আপনি যদি পাথ সিস্টেম ভেরিয়েবলগুলি কীভাবে সম্পাদনা করতে জানেন না তবে এখানে বিষয়টি এখানে রয়েছে: /android/38321/ व्हा-do-i-type-in-path-variable- for- adb- -সিএমডি / 38324 থেকে সার্ভার-থেকে-শুরু )

তারপরে আমি আবার সেন্টিমিডি চালাচ্ছি: react-native run-android

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


যদিও এটি সত্যিই সংযুক্ত নেই - এটি খুব সাধারণ সমস্যাগুলির মধ্যে একটি এবং এটি
থিয়ানের

8

আমার ক্ষেত্রে, আমি মেইন অ্যাপ্লিকেশন.জভা থেকে নীচে লাইনটি সরিয়েছি। (যা পূর্বে আমার দ্বারা ভুলভাবে যুক্ত হয়েছে)) : -

আমদানি com.facebook.react.BuildConfig;

ক্লিন প্রকল্প এবং হিট কমান্ড পরে

নেটিভ রান অ্যান্ড্রয়েড প্রতিক্রিয়া


ধন্যবাদ, এটি আমাকেও সহায়তা করে।
অনিল রাবসাহেব ঘোদকে

6

জন্য iOS:

টার্মিনালে:

cd ios

এর সাথে বিল্ড ফোল্ডারটি সরান: rm -r build

আবার দৌড়াও: react-native run-ios

বিকল্পভাবে, আপনি ফাইন্ডারটি খুলতে, YOUR_PROJECT / ios এ নেভিগেট করতে এবং বিল্ড ফোল্ডারটি মুছতে পারেন ।

তারপরে আবার চালান: react-native run-ios

জন্য android:

টার্মিনালে:

cd android/app

এর সাথে বিল্ড ফোল্ডারটি সরান: rm -r build

আবার দৌড়াও: react-native run-android

বিকল্পভাবে, আপনি ফাইন্ডারটি খুলতে, YOUR_PROJECT / android / অ্যাপে নেভিগেট করতে এবং বিল্ড ফোল্ডারটি মুছতে পারেন ।

তারপরে আবার চালান: react-native run-android


2
অ্যান্ড্রয়েডের জন্য কাজ করে! পরিষ্কার এবং সহজ!
llioor

android/app/binউইন্ডোজ মুছে ফোল্ডার পাশাপাশি কাজ করে। আমি এটিকে দৌড়ানোর পরিবর্তে এন্ড্রয়েড স্টুডিও থেকে সরাসরি প্রকল্পটি তৈরি করেছিলাম react-native run-androidএবং মনে হয় এটি এমন কিছু ভুল তৈরি করেছে যা আমাকে নিজেই মুছতে হয়েছিল।
লুকাস বুস্তামন্তে

5

এই সমস্যার জন্য আমি কেবল এটি চালিয়ে সমাধান করব:

react-native start

তারপর

adb reverse tcp:8081 tcp:8081

কমান্ড লাইনে এবং তারপরে আমি চালাতে পারি:

react-native run-android

সুতরাং আমি চালানোর জন্য আমার সময় নষ্ট করব না:

react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res

প্রত্যেকবার.


5

আমিও এই সমস্যার মুখোমুখি হয়েছি কারণ আমি যখন এমুলেটরটিতে কাজ করি তখন এটি ঠিকঠাক হয় তবে সত্যিকারের ডিভাইসে এটি ত্রুটি দেয়। সুতরাং আমি নিম্নলিখিত সমাধান দ্বারা এই সমস্যা সমাধান

প্রথম পদক্ষেপ: প্রথমে খুলুন সিএমডি এবং আপনার এসডিকে পরিচালক প্ল্যাটফর্ম-সরঞ্জাম ফোল্ডারে যান

cd C:Development\Android\Sdk\Platform-tools

২ য় পদক্ষেপ : এখন এই আদেশটি চালান:

adb devices

এই কমান্ডের পরে কমান্ড প্রম্পটে তালিকাভুক্ত আপনার ডিভাইসটি পরীক্ষা করুন

তৃতীয় পদক্ষেপ : এখন এটি চালান

adb reverse tcp:8081 tcp:8081

এখন আপনার সেটআপ সম্পন্ন হয়েছে

চতুর্থ পদক্ষেপ : আপনার প্রকল্প ডিরেক্টরিতে যান এবং এই আদেশটি চালান

react-native run-android

4

উবুন্টু

প্রথমবার, আমি সাথে নতুন অ্যাপ্লিকেশন তৈরি করা react-native init project-name। আমি একই ত্রুটি পেয়েছি। সুতরাং আমি আমার ক্ষেত্রে এটি সমাধান করার জন্য নিম্নলিখিত পদক্ষেপগুলি করি।

  1. প্রথমত sudo chown user-name-of-pc /dev/kvmআমার ক্ষেত্রে চালান ।
  2. আপনার অ্যান্ড্রয়েড ফোন থেকে ডিবাগ করার সময়, নির্বাচন করুন Use USB to Transfer photos (PTP)

  3. assetsপ্রকল্পের নাম / অ্যান্ড্রয়েড / অ্যাপ / এসসিআর / প্রধানতে ফোল্ডার তৈরি করুন

  4. index.jsআপনার প্রকল্প root ডিরেক্টরিতে এটি উপলভ্য হবে তা নিশ্চিত করুন এবং তারপরে cd project-nameডিরেক্টরি পরে কনসোল থেকে কমান্ডের নীচে চলুন ।

react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res

বা তারপর index.android.js এর জন্য

react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res

  1. কমান্ডটি প্রয়োগ ./studio.shমধ্যে android-studio/binডিরেক্টরি। এটি অ্যান্ড্রয়েড স্টুডিও খুলবে।

  2. কমান্ড চালান react-native run-android

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


4

আপনার শারীরিক ডিভাইস এবং সার্ভার সিঙ্ক করার জন্য মেট্রো নির্মাতা চলছে কিনা তা নিশ্চিত করুন

প্রথমে মেট্রো নির্মাতা চালানোর জন্য এই কমান্ডটি চালান

এনপিএম শুরু

তারপরে আপনি দেশীয় প্রতিক্রিয়া শুরু করতে পারেন

নেটিভ রান অ্যান্ড্রয়েড প্রতিক্রিয়া

তাদের এবার কোনও ত্রুটি হওয়া উচিত নয়। আপনি যদি চান যে আপনার কোডটি পরিবর্তনতে লাইভ রিলোড হবে। আপনার ডিভাইসকে ঝাঁকুনি দিন এবং তারপরে লাইভ পুনরায় লোড সক্ষম করুন


3

নিশ্চিত হয়ে নিন যে আপনি / পাথ / থেকে / এসডিকে / প্ল্যাটফর্ম-সরঞ্জামগুলি আপনার পাথের চলকতে যুক্ত করেছেন।

আপনি যখন রিঅ্যাক্ট-নেটিভ রান-অ্যান্ড্রয়েড চালান, এটি আপনার কম্পিউটারে স্থানীয়ভাবে চলমান সার্ভারে আপনার ডিভাইস থেকে অনুরোধটি ফরোয়ার্ড করতে adb বিপরীত টিসিপি: <ডিভাইস-পোর্ট> টিসিপি: <লোকাল-পোর্ট> কমান্ডটি চালায়। অ্যাডবি না পাওয়া গেলে আপনি এরকম কিছু দেখতে পাবেন।

/bin/sh: 1: adb: not found
Starting the app (.../platform-tools/adb shell am start -n 
com.first_app/com.first_app.MainActivity...
Starting: Intent { cmp=com.first_app/.MainActivity }

এটি বেশিরভাগ উত্সাহিত উত্তরগুলির সাথে সঠিক হওয়া উচিত, যাচাই করার প্রথম বিষয়গুলির মধ্যে একটি হওয়া উচিত
eis

3

এটি আপনার প্রতিক্রিয়া নেটিভ প্রকল্প কোড বেসে লিঙ্কযুক্ত সম্পদগুলির কারণে হতে পারে, যেমন আপনি যখন নিজের প্রকল্পের অ্যাপ্লিকেশন / বান্ডেল আইডিটির নাম পরিবর্তন করেন বা সঠিকভাবে লিঙ্ক না দিয়ে কোনও বাহ্যিক প্যাকেজ যুক্ত করেন, উদাহরণস্বরূপ।

আপনার প্রকল্পের মূল ডিরেক্টরিতে এটি চেষ্টা করুন:

react-native link

react-native run-android

2

react-native run-androidকমান্ড চলাকালীন ট্রেসের দ্বিতীয় লাইনটি হয়

JS server not recognized, continuing with build...

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

BUILD SUCCESSFUL

সমস্যাটি সম্ভবত কিছু বন্দর বিরোধ (আমার ক্ষেত্রে এটি ডিফল্ট আইআইএস সাইট যা আমি সম্পূর্ণরূপে ভুলে গিয়েছিলাম) is সমস্যার আরেকটি উদ্ভাস হ'ল http://localhost:8081/debugger-uiক্রোমে URL টি খুলতে ব্যর্থতা ।

বন্দর বিরোধের সমাধান হয়ে গেলে ট্রেস রিপোর্ট করবে

Starting JS server...

তারপরে একটি অতিরিক্ত নোড উইন্ডো খোলা হবে ( node ...cli.js start) এবং অ্যাপ্লিকেশনটি সাফল্যের সাথে লোড / পুনরায় লোড করবে।

এর পরে আপনার সাথে ক্রোমে ডিবাগ কনসোলটি খুলতে সক্ষম হওয়া উচিত http://localhost:8081/debugger-ui


2

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

private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
  @Override
  public boolean getUseDeveloperSupport() {
    // return true here to load JS from the packager
    // BuildConfig.DEBUG for me was set to false which meant it
    // it was always trying to load the assets from assets folder.
    return true;
  }

  @Override
  protected String getJSMainModuleName() {
    return "index";
  }
};

কোনও প্রোডাকশন বিল্ড করার চেষ্টা করার পরে সম্ভবত পরিবর্তনটি ফিরিয়ে আনতে হবে।


2

আমি আমার ম্যাক ব্লকিং পোর্ট ৮০৮১ এ ম্যাকএফির সাথে ইস্যু করেছি, এটি এটিকে ৮৮৮২ এ পরিবর্তন করতে হয়েছিল।

প্রথমে আপনার প্যাকেজ সার্ভারটি চালান:

react-native start --port 8082

অন্য একটি টার্মিনাল খুলুন, যথারীতি অ্যান্ড্রয়েড অ্যাপ্লিকেশন শুরু করুন:

react-native run-android

এটি শেষ হয়ে গেলে, এখন টিসিপি পোর্টটি পুনরায় লিখুন যা অ্যাডবি টানেলগুলি:

adb reverse tcp:8081 tcp:8082

অ্যাডবি টিসিপি টানেলের তালিকা দেখুন:

adb reverse --list

আপনার এখন একটি হৃদয়গ্রাহী বার্তা দেখা উচিত:

(reverse) tcp:8081 tcp:8082

আপনার অ্যাপ্লিকেশন এ যান এবং পুনরায় লোড, সম্পন্ন!

PS: অ্যাপ ডেভ সেটিংসে কোনও পরিবর্তন করবেন না, যদি আপনি "লোকালহোস্ট: 8082" যোগ করেন তবে কেবল এটি সরিয়ে ফেলুন, খালি রাখুন।

সম্পাদনা করুন: ম্যাকাফির সমস্ত ক্ষতিগ্রস্থ ব্যক্তির পক্ষে, এখানে আপনার যদি সহজ অ্যাক্সেস থাকে তবে এর সমাধান সহজতর হয়, সাময়িকভাবে ম্যাকএফি প্রক্রিয়াটি 8081 বন্দরে বসে এবং পোর্ট পরিবর্তনের কোনও প্রয়োজন নেই:

sudo launchctl remove com.mcafee.agent.macmn

2

আমি মনে করি আপনার কাছে সুতা ইনস্টল করা নেই এটি চকোলেটী বা অন্য কোনও কিছু দিয়ে ইনস্টল করার চেষ্টা করুন। আপনার প্রকল্পটি তৈরি করার আগে এটি ইনস্টল করা উচিত (দেশীয় init কমান্ড প্রতিক্রিয়া)।

সম্পদ ডিরেক্টরি তৈরি করার দরকার নেই।

যদি এটি কাজ না করে তবে উত্তর দিন।

সম্পাদনা: প্রতিক্রিয়া-নেটিভের সাম্প্রতিক সংস্করণে তারা এটি স্থির করেছে। আপনি যদি কেবল এই আনইনস্টল নোড থেকে সম্পূর্ণ স্বাধীনতা চান (সম্পূর্ণ আনইনস্টলেশনের জন্য সম্পূর্ণ নোডকে এই লিঙ্কটি উল্লেখ করুন) এবং নোডটি পুনরায় ইনস্টল করুন, তারপরে নতুন-প্রকল্পটি তৈরি করুন।


2

এমুলেটর ডিভাইসে ইন্টারনেট চালু করবেন তা ভুলে যাবেন না, আমি এই ত্রুটিটি পুনর্বিবেচনা করেছি, এটি নিখুঁতভাবে কাজ করে: ভি আমি এই ত্রুটিটি পেয়েছি কারণ নেটআইএনফোর পরীক্ষার জন্য ইন্টারনেট বন্ধ করে রেখেছি: ডি


2

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

ইস্যুর বিবরণ: সম্পদ থেকে স্ক্রিপ্ট লোড করতে অক্ষম। উইন্ডোতে অ্যান্ড্রয়েড.বান্ডেল সম্পদ থেকে স্ক্রিপ্ট লোড করতে অক্ষম

উপরের সমস্যা সমাধানের জন্য নীচের পদক্ষেপগুলি অনুসরণ করুন:

পদক্ষেপ -১: আপনার প্রকল্প ডিরেক্টরিতে "সম্পদ" ফোল্ডার তৈরি করুন এখন "মোবাইল অ্যাপ্লিকেশন \ অ্যান্ড্রয়েড \ অ্যাপ্লিকেশন rc এসআরসি \ প্রধান" প্রকল্প ডিরেক্টরিতে সম্পদ ফোল্ডার তৈরি করুন। আপনি নিজেই সম্পদ ফোল্ডার তৈরি করতে পারেন:

<ওআর>

আপনি কমান্ড ব্যবহার করে ফোল্ডার তৈরি করতে পারেন। আদেশ: এমকেডির অ্যান্ড্রয়েড / অ্যাপ / এসসিআর / প্রধান / সম্পদ

পদক্ষেপ -২: আপনার প্রতিক্রিয়া নেটিভ অ্যাপ্লিকেশন চালানো এমুলেটর বা শারীরিক ডিভাইসে রিএ্যাক্ট নেটিভ অ্যাপ্লিকেশনটি চালানোর জন্য নীচের কমান্ডটি চালায়।

প্রকল্প ডিরেক্টরিতে স্যুইচ করুন। সিডি মোবাইল অ্যাপ

নীচের কমান্ডটি চালান যা আপনাকে অ্যান্ড্রয়েড অ্যাপ্লিকেশন প্রকল্প বান্ডিল করতে সহায়তা করে।

নেটিভ বান্ডিল প্রতিক্রিয়া - প্ল্যাটফর্ম অ্যান্ড্রয়েড - দেবতা মিথ্যা --entry-file index.js - বান্ডিল-আউটপুট অ্যান্ড্রয়েড / অ্যাপ / এসসিআর / প্রধান / সম্পদ / সূচক.অ্যান্ড্রয়েড.বান্ডেল - অ্যাসেটস-ডেস্ট অ্যান্ড্রয়েড / অ্যাপ / এসসিআর / প্রধান / মাঝামাঝি

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

<ওআর>

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

নেটিভ বান্ডিল প্রতিক্রিয়া - প্ল্যাটফর্ম অ্যান্ড্রয়েড - দেবতা মিথ্যা --entry-file index.js - বান্ডিল-আউটপুট অ্যান্ড্রয়েড / অ্যাপ / এসসিআর / প্রধান / সম্পদ / সূচক.অ্যান্ড্রয়েড.বান্ডেল - অ্যাসেটস-ডেস্ট অ্যান্ড্রয়েড / অ্যাপ / এসসিআর / main / res &&- দেশীয় রান-অ্যান্ড্রয়েডকে প্রতিক্রিয়া জানায়

<ওআর>

আপনি উপরের পদক্ষেপগুলিকে প্যাকেজের অংশে স্ক্রিপ্টগুলি রেখে এটি স্বয়ংক্রিয় করতে পারেন। জসন:

"অ্যান্ড্রয়েড-অ্যান্ড্রয়েড": "নেটিভ বান্ডিল - প্ল্যাটফর্ম অ্যান্ড্রয়েড - দেবদেব মিথ্যা - কেন্দ্রী-ফাইল সূচি.জেএস - বান্ডেল-আউটপুট অ্যান্ড্রয়েড / অ্যাপ / এসসিআর / প্রধান / সম্পদ / সূচক.অ্যান্ড্রয়েড.বান্ডেল - অ্যাসেটস -ডেস্ট অ্যান্ড্রয়েড / অ্যাপ্লিকেশন / এসসিআর / প্রধান / রেস &&-দেশীয় রান অ্যান্ড্রয়েড প্রতিক্রিয়া "

যদি সবকিছু সঠিকভাবে সেট আপ করা থাকে তবে শীঘ্রই আপনার নতুন অ্যাপটি আপনার অ্যান্ড্রয়েড এমুলেটরে চলছে see


2

এটি অনুসরণ করুন, আমার জন্য কাজ করেছেন।

https://github.com/react-community/lottie-react-native/issues/269

আপনার প্রকল্প ডিরেক্টরিতে যান এবং এই ফোল্ডারটি অ্যান্ড্রয়েড / অ্যাপ্লিকেশন / এসসিআর / প্রধান / সম্পদ উপস্থিত রয়েছে কিনা তা পরীক্ষা করুন i) যদি এটি উপস্থিত থাকে তবে দুটি ফাইল যথা index.android.bundle এবং index.android.bundle.meta ii) মুছে ফেলুন) ফোল্ডারের সম্পদ না থাকলে অস্তিত্ব নেই তবে সেখানে সম্পদ ডিরেক্টরি তৈরি করুন।

আপনার মূল প্রকল্প ডিরেক্টরি থেকে সিডি অ্যান্ড্রয়েড করুন && /। গ্রেডল ক্লিন

অবশেষে, রুট ডিরেক্টরিতে ফিরে যান এবং সূচি.জেএস নামে একটি একক এন্ট্রি ফাইল রয়েছে কিনা তা পরীক্ষা করে দেখুন i) যদি কেবলমাত্র একটি ফাইল অর্থাৎ index.js থাকে তবে নিম্নলিখিত কমান্ডটি রিট্যাক্ট-নেটিভ বান্ডেল চালান - প্ল্যাটফর্ম অ্যান্ড্রয়েড - দেবদেবী মিথ্যা - -entry-file index.js - বুন্ডেল-আউটপুট অ্যান্ড্রয়েড / অ্যাপ / এসসিআর / প্রধান / সম্পদ / সূচক.অ্যান্ড্রয়েড.বান্ডেল - অ্যাসেটস-ডেস্ট অ্যান্ড্রয়েড / অ্যাপ / এসসিআর / প্রধান / রেজিস

ii) যদি দুটি ফাইল অর্থাৎ index.android.js এবং index.ios.js থাকে তবে এই প্রতিক্রিয়াটি নেটিভ বান্ডিলটি চালাও - প্ল্যাটফর্ম অ্যান্ড্রয়েড - দেবতা মিথ্যা - কেন্দ্রী-ফাইল সূচি.অ্যান্ড্রয়েড.জেএস - বান্ডেল-আউটপুট অ্যান্ড্রয়েড /app/src/main/assets/index.android.bundle --assets-dest android / app / src / main / res

এখন রিঅ্যাক্ট-নেটিভ রান-অ্যান্ড্রয়েড চালান


আপনার মন্তব্য আমাকে প্রচুর সাহায্য করেছে। আমি নিশ্চিত না কেন আমাকে দুটি বান্ডিল ফাইল মুছতে হবে। কিন্তু আপনার নির্দেশাবলী পুরোপুরি হবে! তোমাকে অনেক ধন্যবাদ!
ভি কে 1

2

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

মনে করুন আপনি একটি রিলিজ অ্যাপ্লিকেশন প্যাকেজ জমা করছেন (.apk)

  1. আপনার সম্পদ ফোল্ডারটি বিদ্যমান কিনা তা পরীক্ষা করুন ?: roid android \ app \ src \ main \ সম্পদ যদি না থাকে তবে একটি তৈরি করুন।

  2. "অ্যাসেম্বল রিলিজ" চালানোর পরে, সেই ফোল্ডারে কিছু কিছু আছে কিনা তা পরীক্ষা করে দেখুন ( roid android \ app \ src \ main \ સંપત્તિ ) যদি তা না হয় তবে js বান্ডিল ফাইল ( index.android.bundle ) সন্ধান করুন, যা একের বেশি হওয়া উচিত নিম্নলিখিত পাথ:

    * একটি) \ অ্যান্ড্রয়েড \ অ্যাপ্লিকেশন \ বিল্ড \ intermediates \ merged_assets \ মুক্তি \ আউট \ index.android.bundle

    খ) \ অ্যান্ড্রয়েড \ অ্যাপ্লিকেশন \ বিল্ড \ intermediates \ merged_assets \ মুক্তি \ mergeReleaseAssets \ আউট \ index.android.bundle

    গ) \ অ্যান্ড্রয়েড \ অ্যাপ্লিকেশন \ বিল্ড \ intermediates \ সম্পদ \ মুক্তি \ index.android.bundle

    ঘ) \ অ্যান্ড্রয়েড \ অ্যাপ্লিকেশন \ বিল্ড \ উত্পন্ন \ সম্পদ \ \ মুক্তি প্রতিক্রিয়া \ index.android.bundle *

আরও ভাল উপায় হ'ল ফাইলের নাম অনুসন্ধান করার জন্য "সবকিছু" ব্যবহার করা: index.android.bundle।

  1. তারপরে এই ফাইলটি আপনার সম্পদ ফোল্ডারে অনুলিপি করুন (roid android \ app \ src \ main \ સંપત્તિ \ index.android.bundle)

  2. পাওয়ারশেল বা কমান্ড কনসোলটিতে ফিরে যান, কার্যকর করুন:

নেটিভ রান-অ্যান্ড্রয়েড --variant = মুক্তি re

এটি কাজ করা উচিত.

শুভকামনা!


আপনাকে অনেক ধন্যবাদ! তিনদিন ধরে লড়াই! স্থানীয় বিটিডব্লিউ এর প্রতিক্রিয়া 0.59 সমস্যা সমাধান করেছে fixed
অ্যানি

1

আমি যখন প্রতিক্রিয়া-স্থানীয় 0.49.5-এ আপডেট করি তখন এই সমস্যাটি উপস্থিত হয় এবং আমি যখন এই ব্রেকিং পরিবর্তন এবং অবমূল্যায়ন অনুসরণ করি

এটি অদৃশ্য হয়ে গেল


1

ভাবমূর্তি

আমি এই সমস্যার মুখোমুখি, অনেক অনুসন্ধান এবং আমি এই সমস্যাটি সমাধান করেছি।

c:\ProjectFolder\ProjectName> react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res

প্রতিক্রিয়া নেটিভ চালানোর চেয়ে:

c:\ProjectFolder\ProjectName>react-native run-android


1
স্ক্রিনশটটি উত্তরের সাথে কিছুটা অপ্রাসঙ্গিক।
টাইলার

1

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

(প্রকল্প ডিরেক্টরিতে) এমকেডির অ্যান্ড্রয়েড / অ্যাপ / এসসিআর / প্রধান / সম্পদ

এখানে এমন অংশটি এসেছে যা আপনি বিকাশে আছেন এমন --dev: falseঅংশটি থেকে মুক্তি পান :

নেটিভ বান্ডিল প্রতিক্রিয়া - প্ল্যাটফর্ম অ্যান্ড্রয়েড - সেন্ট্রি-ফাইল সূচক

এর পরে সমস্ত টার্মিনাল বন্ধ হয়ে যায়, অ্যান্ড্রয়েড / অ্যাপ্লিকেশন থেকে বিল্ড ফোল্ডারটি মুছুন / আপনি আপনার অ্যাপ্লিকেশনটি তৈরি করতে পরিষ্কার শুরু করেছেন, একটি নতুন টার্মিনাল খুলুন এবং

(প্রকল্প ডিরেক্টরিতে) এনপিএম চালান অ্যান্ড্রয়েড

প্যাকেজার কনসোলকে অনুরোধ জানাবে (অন্য টার্মিনালে) এবং সফলভাবে বিল্ড করবে

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