Passa ai contenuti principali

Ionic Framework & Gradle

Ho riscontrato delle difficoltà nel build della web app con ionic + gradle, sopratutto dopo aver aggiornato cordova all'ultima version che non usa più ant
Prima con ant era facile
ionic build -- --ant 
con gradle invece è sufficiente dare ionic build
peccato che nel tentativo di deploy mi sia imbattuto in questo errore:
FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'android'.
> A problem occurred configuring project ':CordovaLib'.
   > Could not resolve all dependencies for configuration ':CordovaLib:classpath'.
      > Could not resolve com.android.tools.build:gradle:1.0.0+.
        Required by:
            android:CordovaLib:unspecified
         > Could not resolve com.android.tools.build:gradle:1.0.0+.
            > Failed to list versions for com.android.tools.build:gradle.
               > Unable to load Maven meta-data from https://jcenter.bintray.com/com/android/tools/build/gradle/maven-metadata.xml.
                  > Could not GET 'https://jcenter.bintray.com/com/android/tools/build/gradle/maven-metadata.xml'.
                     > peer not authenticated

le righe importanti sono quelle in grassetto
che ci sia maven o bintray, dopo una mia modifica, non importa. 
se notate all'inizio dell'indirizzo c'è https 
praticamente gradle non riesce a scaricare le info per scaricare i pacchetti perchè è peer not authenticate, ossia manca il certificato su java
cos' dopo un po' di analisi e ricerche questa è stata la soluzione: impostare lindirizzo da https a http

come fare?

in tutti i files build.gradle del progetto cercate: 
 repositories {
      centralMaven()
 }
oppure
 repositories {
      jcenter()
 }

e sostituite con
repositories {
    maven{
           url 'http://repo1.maven.org/maven2'
        }
}

oppure
repositories {
    jcenter{
           url 'http://jcenter.bintray.com'
        }
}

ricordate che gradle è legato alla versione dell'sdk android che si usa
quindi gradle-2.2.1 con android 22 (cercare file con stringa distributionUrl)

Commenti

Post popolari in questo blog

install language on osTicket

this simple guide aims you to install and configure your language on osTicket i written this guide based on forum post http://osticket.com/forum/discussion/76252/installing-language-pack

Develop Prestashop Module - puntata 1 creazione di un modulo prestashop

la creazione o lo sviluppo di un modulo   Prestashop funziona sia per il front-end che il back-end del sistema la struttura di un modulo è fissa che si compone con una serie di step: file di configurazione file di installazione files controllers per l'amministrazione files controllers per il frontend files delle view creazione dell'infrastruttura base del modulo per Frontend all'interno della cartella modules di prestashop creare una cartella  esempio     <root>          |---modules                    |-----miomodulo naturalmente il nome del modulo lo potete personalizzare all'interno della cartella miomodulo  creare i seguenti file config.xml index.php miomodulo .php   <-- inserite il vostro nome modulo al posto di mio modulo index.php il codice di index php , file che dovrà essere inserito in ogni cartella : <?php /* ...

Prestashop: override PayPal about.tpl

Abbiamo incontrato una difficoltà nell'override del template "about.tpl" di PayPal su Prestashop. Abbiamo cercato sul forge di Prestashop e abbiamo trovato questo bug . Ora il consiglio che viene dato è quello di utilizzare il "core display method". Così dopo un po' di debug l'abbiamo fatto. Per abilitare all'override l'"about.tpl" di Prestashop è necessario modificare il file "modules/paypal/backaward_compatibility/Display.php": <?php /**  * Class allow to display tpl on the FO  */ class BWDisplay extends FrontController { // Assign template, on 1.4 create it else assign for 1.5 public function setTemplate($template) { if (_PS_VERSION_ >= '1.5') parent::setTemplate($template); else $this->template = $template; } // Overload displayContent for 1.4 public function displayContent() { parent::displayContent();                 echo Module::display('paypal', ...