यह पृष्ठ पुर्तगाली से मशीन-अनुवादित है और इसमें त्रुटियाँ हो सकती हैं। पुर्तगाली संस्करण प्रामाणिक है।
Android 🤖
रन करना
gradlew :android:installDebug
AndroidLauncher (एक AndroidApplication) getMain(canStart) के ज़रिए Main बनाता है →
new Main(canStart, getCommandline())।
⚠️ अनुमतियों के कारण विलंबित प्रारंभ
Android पर, आप आमतौर पर UI को तुरंत नहीं उठाते — पहले अनुमतियाँ माँगते हैं। यह पैटर्न:
// launcher में: canStart = false → UI अभी नहीं चढ़ती
initializeForView(getMain(false), config);
// … उपयोगकर्ता द्वारा अनुमतियाँ देने के बाद (callback) …
main.startApp(true); // अब हाँ, UI चढ़ती है (delayed = true)
इस तरह, पहली स्क्रीन दिखने के समय कैमरा/GPS/Bluetooth पहले से ही अधिकृत होते हैं (देखें अध्याय 4 §4.2)।
मैनिफेस्ट और अनुमतियाँ
आप जो सुविधाएँ (कैमरा, स्थान, Bluetooth) उपयोग करते हैं, उनकी अनुमतियाँ AndroidManifest.xml में घोषित करें —
और startApp(true) से पहले रनटाइम में माँगें।
स्टेटस बार और डेंसिटी
- स्टेटस बार को लेआउट में शामिल किया जाता है (
DeviceConfig.statusbarHeight)। - डेंसिटी:
Screen.scaleDPI को दर्शाता है; चूँकि आपRelative/फ़्रैक्शन उपयोग करते हैं, UI पहले से ही अनुकूलित हो जाती है।
Back बटन
भौतिक Back बटन को ऐप कैप्चर करता है (डिफ़ॉल्ट रूप से यह शीर्ष विंडो का hide() करता है — देखें
विंडो स्टैक)।
पैकेजिंग
नेटिव .so लाइब्रेरीज़ (सहित crossfly-lib) ABI के अनुसार पैकेज की जाती हैं। साइनिंग/AAB और Play
Store पर अपलोड: बिल्ड और वितरण।
सर्वोत्तम अभ्यास
startApp(true)से पहले अनुमतियाँ माँगें (विलंबित प्रारंभ) — टूटी हुई स्क्रीनों से बचता है।- विभिन्न डेंसिटी/स्क्रीनों पर परीक्षण करें; अनुकूलन के लिए
Relativeपर भरोसा करें।
सामान्य त्रुटियाँ
- UI को उठाना (
canStart=true) और उसके बाद ही अनुमति माँगना (पहली स्क्रीन पर सुविधा अनुपलब्ध)। AndroidManifest.xmlमें अनुमति भूल जाना (रनटाइम अनुरोध चुपचाप विफल हो जाता है)।