Autore Topic: Installare ActionBarSherlock  (Letto 2005 volte)

Offline Elmvor

  • Utente normale
  • ***
  • Post: 166
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 14.04, Windows 8.1
Installare ActionBarSherlock
« il: 06 Dicembre 2013, 15:13:56 CET »
0
Sto seguendo la guida di Massimo Carli e mi sono intoppato in questa parte. Ho eseguito tutte le operazioni ma ho tipo.. 75 errori -.-

Ho scaricato la libreria. Ho rinominato la cartella actionbarsherlock in ActionBarSherlock. Ho creato una cartella libraries all'interno del mio progetto, dentro il quale ho copiato la cartella ActionBarSherlock. Ho modificato il file build.gradle della libreria e del progetto in questo modo:

Libreria

Codice: [Seleziona]
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.+'
    }
}
apply plugin: 'android-library'

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 19

    }

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

        instrumentTest.setRoot('tests')
    }
}

dependencies {

    compile 'com.android.support:appcompat-v7:19.0.+'
}

Progetto

Codice: [Seleziona]
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.+'
    }
}
apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 19

    }
}

dependencies {

    compile project(':libraries:ActionBarSherlock')
}

Inoltre dice che per poter utilizzare ActionBarSherlock è necessario modificare il tema dell'applicazione in questo modo:

Codice: [Seleziona]
<style name="AppBaseTheme" parent="Theme.Sherlock.Light.DarkActionBar">
        <!--
            Theme customizations available in newer API levels can go in
            res/values-vXX/styles.xml, while customizations related to
            backward-compatibility can go here.
        -->
    </style>

Però a me non trova Theme.Sherlock.Light.DarkActionBar. E' segnato in rosso (cannot resolve ecc..).

Un altro errore è presente nel manifest della libreria:

Codice: [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    android:versionCode="440"
    android:versionName="4.4.0"
    package="com.actionbarsherlock">
  <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="16"/>
  <application/>
</manifest>

"http://schemas.android.com/apk/res/android" è segnato in rosso: URI is not registered.

Gli errori di compilazione sono questi:

1) Gradle: Execution failed for task ':libraries:ActionBarSherlock:processReleaseResources'.
> Could not call IncrementalTask.taskAction() on task ':libraries:ActionBarSherlock:processReleaseResources'

2) C:\Users\Loris\Documents\AndroidProject\libraries\ActionBarSherlock\build\exploded-bundles\ComAndroidSupportAppcompatV71900.aar\res\values\values.xml

con tanti sotto-errori..

3) C:\Users\Loris\Documents\AndroidProject\libraries\ActionBarSherlock\res\values\abs__attrs.xml

con tanti sotto-errori.. -.-

Offline GabMarioPower

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 606
  • Respect: +152
    • Github
    • Google+
    • gabrielemariotti
    • GabMarioPower
    • Mostra profilo
  • Play Store ID:
    GAB+MARIO+DEV
  • Sistema operativo:
    Ubuntu 14.04 , Win 10
Re:Installare ActionBarSherlock
« Risposta #1 il: 06 Dicembre 2013, 16:08:07 CET »
+1
Se vuoi lavorare con la SherlockActionBar con AndroidStudio:

1) elimina la libreria in locale, non serve.

2) nel tuo progetto aggiungi:
Codice (Groovy): [Seleziona]
dependencies {
    compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
}


Poi se vuoi scoprire l'errore possiamo approfondire ma secondo me dipende da questo
Codice (Groovy): [Seleziona]
dependencies {
    compile 'com.android.support:appcompat-v7:19.0.+'
}

La abs non ha bisogno della compat, anzi sono incompatibili (alcuni attributi sono identici).

Ultima considerazione.
Se è un progetto nuovo, perchè usi la abs, quando ormai la action bar compat è stabile e perfettamente integrabile con altri componenti come NavigationDrawer?

Offline Elmvor

  • Utente normale
  • ***
  • Post: 166
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 14.04, Windows 8.1
Re:Installare ActionBarSherlock
« Risposta #2 il: 06 Dicembre 2013, 16:23:23 CET »
0
Non so, sto seguendo una guida probabilmente non aggiornata. Dice che la AcionBarSherlock serve per visualizzare l'ActionBar per dispositivi prima di Honeycomb. Comunque ho fatto ciò che mi hai detto, però ora ho:

Gradle: A problem occurred configuring project ':UGHO'.
> Failed to notify project evaluation listener.
   > Could not resolve all dependencies for configuration ':UGHO:_DebugCompile'.
      > Could not find com.actionbarsherlock:actionbarsherlock:4.4.0.
        Required by:
            AndroidProject:UGHO:unspecified

Codice: [Seleziona]
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.+'
    }
}
apply plugin: 'android'

dependencies {
     compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
    compile 'com.android.support:support-v4:18.0.+'
}

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 19
    }
}

Manca qualcosa,non basta fare questo
« Ultima modifica: 06 Dicembre 2013, 17:46:45 CET da Elmvor »

