Add Firebase in a non Gradle Android project - android

I want to add Firebase Analytics in my Android project but the problem is that all off the documentation I found usees Gradle and my project (which is based on Chromium project) does not use Gradle.
Do you have any idea how can I do this? Thx.

Related

How to access LibraryExtension in custom gradle plugin

I would like to write a custom gradle plugin that manipulates either com.android.build.gradle.AppExtension or com.android.build.gradle.LibraryExtension. The basic form of the plugin is:
class AndroidLibrary : Plugin<Project> {
override fun apply(project: Project) {
var lib: LibraryExtension = project.extensions.getByName("android") as LibraryExtension
lib.minSdkVersion = "26"
}
}
The problem is that the class LibraryExtension cannot be resolved. That class is contained in "com.android.tools.build:gradle:7.1.2". Note, there is no problem accessing either of these classes in a gradle.build.kts script file. I just can't access either of those classes from within a custom plugin like seen above. I've tried adding a dependency to com.android.tools.build.gradle 7.1.2 in the build script, but that doesn't work. I also tried adding it as a buildscript dependency, and that didn't help either. I also got the
com.android.tools.build:gradle jar file and added it as a dependency, but that too didn't work.
It seems to me to be reasonable to expect a custom plugin of being able to manipulate the android build settings but I just can't find a way to resolve either LibraryExtension or AppExtension from within the custom plugin project.
If someone knows what I need to do to resolve those two classes, that would be greatly appreciated. I'm currently under the impression, that this is an architectural limitation of with android's gradle plugin and that I really can't access the "android" build section using LibraryExtension or AppExtension from a custom plugin and dsl. If that is the case, that too would be useful to know.
check this answer for your question, it is gonna solve your problem.
Initially I was building the plugin using IDEA. I could build the project by using a "gradlew build" command. I noticed that I would get the following message whenever I tried to sync the project:
This version of the Android Support plugin for IntelliJ IDEA (or Android Studio) cannot open this project, please retry with version 2020.1.1 or newer
I had been ignoring that issue since I could successfully build the project using gradle commands. Here's a link the explains what the message means: https://intellij-support.jetbrains.com/hc/en-us/community/posts/4405168877202-This-version-of-the-Android-Support-plugin-for-IntelliJ-IDEA-or-Android-Studio-cannot-open-this-project-please-retry-with-version-2020-3-1-or-newer-
One of the suggestions to this problem was to build the project in Android Studio instead of waiting for IDEA to incorporate later android build. I did that and that indeed fixed that issue. The additional side effect was that I could now build the plugin. I was able to add dependencies for both gradleApi and to com.android.build.gradle and was able to resolve AppExtension of LibraryExtension. I had added the same dependencies I when I was using IDEA IDE. I had been customarily building my custom gradle plugin using IDEA. This was my first custom gradle plugin that I was going to manipulate an "android" build configuration.

App close Due to method setSkuID not initialize in com.mapbox.android.telemetry.AppUserTurnstile

I am new to maptiler mapbox development , I download app from maptiler. now I am trying to build that app in to my android studio. but there are some errors. I am following it's ReadMe file . I put dependency MapboxGLAndroidSDK.aar in to lib and also apply mapbox public token and secret token at appropriate place as per ReadMe steps . but still I can't run app due to following error:
NoSuchMethodError: No virtual Method setSkuId(Ljava/lang/string;)V in class Lcom/mapbox/android/telemetry/AppUserTurnstile; or its super class
these are my mapbox dependencies:
com.mapbox.mapboxsdk:mapbox-core:4.3.0
com.mapbox.mapboxsdk:mapbox-services:4.3.0
com.mapbox.mapboxsdk:mapbox-geojson:4.3.0
com.mapbox.mapboxsdk:mapbox-android-telemetry:4.3.0
com.mapbox.mapboxsdk:mapbox-android-gestures:0.4.0
these all are prebuild dependencies now I am working with offline mode so if I have to apply more dependency I have to Downoload jar/aar for it. please suggest me some way to solve these error and successful run .Thanks
finally I found a way to run my project.
the conclusion is Mapbox updated it all library and split some. So I have to download all (.aar)Libraries from Maven repository and add it to my projects as library dependency to resolve issue regarding Mapbox library.
recently I updated following library with latest version .aar file:
mapbox-android-sdk
mapbox-sdk-services
mapbox-sdk-turf
mapbox-android-telemetry
mapbox-sdk-geojson
mapbox-android-core
mapbox-android-gestures
If you have internet connectivity you can directly upgrade all the library.
otherwise you can download from this link

Firebase Crashlytics invalid api KEY AndroidX Gradle 3

Like many people, I am not able to add my application with Firebase Crashlytics.
I followed all the steps from the official documentation.
Also I previously checked and added my application to Firebase and everything is working fine.
My issue is the following:
ERROR - Crashlytics Developer Tools error.
java.lang.IllegalArgumentException: Crashlytics found an invalid API key: null.
Check the Crashlytics plugin to make sure that the application has been added successfully!
Contact support#fabric.io for assistance.
I have the google-services.json file set correctly.. From the official documentation, it should works now without anything else to do..
Edit - Solution
Like I said in the comments, I found the issue. It's because of the Gradle version that I was using. I moved my project to support AndroidX and I was using the latest version 3.3+ but with this version the google-services.json file is not parsed during the build phase. It is resolved with the 3.2+ version.
From Firebase team, only stable version are working.
Is your project built to support instant apps (i.e. you have a base feature module, installable module, and instant app module)? I've been dealing with this exact error for the last day and a half, and what finally fixed it for me was adding crashlytics { instantAppSupport true } to the bottom of my gradle file for my base feature module. If you are built for instant apps, this might be worth a shot.
Are you sure you have added the Crashlytics API Key in one of these files?
AndroidManifest.xml:
<meta-data
android:name="io.fabric.ApiKey"
android:value="xxxxxxxxxxxxxxxxxxxxxxxxxxx" />
Fabric Properties:
# Fabric properties file: app/fabric.properties
apiSecret=xxxxxxxxxxxxxxxxxxxxxxxxxxx
apiKey=xxxxxxxxxxxxxxxxxxxxxxxxxxx

Depend on GitHub repository in Android Studio

I'm working on an Android app using Android Studio. So far I've been using mavenCentral to depend on all required libraries but now I'd like to add bitcoinj-0.13-SNAPSHOT dependency which is not yet present on mavenCentral.
Is it possible to somehow instruct gradle to get it directly from GitHub repo which is located here: https://github.com/bitcoinj/bitcoinj/tree/master?
For projects that are not yet in mavenCentral you can use JitPack
It will build the github repo for you and provide you with a dependency.

Android Studio Google Cloud Endpoints Run/Debug Config Error

I am a beginner for Android Cloud Endpoints. I am trying to create a backend module in Android Studio 1.0 RC2. Everything seems okay while creating a backend endpoint module (https://github.com/GoogleCloudPlatform/gradle-appengine-templates/tree/master/HelloEndpoints). The gradle builds successfully. But when I wanted to debug locally, I found the problem. It said, "App Engine Gradle configuration not detected on module, maybe you need to Sync Project with Gradle".
I tried to rebuild the whole project, it builds successfully. But the error remains.
This is the screenshot: https://www.dropbox.com/s/tvuv52ldmr0yzvs/Screen%20Shot%202014-11-27%20at%204.21.14%20pm.png?dl=0
Thank a lot.
This was a recently introduced bug that has since been fixed in Android Studio 1.0.
I am not sure if it is the solution. But this is what I did. I created another new project (the problem happened in existing project that I migrated from Android Studio 0.8.9 to 1.0 RC2. I added new module for Google Cloud EndPoints. Initially it was same problem (there is same error in debug config as above, although it can build the whole project successfully.) But after I changed the build.gradle file in backend module to gradle-appengine-plugin:1.9.17 (latest), the new project backend was okay.
dependencies {
classpath 'com.google.appengine:gradle-appengine-plugin:1.9.17'
}
dependencies {
appengineSdk 'com.google.appengine:appengine-java-sdk:1.9.17'
compile 'com.google.appengine:appengine-endpoints:1.9.17'
compile 'com.google.appengine:appengine-endpoints-deps:1.9.17'
compile 'javax.servlet:servlet-api:2.5' }
I tried to change the build.gradle file in my migrated projects, but still failed. So, what I did was copy the content from new project
backend.iml
file into my migrated project backend.iml. And it works.

Categories

Resources