संभव डुप्लिकेट:
Android: install .apk programmaticallyएंड्रॉयड आवेदन आत्म अद्यतन
मैं अपने एंड्रॉयड एप्लिकेशन को अपडेट करने की जरूरत है। आंतरिक रूप से कार्यक्रम, मैं नया संस्करण डाउनलोड करता हूं। मैं उस संस्करण को वर्तमान संस्करण को कैसे बदल सकता हूं (प्रोग्रामेटिक रूप से)?
URL url = new URL("http://www.mySite.com/myFolder/myApp.apk");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
try
{
FileOutputStream fos = this.getApplicationContext().openFileOutput("myApp.apk", Context.MODE_WORLD_READABLE|Context.MODE_WORLD_WRITEABLE);
InputStream in = new BufferedInputStream(urlConnection.getInputStream());
BufferedReader br = new BufferedReader(new InputStreamReader(in, "UTF-8"));
StringBuilder sb = new StringBuilder();
byte[] buffer = new byte[8192];
int len;
while ((len = in.read(buffer)) != -1)
{
// EDIT - only write the bytes that have been written to
// the buffer, not the whole buffer
fos.write(buffer, 0, len); // file to save app
}
fos.close();
.... here I have the file of new app, now I need use it
हाय @lexmiir, धन्यवाद उत्तर के लिए, मैं तुम्हें क्या कहा और अब मैं एक चेतावनी संवाद कह पार्सर त्रुटि मिल गया है। कोई सुराग? :-) – nonickh
हाय @nonickh, क्या आपने एक ही कुंजी के साथ एपीके दोनों पर हस्ताक्षर किए? यह त्रुटि तब दिखाई दे सकती है जब एक ही पैकेज नाम वाले अनुप्रयोगों को विभिन्न कुंजियों के साथ हस्ताक्षरित किया जाता है – lexmiir
हाय @lexmiir, देरी के लिए खेद है, मैंने दो फाइलों की तुलना की और वे अलग हैं, शायद साइट की प्रतिलिपि बनाने की प्रक्रिया के कारण, मैं पहले कोशिश करता हूं इस समस्या को हल करने के लिए, आपके समर्थन के लिए आभारी – nonickh