@ Cherniv'in cevabına (benim için macOS üzerinde çalışıyor) dayalı bir çözümüm var. İki fark: java klasöründe aynı şeyi yaptığım bir Main2Activity.java var ve ben tepki yerel gibi paketleyici otomatik olarak zaten yaptığı gibi ./gradlew temiz çağırmak zahmet etmeyin.
Her neyse, benim çözüm Cherniv's ne yapar, bunun dışında bir kod kümesi kullanarak birden fazla uygulama inşa ediyorum ve npm betiklerimi çalıştırdığımda paket adını kolayca değiştirmek istiyorum çünkü bunun için bir bash kabuk komut dosyası yaptım.
İşte kullandığım bash betiği. Kullanmak istediğiniz packageName öğesini değiştirmeniz ve buna istediğiniz herhangi bir şeyi eklemeniz gerekecek ... ama işte temel bilgiler. Bir .sh dosyası oluşturabilir, izin verebilir ve ardından reaktif-native komutunu çalıştırdığınız klasörden çalıştırabilirsiniz:
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
YASAL UYARI: Önce MainApplication.java'nın java dosyasının alt kısmındaki açıklamasını düzenlemeniz gerekir. Yorumda 'paket' kelimesi var. Komut dosyasının çalışma biçimi nedeniyle içinde 'paket' kelimesi olan herhangi bir satırı alır ve onun yerine geçer. Bu nedenle, bu komut dosyası başka bir yerde kullanılan aynı kelime olabileceğinden geleceğe karşı kanıtlanmış olmayabilir.
İkinci Feragatname: ilk 3 sed komutu java dosyalarını javaFiles adlı bir dizinden düzenler. Bu dizini kendim oluşturdum çünkü oradan kopyalanan bir java dosyası kümesi istiyorum (gelecekte yeni paketler ekleyebileceğim için). Muhtemelen aynı şeyi yapmak isteyeceksiniz. Bu nedenle, java klasöründeki tüm dosyaları kopyalayın (gerçek java dosyalarını bulmak için alt klasörlerine gidin) ve bunları javaFiles adlı yeni bir klasöre koyun.
Üçüncü Feragatname: packageName değişkenini, komut dosyasının üstündeki ve altındaki yollarla aynı hizada olacak şekilde düzenlemeniz gerekir (com.MyWebsite.MyAppName / com / MyWebsite / MyAppName)