2012-05-21 11 views
10

यह दो अलग अलग .apks (या दो क्षुधा एक .apk फ़ाइल में निहित)एक .apk फ़ाइल है कि दो क्षुधा

मैं जो पूरी तरह से अलग बातें करते हैं लेकिन दो क्षुधा के साथ एंड्रॉयड अनुप्रयोगों के विषय में एक सवाल है स्थापित करता है संबंधित, कहें कि एक मानक उपयोगकर्ता ऐप है और एक व्यवस्थापक ऐप है। लेकिन एक उपयोगकर्ता उपयोगकर्ता और एक व्यवस्थापक दोनों हो सकता है। मुझे आश्चर्य है कि मेरे लिए एक। एपीके फ़ाइल बनाना संभव है जो फोन पर दो एप्लिकेशन इंस्टॉल करता है? और मुझे इसके बारे में कैसे मिलेगा?

धन्यवाद, मैट

उत्तर

4

यह "एप्लिकेशन" की आपकी परिभाषा पर निर्भर करता है। आप यदि आप और अधिक सरकारी परिभाषा का उपयोग 2 अनुप्रयोगों स्थापित नहीं कर सकता, में आप केवल 1 <application> हो सकता है के रूप में अपने manifest.xml

आप अपने manifest.xml में कई गतिविधियों को परिभाषित कर सकते हैं, और वे अलग कर सकते हैं, इसलिए है कि रास्ते में आप रख सकते हैं 2 चीजें एक व्यक्ति को APK

बस कई गतिविधियों को परिभाषित करें और उनको उपयोग करने के लिए एक विकल्प के रूप में परिभाषित किया जा सकता है, लेकिन यह 'एप्लिकेशन' की आपकी परिभाषा पर निर्भर करता है, लेकिन इस मामले में मैं कहूंगा यह

+0

बस समाधान की तरह लगता है जैसे यह उपयुक्त होगा ... क्या आपके पास एंड्रॉइड पर एक लिंक है डेवलपर्स विकी, मैं इसे नहीं देख सकता, धन्यवाद – MattTheHack

+0

निश्चित: http://developer.android.com/guide/topics/manifest/activity-element.html। आप हर गतिविधि को वैसे भी घोषित कर रहे हैं, इसलिए यह वास्तव में कोई बड़ा सौदा नहीं है। आपकी पहली गतिविधि की तरह, आपके पास लॉन्चर होने के लिए एक इरादा-फ़िल्टर होना चाहिए: http://developer.android.com/reference/android/content/Intent.html#CATEGORY_LAUNCHER – Nanne

0

सं

आप क्या कर सकते दूसरे एप्लिकेशन पहले से ही स्थापित किया गया है, तो जाँच करने के लिए है, और अगर जवाब नहीं है, तो आप दूसरे अनुप्रयोग स्थापित करने के लिए अनुरोध का संकेत दे सकता this पोस्ट का उपयोग कर।

1

आपको या तो 2 एपीके का निर्माण करना चाहिए APK Expansion Files का उपयोग करें।

बीटीडब्ल्यू, यह एक सुरक्षा उपाय है।

+2

का उपयोग कर।एपीके विस्तार फाइलें दूसरी एपीके स्थापित नहीं करेंगे (मुझे लगता है) – thepoosh

+0

हां @ थीपोश विस्तार फ़ाइलों को केवल तभी जोड़ा जाता है जब एपीके फ़ाइल का आकार> 50 एमबी –

6

आपके पास एक ही मैनिफेस्ट फ़ाइल में दो गतिविधि तत्व हो सकते हैं, जिनमें दोनों इरादे फ़िल्टर हैं कार्रवाई = मुख्य और श्रेणी = LAUNCHER के साथ आर। दोनों गतिविधि तत्वों के लिए (यह भी देखें here): इसके अलावा, आप भी विशेषता "taskAffinityएंड्रॉयड": उपयोग करने के लिए

<application android:allowBackup="true"   
      android:icon="@drawable/main_icon" 
      android:label="@string/main_name" 
      android:theme="@style/AppTheme" > 

    <activity android:name="com.foobar.MyActivity2"    
       android:taskAffinity="com.foobar.MyActivity2" 
       android:icon="@drawable/icon1" 
       android:label="@string/name1" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN"  /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity>   

    <activity android:name="com.foobar.MyActivity2" 
       android:taskAffinity="com.foobar.MyActivity2" 
       android:icon="@drawable/icon1" 
       android:label="@string/name2" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN"  /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity>    

</application> 

जब APK इस प्रकट साथ दायर एक डिवाइस पर स्थापित किया गया है, यह दो पैदा करेगा होमस्क्रीन पर आइकन। इन आइकनों का शीर्षक एंड्रॉइड से लिया जाएगा: लेबल, और आइकन एंड्रॉइड: आइकन से लिया जाएगा। "सेटिंग्स | ऐप्स" के तहत ऐप्स की सूची में आपको एप्लिकेशन टैग के गुणों द्वारा परिभाषित & आइकन नाम दिखाई देगा। जब आप ऐप्स की सूची में इस प्रविष्टि के लिए "अनइंस्टॉल करें" चुनते हैं, तो डिवाइस से "ऐप्स" दोनों हटा दिए जाएंगे।

+0

मैं दो एपीक्स को कैसे मर्ज कर सकता हूं उन्हें एक ही ऐप में –

+0

"दो एपीके विलय करना" का अर्थ है कि आपके पास ऐप्स का स्रोत कोड नहीं है, है ना? इस प्रश्न पर चर्चा की गई है: http://stackoverflow.com/questions/5074695। समस्या यह है कि इसके लिए आपको दो class.dex, और AndroidManifest.xml को मर्ज करना था, जो एपीके फ़ाइल में बाइनरी रूप में निहित है। – user1364368

+0

मैं LOCKET जैसे ऐप बनाने की कोशिश कर रहा हूं, इसलिए मेरे पास लॉकस्क्रीन के लिए एक एपीके है क्योंकि मैंने इसे मैनिफेस्ट में लॉन्चर बनाया है और मेरे पास ऐप के अंदर मेनस्क्रीन के लिए एक एपीके है जो मेरे मैनिफेस्ट में लॉन्चर भी है। मेरे पास केवल एक मैनिफेस्ट फ़ाइल है, इसलिए मुझे लॉन्चर पर 2 एपीक्स क्यों मिलते हैं। –

1

हां, आप केवल एक ऐप इंस्टॉल करके एकाधिक ऐप्स इंस्टॉल कर सकते हैं।
Manifest.xml में enter image description here

परियोजना संरचना:

enter image description here

संबंधित मुद्दे