Offline GabMarioPower

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 606
  • Respect: +152
    • Github
    • Google+
    • gabrielemariotti
    • GabMarioPower
    • Mostra profilo
  • Play Store ID:
    GAB+MARIO+DEV
  • Sistema operativo:
    Ubuntu 14.04 , Win 10
Re:Installare ActionBarSherlock
« Risposta #3 il: 06 Dicembre 2013, 17:57:15 CET »
0
Codice (Text): [Seleziona]
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.+'
    }
}
apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 19
    }
}

dependencies {
     compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
    compile 'com.android.support:support-v4:18.0.+'
}
« Ultima modifica: 06 Dicembre 2013, 18:22:20 CET da GabMarioPower »

Offline Elmvor

  • Utente normale
  • ***
  • Post: 166
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 14.04, Windows 8.1
Re:Installare ActionBarSherlock
« Risposta #4 il: 06 Dicembre 2013, 18:07:34 CET »
0
?

Ho provato ad aggiornare android studio ma non cambia niente.

Aggiornamento: Pensavo che ti fossi sbagliato nel postare. Ho copiato ed incollato il build che hai scritto, ma ora ho un nuovo errore (che rimpiazza quello di prima):

Execution failed for task ':UGHO:processDebugResources'.
> Could not call IncrementalTask.taskAction() on task ':UGHO:processDebugResources'
« Ultima modifica: 06 Dicembre 2013, 18:15:22 CET da Elmvor »

Offline GabMarioPower

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 606
  • Respect: +152
    • Github
    • Google+
    • gabrielemariotti
    • GabMarioPower
    • Mostra profilo
  • Play Store ID:
    GAB+MARIO+DEV
  • Sistema operativo:
    Ubuntu 14.04 , Win 10
Re:Installare ActionBarSherlock
« Risposta #5 il: 06 Dicembre 2013, 18:28:32 CET »
0
Nel mio script c'è una parte in più:

Codice (Text): [Seleziona]
repositories {
    mavenCentral()
}

Prova a fare una clean (gradlew clean).
E' qualcosa che dipende dal tuo ambiente.

Offline Elmvor

  • Utente normale
  • ***
  • Post: 166
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 14.04, Windows 8.1
Re:Installare ActionBarSherlock
« Risposta #6 il: 06 Dicembre 2013, 18:36:20 CET »
0
Si l'ho aggiunta e già ho provato quell'istruzione. Va a buon fine. L'errore esce quando provo a fare il run del progetto..

Esce fuori anche commentando compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'. Quindi dipende da altro t___t


No in realtà  no. Ho creato un nuovo progetto. Se lascio tutto com'è va, se aggiungo quella riga al build.gradle ho lo stesso errore.
« Ultima modifica: 06 Dicembre 2013, 18:52:24 CET da Elmvor »

Offline GabMarioPower

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 606
  • Respect: +152
    • Github
    • Google+
    • gabrielemariotti
    • GabMarioPower
    • Mostra profilo
  • Play Store ID:
    GAB+MARIO+DEV
  • Sistema operativo:
    Ubuntu 14.04 , Win 10
Re:Installare ActionBarSherlock
« Risposta #7 il: 06 Dicembre 2013, 20:47:49 CET »
0
Dovresti guardare il log nella dialog di dettaglio di gradle (in basso a dx).

In alternativa lancia dalla finestra terminale: gradlew assemble.

Offline Elmvor

  • Utente normale
  • ***
  • Post: 166
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 14.04, Windows 8.1
Re:Installare ActionBarSherlock
« Risposta #8 il: 07 Dicembre 2013, 09:45:05 CET »
0
Se faccio gradlew clean assemble ottengo questo:

Codice: [Seleziona]
:UGHO:preBuild UP-TO-DATE
:UGHO:preDebugBuild UP-TO-DATE
:UGHO:preReleaseBuild UP-TO-DATE
:UGHO:prepareComActionbarsherlockActionbarsherlock440Library
:UGHO:prepareDebugDependencies
:UGHO:compileDebugAidl UP-TO-DATE
:UGHO:compileDebugRenderscript UP-TO-DATE
:UGHO:generateDebugBuildConfig UP-TO-DATE
:UGHO:mergeDebugAssets UP-TO-DATE
:UGHO:mergeDebugResources
:UGHO:processDebugManifest UP-TO-DATE
:UGHO:processDebugResources FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':UGHO:processDebugResources'.
> Could not call IncrementalTask.taskAction() on task ':UGHO:processDebugResources'

Per la precisione, il file settings.gradle non va modificato? E il build.gradle che ho modificato è quello interno al progetto. Quello fuori è vuoto.

Se faccio tornare tutto come prima:

Codice: [Seleziona]
dependencies {
    compile 'com.android.support:appcompat-v7:+'
}

L'errore svanisce. Se parla di "processDebugResource" penso che gli dia fastidio qualcosa nelle risorse se inserisco l'ActionBarSherlock.

