यह पृष्ठ पुर्तगाली से मशीन-अनुवादित है और इसमें त्रुटियाँ हो सकती हैं। पुर्तगाली संस्करण प्रामाणिक है।
12. प्रकाशित करना
आप क्या सीखेंगे: चक्र को पूरा करना — प्रत्येक प्लेटफ़ॉर्म के लिए ऐप को पैकेज करना। पूर्वापेक्षाएँ: अपने ऐप का परीक्षण करना.
पूर्ण उदाहरण (कॉपी करें, पेस्ट करें और चलाएँ)
वह एंट्री पॉइंट जिसे Main classname द्वारा इंस्टैंशिएट करता है (reflexão, बिना-args वाला कंस्ट्रक्टर) — वही
core चारों launchers पर चलता है। यह न्यूनतम और स्वयं-निहित MainWindow वही है जिसे प्रत्येक टारगेट पैकेज करता है।
जैसा है वैसा ही कंपाइल होता है।
package com.exemplo;
import dev.crossfly.ui.*;
import dev.crossfly.ui.layout.*;
public class MainWindow extends Window
{
@Override
public void onShow() throws Exception
{
super.onShow();
setLayout(new VerticalLayout());
add(LAY_AUTO, new Label("Meu app CrossFly"));
Button ola = new Button("Olá, mundo!");
ola.onAction(c -> Hint.show("Rodando em todas as plataformas", 2000));
add(LAY_AUTO, ola);
}
}
नीचे दिए गए स्निपेट केवल मुख्य भाग दिखाते हैं (जो
onShow()के अंदर जाता है)। चलाने के लिए, उन्हें ऊपर दिए गएMainWindowढाँचे में रखें।
एक कोड, चार टारगेट
वही core सभी launchers पर चलता है:
| टारगेट | Build |
|---|---|
| 🖥️ Desktop | gradlew :lwjgl3:run (dev) / jar / इंस्टॉलर |
| 🤖 Android | gradlew :android:installDebug / assembleRelease (AAB) |
| 🍎 iOS | gradlew :ios:launchIPhoneSimulator / .ipa (macOS+Xcode) |
| 🌐 Web | gradlew :web:webBundle → स्थैतिक सामग्री |
bootstrap क्या सुनिश्चित करता है
Main आपकी MainWindow को classname द्वारा इंस्टैंशिएट करता है (reflexão, बिना-args वाला कंस्ट्रक्टर) — सभी
टारगेट में वही। आइकन और assets (Roboto/Material फ़ॉन्ट bootstrap में लोड होते हैं) पैकेज के साथ जाते हैं।
“प्रकाशन के लिए तैयार” चेकलिस्ट
- परीक्षित (अध्याय 11) और रिस्पॉन्सिव (अध्याय 10)।
- प्लेटफ़ॉर्म के अनुसार अनुपलब्ध सुविधाओं को संभाला गया (देखें मैट्रिक्स)।
- अनुमतियाँ:
AndroidManifest.xml/Info.plist. - हस्ताक्षर (Android keystore / iOS provisioning)।
- आइकन, launch screen, संस्करण।
कोर्स का अंत — और अब?
आपने एक ऐसा ऐप बनाया जो खुलता है, जोड़ता है, नेविगेट करता है, स्थायी रखता है, अनुकूलित होता है और परीक्षित है — और उसे पैकेज किया। यहाँ से:
- “क्यों” को गहराई से समझें:
concepts/. - बड़े पैमाने पर गुणवत्ता:
best-practices/. - विस्तृत प्रकाशन:
platforms/. - विशिष्ट कार्य:
cookbook/·ui/·data-and-services/.
संक्षेप में
एक core, चार Gradle launchers; MainWindow classname द्वारा; प्रति प्लेटफ़ॉर्म release चेकलिस्ट।
यह भी देखें
- Build और वितरण · कैननिकल स्रोत: अध्याय 4 §4.2