@ চেরেনিভের উত্তরের উপর ভিত্তি করে আমার একটি সমাধান রয়েছে (আমার জন্য ম্যাকোজে কাজ করে)। দুটি পার্থক্য: জাভা ফোল্ডারে আমার একটি মেইন 2 অ্যাক্টিভিটি.জভা রয়েছে যা আমি একই জিনিস করি এবং আমি কল করা বিরক্ত করি না / গ্রেডলি পরিষ্কার যেহেতু রিএ্যাক্ট-নেটিভ প্যাকেজারের মতো এটি স্বয়ংক্রিয়ভাবে হয় that
যাইহোক, আমার সমাধানটি চেরনিভের কাজটি করে, কেবল আমি এর জন্য একটি ব্যাশ শেল স্ক্রিপ্ট তৈরি না করে যেহেতু আমি এক সেট কোড ব্যবহার করে একাধিক অ্যাপ্লিকেশন তৈরি করছি এবং যখনই আমি আমার এনপিএম স্ক্রিপ্টগুলি চালাব তখনই প্যাকেজের নামটি সহজেই পরিবর্তন করতে সক্ষম হতে চাই।
আমি ব্যাশ স্ক্রিপ্টটি এখানে ব্যবহার করেছি। আপনি যে প্যাকেজটি ব্যবহার করতে চান তার নামটি পরিবর্তন করতে হবে এবং আপনি এটিতে যে কোনও কিছু যুক্ত করতে চান ... তবে এখানে বেসিকগুলি রয়েছে। আপনি একটি .sh ফাইল তৈরি করতে পারেন, অনুমতি দিতে পারেন এবং তারপরে আপনি যে একই ফোল্ডারটি ব্যবহার করেন সেখান থেকে চালিত করতে পারেন:
rm -rf ./android/app/src/main/java
mkdir -p ./android/app/src/main/java/com/MyWebsite/MyAppName
packageName="com.MyWebsite.MyAppName"
sed -i '' -e "s/.*package.*/package "$packageName";/" ./android/app/src/main/javaFiles/Main2Activity.java
sed -i '' -e "s/.*package.*/package "$packageName";/" ./android/app/src/main/javaFiles/MainActivity.java
sed -i '' -e "s/.*package.*/package "$packageName";/" ./android/app/src/main/javaFiles/MainApplication.java
sed -i '' -e "s/.*package=\".*/ package=\""$packageName"\"/" ./android/app/src/main/AndroidManifest.xml
sed -i '' -e "s/.*package = '.*/ package = '"$packageName"',/" ./android/app/BUCK
sed -i '' -e "s/.*applicationId.*/ applicationId \""$packageName"\"/" ./android/app/build.gradle
cp -R ./android/app/src/main/javaFiles/ ./android/app/src/main/java/com/MyWebsite/MyAppName
অস্বীকৃতি: আপনাকে প্রথমে জাভা ফাইলের নীচের দিকে মেইন অ্যাপ্লিকেশন.জভা মন্তব্যটি সম্পাদনা করতে হবে। মন্তব্যটিতে এটি 'প্যাকেজ' শব্দটি রয়েছে। স্ক্রিপ্টটি কীভাবে কাজ করে, এটি এতে 'প্যাকেজ' শব্দের সাথে কোনও লাইন নিয়ে যায় এবং এটি প্রতিস্থাপন করে। এই কারণে, এই স্ক্রিপ্টটি ভবিষ্যতে প্রমাণিত নাও হতে পারে কারণ অন্য কোথাও একই শব্দ ব্যবহার করা যেতে পারে।
দ্বিতীয় দাবি অস্বীকার: প্রথম 3 সেড কমান্ড জাভা ফাইলগুলি নামক ডিরেক্টরি থেকে জাভা ফাইলগুলি সম্পাদনা করে। আমি নিজেই এই ডিরেক্টরিটি তৈরি করেছি যেহেতু আমি সেখান থেকে অনুলিপি করা জাভা ফাইলগুলির একটি সেট রাখতে চাই (যেহেতু ভবিষ্যতে আমি এতে নতুন প্যাকেজ যুক্ত করতে পারি)। আপনি সম্ভবত একই জিনিস করতে চাইবেন। সুতরাং জাভা ফোল্ডার থেকে সমস্ত ফাইল অনুলিপি করুন (আসল জাভা ফাইলগুলি অনুসন্ধান করার জন্য এর সাবফোল্ডারগুলি দিয়ে যান) এবং সেগুলি জাভাফিলস নামে একটি নতুন ফোল্ডারে রাখুন।
তৃতীয় দাবি অস্বীকার: আপনাকে স্ক্রিপ্ট এবং নীচে শীর্ষে পথের সাথে সামঞ্জস্য রাখতে প্যাকেজনাম ভেরিয়েবলটি সম্পাদনা করতে হবে (com.MyWebsite.MyappName থেকে com / MyWebsite / MyAppName)