Firebase Crashlytics with chromium (android) - android

Is there possible add Crashlytics to the chromium android? This is easy with projects based on gradle with Android Studio https://firebase.google.com/docs/crashlytics/get-started?authuser=0&platform=android#java . But the chromium build uses ninja build tool - without gradle and Android Studio. So I do not understand how to add Crashlytics to the chromium.

I'm pretty sure that one can build NDK projects with Gradle and Ninja, so this claim might be a misconception of what Gradle is able to do and what it isn't able to. Likely you'll have to add crashlytics.h and libcrashlytics.so for native crash reporting.
There's also an external mini-chromium module contained.
Crashpad is the chief consumer of mini_chromium.

Related

React Native: what's the difference between Android Gradle Plugin in build.gradle file and Android Studio?

In my React Native project I'm using react-native#0.63.4, and following the migration guide from a previous version, I have the following line in my android/build.gradle file:
classpath('com.android.tools.build:gradle:4.1.3')
When I recently opened the project in Android Studio it recommended I upgrade my Android Gradle Plugin from 4.1.2 to 4.1.3.
What I Want To Know: What's the difference between the Android Gradle Plugin version referenced in my build.gradle file and the one in Android Studio? What effect does each have on the other, and how is each used in my app itself?
First of all, let's start with what build.gradle does:
Gradle is an open-source build automation tool that is designed to be flexible enough to build almost any type of software.
The Android Studio build system is based on Gradle, and the Android Gradle plugin adds several features that are specific to building Android apps.
Gradle build scripts are written using a Groovy or Kotlin DSL.
There are several differences on versions like:
Incremental Builds
Build Caching
Incremental Subtasks
Incremental Annotation Processing etc.
When you update Android Studio, you may receive a prompt which is telling you upgrade your project gradle. This is because you upgrade your Android Studio plugin, not the project. With this upgrade you can have some developed functionalities in gradle like above.

DexGuard the submodule of a project

We have the following setup:
We build and ship an Library for our clients. The SDK is obfuscated with DexGuard
That Library is also used in our application. Our application should use the same AAR file that is shipped also to the clients that is obfuscated.
Till version 2.3.* of Android plugin it was building the AAR file and reusing then that library for the app. From version 3.0 it does not seems to be the case. I have the feeling that it is using directly the files.
Is there a way to force the same process - to build the AAR and then to use it from the app?
Thanks and Kind Regards

How to use Android NDK and Fabric at the same time?

I have a Crashlytics-enabled app (which is now part of Twitter's Fabric) and I need to add some JNI functionality using the Android NDK.
I've switched to experimental gradle as Android Studio prompted me that way:
http://tools.android.com/tech-docs/new-build-system/gradle-experimental
When I've applied the necessary changes and tried to sync, I've got the error:
Crashlytics was applied to a project without an Android plugin. Please make sure the Crashlytics plugin is applied after the appropriate Android plugin for your project.
I've googled the error and found out that it's a problem between Fabric and experimental gradle, and Fabric team doesn't really seem to care about fixing it any time soon: https://twittercommunity.com/t/gradle-experiental-support/53441.
I've stumbled upon Issue with experimental gradle: The android plugin must be applied to the project but I have no idea what to do there, and I'm not sure if it's the right way to go?
How can I use Android NDK and Fabric in my project?
So gradle-experimental and Fabric don't mix.
Solution:
1) update to latest Android Studio 2.3.1
2) follow this tutorial to drop gradle experimental: https://developer.android.com/studio/projects/add-native-code.html
What I did was create a new temporary project with C++ support enabled and added a blank activity.
Then I opened my current project and the temporary project and copied the necessary changes into my own project.
After I was done (about 1 hour of work) I was able to build my C code into a library, load the library into my project, and make the JNI calls.

Building Android app with Jenkins & Gradle

I'm a devops engineer, and my company is building their first Android app. For all of our other projects, we've used Jenkins to handle builds.
I've read quite a few tutorials on getting android building on Jenkins and they all seem to rely on Gradle. I'd like to get out in front of the devs a bit and start the job. Is it possible that the app that they build doesn't support Gradle? What scenarios are those, so I can influence decisions?
Maybe Gradle isn't the latest thing, if not, what is?
Is it possible that the app that they build doesn't support Gradle?
It is possible that they are not currently building the app with Gradle, but highly unlikely that the app could not be built with Gradle.
What scenarios are those, so I can influence decisions?
The most likely scenario where they are not building with Gradle, is that they use the Eclipse IDE to develop the app. Eclipse projects have historically been built more often with Ant or Maven. But an Eclipse project can be built with Gradle. That said, configuring an Android project to be built with Gradle is not a requirement to build that project with Jenkins. Ant, Maven, and other build tools play nice with Jenkins also. So, if your dev team is using a build tool other than Gradle, that shouldn't be a blocker for you. You should be able to accommodate them, if that's going to cause less friction.
Maybe Gradle isn't the latest thing, if not, what is?
I'm not sure about latest, but Gradle does currently have a lot of momentum as the build tool of choice for Android projects because it is the default build tool for Android Studio (which is positioned to replace Eclipse as the default Android IDE).
So, my advice would be to ask your dev team what IDE and build tool they are currently using, and go from there... (if they use Eclipse and you want to build with Gradle: Is it possible to use the Gradle build system for Android with Eclipse?)
Source: At the company I work for, I develop two Android apps and make daily builds with Jenkins. A few months ago I switched from Eclipse (Ant) to Android Studio (Gradle).
I hope this was helpful. I have not answered many questions on here so I'm not entirely sure I'm doing it right. :)

Eclipse and gradle android-library projects

I have a main Android project which references 4 other Android-Library projects in gradle. It compiles just fine and i can deploy it via gradle commandline, however I would like to debug my code using eclipse.
Whenever I load up the projects in Eclipse using the gradle integration plugin for Eclipse, eclipse won't even recognize them as library projects and instead treats them like normal android applications. Is this behavior normal or is something wrong with my gradle build script or does eclipse simply not support such a setup yet? Running/debugging the main application in eclipse just installs the individual libraries as regular applications which results in my main application not being able to find the specified classes.
My gradle build script is basically a c&p from Mike Gouline's sample project https://github.com/mgouline/android-samples with "apply: android" replaced with "apply: android-library" for my library projects.
Eclipse doesn't properly support Android Gradle projects. The Android plugin has a lot of specialized support for android-library modules that Eclipse's Gradle integration doesn't know about. For the time being, if you want full IDE support for Android/Gradle, Android Studio or IntelliJ with the Android plugin are your only choices.
We know the situation for people who are using the Gradle build system and want to use Eclipse isn't great; it's something we're thinking about, but we don't have anything definite on the roadmap yet.

Categories

Resources