Importieren Projekten in Android Studio 2.2.3

  • Antworten:18
Petra Ritter
  • Forum-Beiträge: 81

04.03.2017, 13:56:23 via Website

Hallo,

Ich habe von GitHub ein Projekt heruntergeladen, dass ich gerne in Android Studio importieren möchte.
während des Imports muss man den Pfad von Gradle angeben.
Wo finde ich unter macOS Sierra (10.12.3) den Pfad von Gradle.

Es geht um das Projekt "deque university for Android".

Entschuldigung für die Anfänger-Frage.

Grüsse

Petra Ritter

Antworten
swa00
  • Forum-Beiträge: 3.704

04.03.2017, 14:24:46 via Website

Hallo Petra,

schau in diesen Link hier rein
https://github.com/dequelabs/Deque-University-for-Android/blob/master/app/build.gradle

Du machst dann in deinem Projekt die Gradle App auf und schaust mal in der Hauptsache unter den dependencies

 androidTestCompile ('com.dequesystems.axeandroid:axeandroid:0.0.6-SNAPSHOT') {
    exclude module: 'appcompat-v7'
}

P.S ich hoffe , dass das der Link ist , den du meinstest :-)
Nimm einfach mal das Ganze projekt dort und spiele erst mal mit dem rum

— geändert am 04.03.2017, 14:26:14

Liebe Grüße - Stefan
[ App - Entwicklung ]

Antworten
Petra Ritter
  • Forum-Beiträge: 81

04.03.2017, 19:40:02 via Website

Hallo Stefan,

Erst mal Danke für die Hilfe.
Ich denke, dass ein Kompatibilitätsprobleme besteht:

Denn in der Datei build.grade des Projektes steht:
dependencies {
classpath 'com.android.tools.build:gradle:2.1.2'

Nach langem Suchen fand ich den Pfad
"/Applications/Android Studio.app/Contents/gradle/m2repository/com/android/tools/build/gradle/2.2.0" auf meinem Rechner.

Bei mir gibt es kein Verzeichnis /gradle/2.1.2 sondern nur die Verzeichnis /2.2.0 und /2.2.3 unter /gradle.

Wenn ich das richtig verstehe habe ich eine zu neue Version von Gradle installiert sodass das Projekt deswgen nicht werden kann.

Kann man eine ältere Gradle Version nach installieren oder wie krieg ich das Projekt sonst importiert?
Als Workaround könnte ich, auf meinen alten Windows 7 Rechner nachschauen, ob dort das Verzeichnis /gradle/2.2.1 gibt.. Auf dem Windows-Rechner hatte ich, wenn mich richtig erinnere ursprünglich Android Studio 2.1 installiert. Falls ja könnte ich notfalls auf dem Rechner das Projekt importieren.

Wie lässt man ein solches Problem richtig? Man hat ja nicht immer ein zweiten Rechner mit einer alten Version einer Entwicklungsumgebung zur Verfpgung,

Grüsse aus der Schweiz

Petra Ritter

Petra

Antworten
Petra Ritter
  • Forum-Beiträge: 81

04.03.2017, 20:03:14 via Website

Hallo Stefan,

Habe gerade auf dem alten Rechner nachsehen. Dort habe ich zwar ein Verzeichnis /gradle/2.1.3 aber auch kein 2.1.2.

Petra

Antworten
pepperonas
  • Forum-Beiträge: 434

04.03.2017, 20:58:54 via Website

Hallo, meine Vorgehensweise bei solchen "Problemen":
Immer eine aktuelle Android Studio Version benutzen - nicht umbedingt den Canary Channel wählen, letzte stable oder Beta.
gradle ebenfalls aktuell halten (auch stable, oder beta, hier geht ggf. auch alpha). Diesen Link unbedingt bookmarken.
Generell schauen, dass beide gradle-Files (vom Projekt und Modul) kompatibel sind, sonst wird der Build niemals funktionieren.
Ein Blick in die Fehlerausgabe des Monitors hilft um sich bei Stack Overflow weitere Infos zur Behebung zu verschaffen.
Es macht mehr Sinn den Code deines Projektes auf eine neue gradle-Version anzupassen, als in der Historie von gradle herumzufischen.

Mit der Zeit bekommt man den richtigen Workflow aus. Solange man noch nicht vor Wut explodiert ist, ist noch alles in Butter :D

Open Source

Antworten
Petra Ritter
  • Forum-Beiträge: 81

05.03.2017, 10:42:00 via Website

Hallo,

Das würde heissen, dass ich die Zeile in der Datei build.gradle im Verzeichnis app von
"classpath 'com.android.tools.build:gradle:2.1.2'" auf
"classpath 'com.android.tools.build:gradle:2.2.3" ändern muss?

Es gibt im Hauptverzeichnis des Projekts auch noch eine Datei build.gradle die sieht bei mir so aus:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
repositories {
jcenter()
}

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}

}

allprojects {
repositories {
jcenter()
}
}

Muss ich da auch etwas ändern?
Und muss ich irgend in einer Datei noch was anpassen?

