Ich habe eine Android App, die Filme mit der MovieDB.org API zeigt.Wie kann man TheMovieDB API_KEY für Travis-CI verschlüsseln und verwenden?
Ich habe die für die Verschlüsselung folgend getan meine theMovieDB.org API_KEY für TRAVIC CI:
gem install --user travis
travis encrypt API_KEY = my_api_key --add
Also, im Grunde schafft es einen sicheren Schlüssel und speichert ihn in .travis.yml. Aber es scheint nicht zu funktionieren. Ich erhalte folgenden Fehler:
Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
Ich weiß, dass ich diesen Fehler bekomme, weil Travis CI meine API_KEY nicht herausfinden konnte. Denn wenn ich meinen Schlüssel direkt benutze, übergibt travis CI den Build. Aber leider nicht mit dem Schlüssel mit dem oben genannten Code zu verschlüsseln. Ich mache alles, was sie in der Dokumentation erwähnt haben.
Das ist mein .tavis.yml:
language: android
env:
global:
secure: some_lengthy_secure_key
android:
components:
- platform-tools
- build-tools-25.0.3
- android-25
- extra-android-m2repository
script:
- ./gradlew build
before_install:
- chmod +x gradlew
branches:
only:
- master
Das ist mein Projekt: https://github.com/Parag2385/PopularMovies-P
Der Fehler zeigt deutlich, dass Ihre * Kompilierung * fehlschlägt. Was lässt Sie glauben, dass das etwas mit dem API-Schlüssel zu tun hat? Dieser Schlüssel wird nicht verwendet, bis Ihr Programm ausgeführt wird. –
Da, wenn ich mein Projekt auf Android-Studio ohne API_KEY kompiliere gibt es mir genau den gleichen Fehler. Und mit API_key erfüllt es erfolgreich und läuft auf Emulator und auch auf dem eigentlichen Gerät. Also, was könnte der Grund noch sein? –
Und auch wenn ich meine API_KEY in der Datei "gradle.properties" aufbewahre und dann auf travis CI aufbaute, gibt es mir nicht den Fehler, stattdessen wird Build erfolgreich übertragen. Aber aus Sicherheitsgründen kann ich meinen API_KEY nicht in einem GitHub Repo behalten, richtig? –