Я загружаю файл .apk с сервера, используя Download Manager после загрузки, когда я пытаюсь установить приложение вручную, он дает ошибку Parse с сообщением «Существует проблема, анализирующая пакет». Нет проблем с minsdkversion, и я уже проверил на неизвестных источниках. public class UpdateCheckerService extends Service {
UpdateChecker update_checker;
DownloadManager downloadManager;
String Download_path="http://www.xxxxx.com/mobile_api/xxxxxx.apk";
SharedPreferences preferenceManager;
String Download_ID = "100";
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}
public void onCreate()
{
System.out.println("SERVICE ************ CREATED");
}
public void onStart(Intent intent1, int start_id)
{
System.out.println("Service started");
IntentFilter intentFilter = new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE);
registerReceiver(downloadReceiver, intentFilter);
System.out.println("Service started");
if(isNetworkAvailable())
{
if(true)
{
System.out.println("Update AVAAILLL:");
preferenceManager = PreferenceManager.getDefaultSharedPreferences(this);
downloadManager = (DownloadManager)getSystemService(DOWNLOAD_SERVICE);
Environment
.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
.mkdirs();
Uri Download_Uri = Uri.parse(Download_path);
DownloadManager.Request request = new DownloadManager.Request(Download_Uri);
long download_id = downloadManager.enqueue(request.setTitle("Downloading...")
.setDescription("xxxx").setMimeType("application/vnd.android.package-archive").setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS,
"xxxxx.apk"));
Editor PrefEdit = preferenceManager.edit();
PrefEdit.putLong(Download_ID, download_id);
PrefEdit.commit();
}
}
}
public void onDestroy()
{
}
private BroadcastReceiver downloadReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context arg0, Intent arg1) {
// TODO Auto-generated method stub
DownloadManager.Query query = new DownloadManager.Query();
query.setFilterById(preferenceManager.getLong(Download_ID, 0));
Cursor cursor = downloadManager.query(query);
if(cursor.moveToFirst()){
int columnIndex = cursor.getColumnIndex(DownloadManager.COLUMN_STATUS);
int status = cursor.getInt(columnIndex);
int columnReason = cursor.getColumnIndex(DownloadManager.COLUMN_REASON);
int reason = cursor.getInt(columnReason);
if(status == DownloadManager.STATUS_SUCCESSFUL){
//Retrieve the saved download id
long downloadID = preferenceManager.getLong(Download_ID, 0);
ParcelFileDescriptor file;
try {
file = downloadManager.openDownloadedFile(downloadID);
Toast.makeText(UpdateCheckerService.this,
"File Downloaded: " + file.toString(),
Toast.LENGTH_LONG).show();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Toast.makeText(UpdateCheckerService.this,
e.toString(),
Toast.LENGTH_LONG).show();
}
}else if(status == DownloadManager.STATUS_FAILED){
Toast.makeText(UpdateCheckerService.this,
"FAILED!\n" + "reason of " + reason,
Toast.LENGTH_LONG).show();
}else if(status == DownloadManager.STATUS_PAUSED){
Toast.makeText(UpdateCheckerService.this,
"PAUSED!\n" + "reason of " + reason,
Toast.LENGTH_LONG).show();
}else if(status == DownloadManager.STATUS_PENDING){
Toast.makeText(UpdateCheckerService.this,
"PENDING!",
Toast.LENGTH_LONG).show();
}else if(status == DownloadManager.STATUS_RUNNING){
Toast.makeText(UpdateCheckerService.this,
"RUNNING!",
Toast.LENGTH_LONG).show();
}
}
}
};
}
< /code>
Вот logcat < /p>
11-25 16:31:58.195: D/asset(3422): failed to open Zip archive '/mnt/sdcard/Download/SavariLocal.apk'
11-25 16:31:58.210: W/PackageParser(3422): Unable to read AndroidManifest.xml of /mnt/sdcard/Download/SavariLocal.apk
11-25 16:31:58.210: W/PackageParser(3422): java.io.FileNotFoundException: AndroidManifest.xml
11-25 16:31:58.210: W/PackageParser(3422): at android.content.res.AssetManager.openXmlAssetNative(Native Method)
11-25 16:31:58.210: W/PackageParser(3422): at android.content.res.AssetManager.openXmlBlockAsset(AssetManager.java:486)
11-25 16:31:58.210: W/PackageParser(3422): at android.content.res.AssetManager.openXmlResourceParser(AssetManager.java:454)
11-25 16:31:58.210: W/PackageParser(3422): at android.content.pm.PackageParser.parsePackage(PackageParser.java:402)
11-25 16:31:58.210: W/PackageParser(3422): at com.android.packageinstaller.PackageUtil.getPackageInfo(PackageUtil.java:79)
11-25 16:31:58.210: W/PackageParser(3422): at com.android.packageinstaller.PackageInstallerActivity.onCreate(PackageInstallerActivity.java:242)
11-25 16:31:58.210: W/PackageParser(3422): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
11-25 16:31:58.210: W/PackageParser(3422): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
11-25 16:31:58.210: W/PackageParser(3422): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
11-25 16:31:58.210: W/PackageParser(3422): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
11-25 16:31:58.210: W/PackageParser(3422): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
11-25 16:31:58.210: W/PackageParser(3422): at android.os.Handler.dispatchMessage(Handler.java:99)
11-25 16:31:58.210: W/PackageParser(3422): at android.os.Looper.loop(Looper.java:130)
11-25 16:31:58.210: W/PackageParser(3422): at android.app.ActivityThread.main(ActivityThread.java:3687)
11-25 16:31:58.210: W/PackageParser(3422): at java.lang.reflect.Method.invokeNative(Native Method)
11-25 16:31:58.210: W/PackageParser(3422): at java.lang.reflect.Method.invoke(Method.java:507)
11-25 16:31:58.210: W/PackageParser(3422): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
11-25 16:31:58.210: W/PackageParser(3422): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
11-25 16:31:58.210: W/PackageParser(3422): at dalvik.system.NativeStart.main(Native Method)
11-25 16:31:58.210: W/PackageInstaller(3422): Parse error when parsing manifest. Discontinuing installation
< /code>
Пожалуйста, предложите мне, как решить эту проблему и где я ошибаюсь .. < /p>
Заранее. < /p>
Подробнее здесь: https://stackoverflow.com/questions/201 ... e-apk-file
Получение ошибки анализа при установке файла .apk ⇐ Android
Форум для тех, кто программирует под Android
-
Anonymous
1755619465
Anonymous
Я загружаю файл .apk с сервера, используя Download Manager после загрузки, когда я пытаюсь установить приложение вручную, он дает ошибку Parse с сообщением «Существует проблема, анализирующая пакет». Нет проблем с minsdkversion, и я уже проверил на неизвестных источниках. public class UpdateCheckerService extends Service {
UpdateChecker update_checker;
DownloadManager downloadManager;
String Download_path="http://www.xxxxx.com/mobile_api/xxxxxx.apk";
SharedPreferences preferenceManager;
String Download_ID = "100";
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}
public void onCreate()
{
System.out.println("SERVICE ************ CREATED");
}
public void onStart(Intent intent1, int start_id)
{
System.out.println("Service started");
IntentFilter intentFilter = new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE);
registerReceiver(downloadReceiver, intentFilter);
System.out.println("Service started");
if(isNetworkAvailable())
{
if(true)
{
System.out.println("Update AVAAILLL:");
preferenceManager = PreferenceManager.getDefaultSharedPreferences(this);
downloadManager = (DownloadManager)getSystemService(DOWNLOAD_SERVICE);
Environment
.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
.mkdirs();
Uri Download_Uri = Uri.parse(Download_path);
DownloadManager.Request request = new DownloadManager.Request(Download_Uri);
long download_id = downloadManager.enqueue(request.setTitle("Downloading...")
.setDescription("xxxx").setMimeType("application/vnd.android.package-archive").setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS,
"xxxxx.apk"));
Editor PrefEdit = preferenceManager.edit();
PrefEdit.putLong(Download_ID, download_id);
PrefEdit.commit();
}
}
}
public void onDestroy()
{
}
private BroadcastReceiver downloadReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context arg0, Intent arg1) {
// TODO Auto-generated method stub
DownloadManager.Query query = new DownloadManager.Query();
query.setFilterById(preferenceManager.getLong(Download_ID, 0));
Cursor cursor = downloadManager.query(query);
if(cursor.moveToFirst()){
int columnIndex = cursor.getColumnIndex(DownloadManager.COLUMN_STATUS);
int status = cursor.getInt(columnIndex);
int columnReason = cursor.getColumnIndex(DownloadManager.COLUMN_REASON);
int reason = cursor.getInt(columnReason);
if(status == DownloadManager.STATUS_SUCCESSFUL){
//Retrieve the saved download id
long downloadID = preferenceManager.getLong(Download_ID, 0);
ParcelFileDescriptor file;
try {
file = downloadManager.openDownloadedFile(downloadID);
Toast.makeText(UpdateCheckerService.this,
"File Downloaded: " + file.toString(),
Toast.LENGTH_LONG).show();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Toast.makeText(UpdateCheckerService.this,
e.toString(),
Toast.LENGTH_LONG).show();
}
}else if(status == DownloadManager.STATUS_FAILED){
Toast.makeText(UpdateCheckerService.this,
"FAILED!\n" + "reason of " + reason,
Toast.LENGTH_LONG).show();
}else if(status == DownloadManager.STATUS_PAUSED){
Toast.makeText(UpdateCheckerService.this,
"PAUSED!\n" + "reason of " + reason,
Toast.LENGTH_LONG).show();
}else if(status == DownloadManager.STATUS_PENDING){
Toast.makeText(UpdateCheckerService.this,
"PENDING!",
Toast.LENGTH_LONG).show();
}else if(status == DownloadManager.STATUS_RUNNING){
Toast.makeText(UpdateCheckerService.this,
"RUNNING!",
Toast.LENGTH_LONG).show();
}
}
}
};
}
< /code>
Вот logcat < /p>
11-25 16:31:58.195: D/asset(3422): failed to open Zip archive '/mnt/sdcard/Download/SavariLocal.apk'
11-25 16:31:58.210: W/PackageParser(3422): Unable to read AndroidManifest.xml of /mnt/sdcard/Download/SavariLocal.apk
11-25 16:31:58.210: W/PackageParser(3422): java.io.FileNotFoundException: AndroidManifest.xml
11-25 16:31:58.210: W/PackageParser(3422): at android.content.res.AssetManager.openXmlAssetNative(Native Method)
11-25 16:31:58.210: W/PackageParser(3422): at android.content.res.AssetManager.openXmlBlockAsset(AssetManager.java:486)
11-25 16:31:58.210: W/PackageParser(3422): at android.content.res.AssetManager.openXmlResourceParser(AssetManager.java:454)
11-25 16:31:58.210: W/PackageParser(3422): at android.content.pm.PackageParser.parsePackage(PackageParser.java:402)
11-25 16:31:58.210: W/PackageParser(3422): at com.android.packageinstaller.PackageUtil.getPackageInfo(PackageUtil.java:79)
11-25 16:31:58.210: W/PackageParser(3422): at com.android.packageinstaller.PackageInstallerActivity.onCreate(PackageInstallerActivity.java:242)
11-25 16:31:58.210: W/PackageParser(3422): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
11-25 16:31:58.210: W/PackageParser(3422): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
11-25 16:31:58.210: W/PackageParser(3422): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
11-25 16:31:58.210: W/PackageParser(3422): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
11-25 16:31:58.210: W/PackageParser(3422): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
11-25 16:31:58.210: W/PackageParser(3422): at android.os.Handler.dispatchMessage(Handler.java:99)
11-25 16:31:58.210: W/PackageParser(3422): at android.os.Looper.loop(Looper.java:130)
11-25 16:31:58.210: W/PackageParser(3422): at android.app.ActivityThread.main(ActivityThread.java:3687)
11-25 16:31:58.210: W/PackageParser(3422): at java.lang.reflect.Method.invokeNative(Native Method)
11-25 16:31:58.210: W/PackageParser(3422): at java.lang.reflect.Method.invoke(Method.java:507)
11-25 16:31:58.210: W/PackageParser(3422): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
11-25 16:31:58.210: W/PackageParser(3422): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
11-25 16:31:58.210: W/PackageParser(3422): at dalvik.system.NativeStart.main(Native Method)
11-25 16:31:58.210: W/PackageInstaller(3422): Parse error when parsing manifest. Discontinuing installation
< /code>
Пожалуйста, предложите мне, как решить эту проблему и где я ошибаюсь .. < /p>
Заранее. < /p>
Подробнее здесь: [url]https://stackoverflow.com/questions/20188010/getting-parse-error-when-installing-the-apk-file[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия