2012-09-26 25 views
8

क्या मैं रूट डिवाइस पर व्यस्त बॉक्स का उपयोग कर पृष्ठभूमि में एपीके स्थापित कर सकता हूं ???व्यस्त बॉक्स का उपयोग कर पृष्ठभूमि में एपीके स्थापित करें

मैं ऐसा ही कुछ देखने, लेकिन यह काम नहीं करता है

process install; 
CommandCapture command = new CommandCapture(0, "chmod 777 /data/app"); 
RootTools.getShell(true).add(command).waitForFinish(); 
CommandCapture command2 = new CommandCapture(0, "chmod 777 /system/xbin/busybox"); 
RootTools.getShell(true).add(command2).waitForFinish(); 
install = Runtime.getRuntime().exec("/system/xbin/busybox install " + Environment.getExternalStorageDirectory() + "/Download/" + "xxx.apk /data/app/xxx.apk"); 

उत्तर

1

यदि आप रूट खोल में su -c pm install myapp.apk चलाते हैं, तो आपको पृष्ठभूमि में इंस्टॉल करने में सक्षम होना चाहिए ('pm') भाग को नोट करें। इसमें व्यस्त बॉक्स के साथ कुछ लेना देना नहीं है, आप किसी भी खोल का उपयोग कर सकते हैं और आपको निश्चित रूप से /data/app की अनुमति बदलने की आवश्यकता नहीं है।

+0

की राह आपके उत्तर के लिए यू का शुक्र है, लेकिन मैं apk प्रोग्राम के रूप में खोल –

+1

है यही तो आपकी कॉड ऊपर करने के लिए कोशिश कर रहा है से नहीं स्थापित करना चाहते हैं: एक कमांड ('install'') को कमांड (' install') और पैरामीटर ('xxx.apk') के साथ प्रारंभ करें। समस्या यह है कि ऐसा कोई 'install' कमांड नहीं है, आपको' pm install 'का उपयोग करने की आवश्यकता है। आपने इस कोड को कहां से कॉपी किया? यह समझने के लिए कि वास्तव में क्या करता है, उनके दस्तावेज़/रीडमे पढ़ें। –

+0

कोई भी व्यस्त बॉक्स में इंस्टॉल कमांड नहीं है जो सिर्फ एपीके की प्रतिलिपि बनाता है और उसे केवल/डेटा/ऐप में रखता है और जब आप डिवाइस को पुनरारंभ करते हैं तो –

2

यह आपको अपनी बिजीबॉक्स द्विआधारी के लिए दो रास्ते का उपयोग लग रहा है। सबसे पहले आप chmod इसे /system/xbin में, लेकिन फिर आप इसे system/bin से आमंत्रित करते हैं। सुनिश्चित करें कि आप सही रास्ते का उपयोग करें। और chmod 777 /data/appबहुत खराब दिखता है।

+1

ठीक है, मैं ठीक किया बिजीबॉक्स –

3
बिजीबॉक्स का उपयोग किए बिना

install = Runtime.getRuntime().exec("su"); 
DataOutputStream os = new DataOutputStream(install.getOutputStream()); 
os.writeBytes("pm install "+APKFile.apk+"\n"); 
os.writeBytes("exit\n"); 
os.flush(); 
install.waitFor();