Frage

Ich habe eine Android-App, die ActionBarSherlock & ViewPagertabs verwendet. Ich benutze Eclipse, um es zu schreiben und zu bauen, und es funktioniert nur gut, bis ich versuche, es mit Ameise zu bauen. Hier ist was ich getan habe:

    .
  1. Gehe zu ActionBarherboL-Ordner, rennen Sie "Android Update lib-project - path."
  2. Zum AnsehenPagertabs-Ordner, rennen Sie "Android Update lib-project - Pfad." auch
  3. Gehe zum App-Ordner, rennen Sie "Android Update Projekt - Pfad."
  4. Run "und Debug" unter App-Ordner, und ich habe folgende Fehler:

    : generasacodicetagpre.

    so fraglich nein. 1: Ich habe die korrekten Bibliotheksreferenzen in der Apps project.properties, und ActionBarsharmerlock & ViewPagertabs könnte erfolgreich erstellt werden, warum bekomme ich noch diese Fehler?

    Es gibt eine Problemumgehung für dieses Problem - Kopieren Sie alle klassen.jar in den Bin-Ordner der Bibliothek in den Ordner von Apps Libs, und führen Sie erneut "Ant-Debug" erneut aus. Aber ich muss diese .jari-Dateien unter Apps Libs-Ordner löschen, nachdem alle .Java-Dateien der App kompiliert werden können.

    Running "Ant-Debug" Auch danach erhalte ich folgende Fehler: generasacodicetagpre.

    meine frage no.2 ist: Wie kann ich dieses Problem beheben?

    danke!

War es hilfreich?

Lösung

I finally resolve it myself. I find that there's a android-support-v4.jar in ViewPagerTabs' libs folder. The solution is -- deleting this android-support-v4.jar, then make ViewPagerTabs depend on ActionBarSherlock (because ActionBarSherlock actually have one copy of Support Package).

I hope it's useful for people who wants to use ActionBarSherlock & ViewPagerTabs in one application and use Ant to built his/her application. Good luck.

Andere Tipps

You stated its because both library have android-support-v4.jar. See @porter-liu answer for non-maven builds.

For people using maven, set your ViewPager dependancy as:

    <dependency>
        <groupId>com.viewpagerindicator</groupId>
        <artifactId>library</artifactId>
        <version>2.4.1</version>
        <type>apklib</type>
        <exclusions>
            <exclusion>
                <groupId>com.google.android</groupId>
                <artifactId>support-v4</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

The exclusion tag stops the double import fixing the issue.

When you update lib-project, you're updating the project so that it compiles as a library. There's a separate step to update your main project so that it sees the library it requires.

For each library project you're going to use, run

android update project --library ../pathToTheLibrary

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top