Purtroppo il libro che sto seguendo si ostina ad usare la ActionBarSherlock anche nei capitoli successivi e non saprei bene come rimpazzarla. C'è una classe che estende SherlockFragmentActivity..
« Ultima modifica: 07 Dicembre 2013, 10:22:37 CET da Elmvor »

Offline GabMarioPower

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 606
  • Respect: +152
    • Github
    • Google+
    • gabrielemariotti
    • GabMarioPower
    • Mostra profilo
  • Play Store ID:
    GAB+MARIO+DEV
  • Sistema operativo:
    Ubuntu 14.04 , Win 10
Re:Installare ActionBarSherlock
« Risposta #9 il: 07 Dicembre 2013, 10:22:42 CET »
0
Distinguiamo i problemi.

La domanda iniziale era:
Installare l'ActionBarSherlock in androidStudio.

Codice (Text): [Seleziona]
root:
  proj
      build.gradle
  build.gradle
  settings.gradle

La risposta è :
1) aggiungere nel proj/build.gradle
Codice (Text): [Seleziona]
dependencies {
    compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
}

2) in settings.gradle
Codice (Text): [Seleziona]
    include ':proj'  
Se invece vuoi creati la libreria in locale
Codice (Text): [Seleziona]
root:
  lib
     abs
        build.gradle
  proj
      build.gradle
  build.gradle
  settings.gradle

1) Devi ovviamente portarti i sorgenti dentro lib/abs
2) Devi aggiungere al lib/abs/build.gradle

Codice (Text): [Seleziona]
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.+'
    }
}
apply plugin: 'android-library'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 19

    }

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

    }
}

dependencies {
    compile 'com.android.support:support-v4:19.0.+'
}

I

3) In proj/build.gradle

Codice (Text): [Seleziona]
dependencies {
    compile ':lib:abs'
}

4) in settings.gradle
Codice (Text): [Seleziona]
    include ':proj'
    include ':lib:abs'

Puoi anche vedere qui per una maggiore completezza (tenendo presente che è un post di 6 mesi fa, quando la soluzione 1) non era disponibile):
ONGOING DEV: Quick Tips: Convert to new Gradle-based build system a project with ActionBarSherlock


Ora per quando riguarda il tuo errore. Difficile dirlo.
Sicuramente la actionbarsherlock non ha nessuna dipendenza con la actionbarcompat (cioè questo compile 'com.android.support:appcompat-v7:+'
})
Ma è ovvio, che se nel tuo codice, hai fatto in qualche modo riferimento a elementi di questa seconda libreria, hai degli errori.


Offline Elmvor

  • Utente normale
  • ***
  • Post: 166
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 14.04, Windows 8.1
Re:Installare ActionBarSherlock
« Risposta #10 il: 07 Dicembre 2013, 10:30:04 CET »
0
Ho seguito bene i primi passi (soluzione 1). Il compile 'com.android.support:appcompat-v7:+' l'ho rimosso.
Bah, non so che fare -.- Succede anche con un progetto totalmente nuovo, stesso errore. Rimuovo quel compile, aggiungo quello per l'ActionBarSherlock. Se android studio fosse intelligente, mi direbbe dove nel progetto sto facendo riferimento a qualcosa di sbagliato.

Post unito: 07 Dicembre 2013, 11:02:40 CET
Facciamo così. Dato che nell'applicazione reale che entro una settimana dovrò iniziare a sviluppare dovrò utilizzare per forza una Action Bar, conosci una guida più aggiornata? Così chiudiamo questa discussione. Per quanto riguarda questo libro proverò ad arrangiarmi ._.

Post unito: 07 Dicembre 2013, 16:57:36 CET
Va bene a quanto pare sono riuscito a fare lo stesso con la Action Bar Compat! (Anche se ho perso lo stile personalizzato).
« Ultima modifica: 07 Dicembre 2013, 16:57:36 CET da Elmvor, Reason: Merged DoublePost »

Offline GabMarioPower

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 606
  • Respect: +152
    • Github
    • Google+
    • gabrielemariotti
    • GabMarioPower
    • Mostra profilo
  • Play Store ID:
    GAB+MARIO+DEV
  • Sistema operativo:
    Ubuntu 14.04 , Win 10
Re:Installare ActionBarSherlock
« Risposta #11 il: 07 Dicembre 2013, 20:06:15 CET »
+1
Va bene a quanto pare sono riuscito a fare lo stesso con la Action Bar Compat! (Anche se ho perso lo stile personalizzato).

Lo stile della ActionBarCompat te lo puoi creare qui:
Android Action Bar Style Generator

Offline Elmvor

  • Utente normale
  • ***
  • Post: 166
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 14.04, Windows 8.1
Re:Installare ActionBarSherlock
« Risposta #12 il: 08 Dicembre 2013, 09:20:27 CET »
0
Ma che cosa utile! :)

Però mi riferivo allo stile dell'activity. Comunque la guida ufficiale spiega come risolvere!