Antworten
pepperonas
  • Forum-Beiträge: 434

05.03.2017, 16:01:55 via Website

... Würde sogar ggf. versuchen direkt auf 2.3.0 hochzugehen (siehe Link von gestern).
Das kann man aus der Ferne nie genau sagen, aber wenn es sich aber um eine "normale" App handelt (und nicht noch Libraries aus dem Projekt erstellt werden, oder mehrere Module verlinkt sind), sollte das Top-Level gradle schon so passen (steht ja auch da, dass idR dort nix geändert wird).
Kannst noch mal einen Blick in die gradle.properties werfen (im gradle Ordner in deinem Projekt), dort sollte die aktuelle Version ebenfalls nochmal stehen.
Ansonsten halt ausprobieren (Backup davor nicht vergessen). Wie gesagt, eine "richtige" Vorgehensweise gibt es nicht. Dafür gibt es zu viele Kleinigkeiten, die sich auf den einzelnen Systemen unterscheiden können.
Was ist denn der aktuelle Stand? Fehlermeldungen? Wenn ja, welche?

Ach so: Gradle online zu beziehen und nicht fest auf der eigenen Platte zu verlinken ist meiner Meinung nach die bessere Wahl (so ist es auch in der IDE "recommended" und als default eingestellt)

Open Source

Antworten
Petra Ritter
  • Forum-Beiträge: 81

05.03.2017, 16:42:21 via Website

Hallo pepprones,

Ich habe im Top-Level build-gradle folgenden Pfad einetragen.
dependencies {
classpath 'com.android.tools.build:gradle:2.3.0’

Beim Imortieren des Projektes herhalte ich nun folgende Fehlermeldung.

image

Sehe ich das richtig, das Android Studio gradle "gefressen hat" und in dem Projekt sonst noch was nicht stimmt?

Petra

Antworten
Petra Ritter
  • Forum-Beiträge: 81

05.03.2017, 17:18:11 via Website

Ups habe gerade festgestellt, das ich, dass ich die die Optiopn "Use default gradle wapper" ausgewählt hatte anstatt Use local gradle distribution. Dann geht es so wie sooft nicht. Es geht aber auch mit der richtigen Option nicht.
Mit der richtigen Option kriege ich folgende Fehlermeldung

image

Antworten
Petra Ritter
  • Forum-Beiträge: 81

05.03.2017, 17:29:54 via Website

Mit der Default option für Gradle kriege ich wieder die Fehlermeldung im ersten Screenshot den ich gepostet habe.
Die Meldung mit dem Resolve Error.(angry)

Petra

Antworten
Petra Ritter
  • Forum-Beiträge: 81

05.03.2017, 18:02:30 via Website

Kann es sein, dass ich ein generelles Problem mit Gradle habe?

In einem ganz einfachen HalloWorld Projekt habe ich plötzlich die Fehlermeldung
05.03.17
17:53 Error Loading Project: Cannot load 3 facets Details...

17:53 Plugins Suggestion
Unknown features (Run Configuration[AndroidRunConfigurationType], Facet[android, android-gradle]) covered by disabled plugin detected.
Enable plugins...
Ignore Unknown Features

Petra

Antworten
pepperonas
  • Forum-Beiträge: 434

05.03.2017, 23:00:24 via Website

Ok, hehe, das bekommst du schon wieder hin :)
gib mal im terminal

echo $PATH 

ein.

Ist dann ein Eintrag mit "######/Library/Android/sdk/platform-tools" enthalten?
Falls der Pfad fehlt, müsstest ihn neu setzen:

export PATH=$PATH:~/dein/Pfad/zum/SDK/ (siehe oben das hinter dem Library)


Falls der Pfad noch richtig ist:
in AndroidStudio cmd komma drücken dann plugin eingeben und dort mal nachschauen ob der android support aktiv ist.. falls nicht, aktivieren, IDE neustarten und nochmal probieren :)

Tipp: auto-import und den default gradle wrapper wählen

ansonsten kannst du auch hier mal nachlesen https://developer.android.com/studio/build/index.html

PS: wenn du denkst gradle wäre mist, dann solltest du unbedingt mal npm in Kombination mit Angular Material ausprobieren :D dagegen ist gradle der reinste Kindergeburtstag...

Open Source

Antworten
Petra Ritter
  • Forum-Beiträge: 81

09.03.2017, 19:30:11 via Website

Hallo pepperonas,
Bei mir war weder der Path gesetzt noch der Android Support aktiviert.
Jetzt wird das Projekt wenigstend in Android Studio importiert. Fortschritt!!:)

Android Studio ist aber immer noch nicht zufrieden mit den Gradle-Ding.

image

Gruss Petra

Antworten
pepperonas
  • Forum-Beiträge: 434

10.03.2017, 03:06:28 via Website

