2015-01-19 2 views
4

Когда я пытаюсь запустить приложение Кордовы через командную строку. Моя сборка прошла успешно, но работает на эмуляторе или устройстве он дает мне ошибку в командной строкене может запустить приложение cordova на ошибках устройства или эмуляторов

ERROR: Failed to launch application on device: ERROR: Failed to install apk to d evice: Error: Could not find apk architecture: arm build-type: debug ERROR running one or more of the platforms: Error: cmd: Command failed with exit code 8 You may not have the required environment or OS to run this project

Я Уточнены минимальная версия SDK в AndroidManifest.xml файл

 uses-sdk android:minSdkVersion="10" android:targetSdkVersion="21"

на эмуляторе я нахожусь запущен API версии 19, Android 4.4.2, а на мобильных устройствах я запускаю андроид 4.4.3 с включенной отладкой USB на Sony Xperia ultra t2.

ответ

0

Я думаю, что это ошибка в кордове (которая появляется только при использовании градации). кажется, фиксируются в текущем основной ветви (которые вы можете использовать с Cordova платформой Android @ добавить мастер --usegit)

Для старой версии я workedaround это так:

Существует файл сборка .js в вашей папке cordova/lib/в вашем проекте. Этот файл содержит функцию findOutputApksHelper, которая проверяет соответствие сгенерированных apks конкретной схеме имен файлов. По умолчанию созданные отладочные apks называются android-debug-unaligned.apk, однако метод исключает все файлы, содержащие «-unaligned». Я модифицировал функцию следующим образом:

function findOutputApksHelper(dir, build_type) { 
    var ret = findApks(dir).filter(function(candidate) { 
     // Need to choose between release and debug .apk. 
     if (build_type === 'debug') { 
      console.log("candidate: "+candidate); 
      return /-debug/.exec(candidate); 
     } 
     if (build_type === 'release') { 
      return /-release/.exec(candidate) && !/-unaligned/.exec(candidate); 
     } 
     return true; 
    }); 

    ret = sortFilesByDate(ret); 
    console.log("ret " + ret); 
    if (ret.length === 0) { 
     return ret; 
} 

    var archSpecific = !!/-x86|-arm/.exec(ret[0]); 
    return ret.filter(function(p) { 
     return !!/-x86|-arm/.exec(p) == archSpecific; 
    }); 
} 
+0

Спасибо за ваш ответ. Попробуй это и скоро узнаешь –

+0

Я пробовал это, и это не решило мою проблему, которая похожа. Эмулятор работает, но я не могу получить кордову для запуска приложения на эмуляторе: «Не удалось запустить приложение на эмуляторе: Ошибка: не удалось найти архитектуру apk: x86 build-type: debug» – user1029978

+0

Теперь метоз называется module.exports.findBestApkForArchitecture –

Смежные вопросы