Olá :D
Não estava conseguindo rodar meu projeto ionic no celular (ionic run android)
Dava esse erro da imagem (Device communication timed out. Try unplugging & replugging the device)
Tentei desplugar e plugar o celular.. reiniciei o notebook, reiniciei o celular... nada funcionou!
Teve uma época q quando dava esse erro, eu tentava mais umas 3 vezes q voltava a funcionar... agora posso tentar 1000 mil vezes q sempre dá erro...
Pelo fato de eu estar no Windows, acredito q possa ser algo do adb, alguma coisa de driver talvez....
Achei duas soluções para o problema:
Usei o Ionic View: É muito legal e fácil de usar. Você faz upload da sua app para o Ionic Apps, e no seu celular com a app do IonicView você consegue acessar todas as suas apps (Você pode testar num iphone sem ter um Mac).
Mas com o Ionic View você ainda tem as mesmas limitações do Ionic Serve... Você não consegue testar todos os plugins do Cordova por exemplo.
Então consegui rodar a minha app diretamente no celular através dos seguintes comandos:
ionic build android
adb.exe install -r platforms/android/build/outputs/apk/android-debug.apk
Se não encontrar o adb.exe coloque no seu PATH: <ANDROID_SDK>\platform-tools
Fontes:
https://www.facebook.com/groups/1558333777738228/permalink/1693011350937136/
https://www.thepolyglotdeveloper.com/2014/09/manage-files-in-android-and-ios-using-ionicframework/
É isso aí, vaaaleu!!!
Adriano Schmidt
terça-feira, 15 de março de 2016
Assinar:
Postar comentários (Atom)
Solução para não dar mais o erro de timed out:
ResponderExcluirAbra o arquivo \platforms\android\cordova\node_modules\q\q.js
Procure pelo trecho abaixo e modifique apenas a linha abaixo do comentário:
Promise.prototype.timeout = function (ms, error) {
var deferred = defer();
var timeoutId = setTimeout(function () {
if (!error || "string" === typeof error) {
error = new Error(error || "Timed out after " + ms + " ms");
error.code = "ETIMEDOUT";
}
deferred.reject(error);
/*}, ms); Esta linha era assim, troque pelo conteúdo abaixo*/
}, 40000);
this.then(function (value) {
clearTimeout(timeoutId);
deferred.resolve(value);
}, function (exception) {
clearTimeout(timeoutId);
deferred.reject(exception);
}, deferred.notify);
return deferred.promise;
};
A pasta \platforms... fica na pasta do seu App
Excluireduardo, obrigado pela dica.
ExcluirObrigado amigão
ResponderExcluirPerfeito, muito Obrigado.
ResponderExcluir