Hi Petra, na das ist ja schon mal was :)
Die Datei auf deinem Screenshot ist das Top-Level gradle (auch Projekt gradle genannt), das sieht soweit gut aus. Wie gesagt in der Regel macht man dort auch nichts, außer die Version anzugeben (oder wenn man Libraries kompiliert).
Also die Datei am besten so lassen.. Vermutlich ist jetzt noch die unterste Zeile der gradle.properties (im gradle-Verzeichnis, das sich ebenfalls in deinem Projekt befindet) unstimmig. Dort ist die entsprechende gradle Version verlinkt.
Ansonsten wäre noch denkbar, dass hinsichtlich des min. / target und build SDK etwas nicht stimmt.
Beispiel:
minSdk: 16
target: 24
build: 23
... hier auf Plausibilität zu achten empfiehlt sich IMMER, da AndroidStudio das ziemlich aus dem Konzept bringen kann.

Kann mir gut vorstellen, dass einer der Workarounds das Problem dann behebt.

Und hier noch ein Video, bei dem man eine ganz gute Sicht "von oben" bekommt (lieber einmal ne knappe Stunde mit dem Thema zu beschäftigen, als sich die nächsten Monate weiter mit nicht funktionierenden Setups rumschlagen^^)

... und je größer das Projekt wird, desto größer ist der Nutzen, den man aus gradle zieht (minifying, Ressourcen shrinken, Code obfuscation, Flavours, etc...)

Open Source

Antworten
Petra Ritter
  • Forum-Beiträge: 81

10.03.2017, 17:23:41 via Website

Hallo pepperonas,

Ich bin nicht sicher ob ich auf richtigen Spür bin
Meinst Du die Einträge aus der build.gradle in app?

android {
compileSdkVersion 23
buildToolsVersion "23.0.3"

defaultConfig {
applicationId "com.dequesystems.accessibility101"
minSdkVersion 18
targetSdkVersion 23
versionCode 4
ver..sionName "1.2"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
Der Einrag "minSdkVersion 18 " scheint mir nicht stimmig zu sein.
und wenn wir schon in der Datei rum fummeln, was ist mit den Eintrag
" buildToolsVersion "23.0.3" bzw. mit dem 0.3 hinter dem 23?
Und hier habe ich gleich noch einen Tooltipp gesehen.
Soll ich auf compileSdkVersion 25 für Android 7.1.1 gehen? Oder lauf die App dann nicht mehr auf ältere Versionen als 7.1.1? Wäre mir schon recht wenn die App wenigstens auf Android 6.0 laufen würde.
image

Antworten
pepperonas
  • Forum-Beiträge: 434

10.03.2017, 19:03:28 via Website

:) die Datei sieht auch gut aus... Die zwei Workarounds auf Stack Overflow, die ich dir geschickt habe, sollten das Problem lösen.
Oder ganz konkret: links im Projekt-Tab auf gradle>wrapper>gradle-wrapper.properties und dort ersetzt du die unterste Zeile durch:

distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip

PS: ja, kannst auch auf buildTools 25 gehen. Dann unterstützt deine App alles zwischen Kitkat und Nougat.

— geändert am 10.03.2017, 19:05:39

Open Source

Antworten
Petra Ritter
  • Forum-Beiträge: 81

10.03.2017, 21:09:40 via Website

Das mit den Zeilen ersetzten funktioniert nicht.
Die war schon so, wie sie Du kopiert hast.
Und das mit dem "Use default Gradle wapper" funktioniert auch nicht.:'(:'(
Die Option ist nämlich auch schon aktiviert.

Petra
PS: Das Projekt war ursprünglich mi Android Studio 1.3 erstellt worden.
https://github.com/dequelabs/Deque-University-for-Android

Antworten
pepperonas
  • Forum-Beiträge: 434

10.03.2017, 21:34:51 via Website

https://www.dropbox.com/s/ov7guictpcnqxzi/Android_Emulator_-_Pixel_API_255554_2017-03-10_21-28-47.png?dl=0
... zugegeben, war schon ein bisschen tricky^^
habs dir mal auf meine repo geladen https://github.com/pepperonas/dufa

zur Vorgehensweise: habe es 2x aus der repo gepullt. Beim ersten Versuch war Vieles fehlerhaft (Passwort-Config, die SDK-Version, Test-Ressourcen, mehrere gradle errors, glaub Proguard war auch irgendwas mit... und noch ein paar andere Kleinigkeiten). Dann wusste ich grob wo überall Fehler entstehen konnten, habe alles nochmal gelöscht, neugeladen, die Fehlerquellen durch Beseitigen des ganzen unnützem Kram begrenzt, dann erst einen neuen Build versucht und dabei wurde mir von AS sowohl SDK und gradle Versionen vorgeschlagen, beides angenommen und schon liefs.

— geändert am 10.03.2017, 21:47:36

Open Source

Antworten
Petra Ritter
  • Forum-Beiträge: 81

11.03.2017, 16:56:29 via Website

Hallo pepperonas

Danke für Deine Anpassungen.
Die App läuft.
Jetzt versuche ich das Original nochmals herunterzuladen und anhand Deiner Version selber die App zum Laufen zu bringen.

Kann sicher viel lernen dabei.

Petra

Antworten