Uruchamianie aplikacji na Androida z Crashlytics z IntelliJ
Próbuję zintegrować Crashlytics z naszym projektem Android z Maven. Mam wszystkie wymagane wtyczki skonfigurowane i zbudowane, wykonuje się i kończy, gdymvn clean package
z linii poleceń. Podczas uruchamiania aplikacji zbudowanej z linii poleceń - wszystko jest OK.
Problemy występują podczas uruchamiania aplikacji z IntelliJ.
Myślę wszystkoCrashlytics
magia dzieje się, gdy faza generowania zasobów jest wykonywana:
<plugin>
<groupId>com.crashlytics</groupId>
<artifactId>crashlytics-maven</artifactId>
<version>1.0.3</version>
<executions>
<execution>
<id>GenerateResources</id>
<goals>
<goal>GenerateResources</goal>
</goals>
</execution>
<execution>
<id>CleanupResources</id>
<goals>
<goal>CleanupResources</goal>
</goals>
</execution>
</executions>
</plugin>
Ta wtyczka została dodana do mojej aplikacji pom.xml:
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<groupId>com.crashlytics</groupId>
<artifactId>crashlytics-maven</artifactId>
<!-- full configuration declared in parent pom.xml -->
</plugin>
... other plugins...
<plugins>
</build>
Tak więc - pytanie brzmi - jak wykonać ten cel, gdy IntelliJ buduje mój APK?
Błąd pojawia się, gdy aplikacja działa:
ERROR/AndroidRuntime(11626): FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to create application lt.my.app.MyApplication: com.crashlytics.android.CrashlyticsMissingDependencyException: Crashlytics did not find a required runtime dependency. To configure your build environment, visit: http://www.crashlytics.com/api/v1/.../android/confirm/lt.my.app
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5085)
at android.app.ActivityThread.access$1300(ActivityThread.java:162)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1436)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:5777)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1083)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:850)
at dalvik.system.NativeStart.main(Native Method)
Caused by: com.crashlytics.android.CrashlyticsMissingDependencyException: Crashlytics did not find a required runtime dependency. To configure your build environment, visit: http://www.crashlytics.com/api/v1/.../android/confirm/lt.my.app
at com.crashlytics.android.j.a(SourceFile:37)
at com.crashlytics.android.Crashlytics.a(SourceFile:770)
at com.crashlytics.android.Crashlytics.start(SourceFile:157)
at com.crashlytics.android.Crashlytics.start(SourceFile:135)
at lt.my.app.MyApplication.onCreate(MyApplication.java:32)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1012)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5082)
Aktualizacja (07-24):Akceptowana odpowiedź powinna działać, ale jeśli ponownie pobierzesz i ponownie zainstalujesz wtyczkę - powinna ona działać z natywnym konstruktorem IntelliJ. Chociaż (dzisiaj) ulega awarii podczas uruchamiania IntelliJ na maszynie Ubuntu.