Errors when adding firebase to a project that calls Microsoft graph - android

I am trying to add firebase to a existing application which involves adding:
classpath 'com.google.gms:google-services:4.3.3'
as dependency to the project level build.gradle, and adding:
apply plugin: 'com.google.gms.google-services'
as a plugin to the app level build.gradle.
The project that I am building upon is "Sign users in/out and call the Microsoft Graph from an Android app"
https://learn.microsoft.com/en-us/azure/active-directory/develop/tutorial-v2-android
Project level build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
apply from: rootProject.file("gradle/versions.gradle")
repositories {
google()
jcenter()
}
dependencies {
classpath "com.android.tools.build:gradle:$rootProject.ext.gradleVersion"
classpath 'com.google.gms:google-services:4.3.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
App level build.gradle
apply plugin: 'com.android.application'
allprojects {
repositories {
mavenCentral()
google()
mavenLocal()
maven {
name "vsts-maven-adal-android"
url "https://identitydivision.pkgs.visualstudio.com/_packaging/AndroidADAL/maven/v1"
credentials {
username System.getenv("ENV_VSTS_MVN_ANDROIDADAL_USERNAME") != null ? System.getenv("ENV_VSTS_MVN_ANDROIDADAL_USERNAME") : project.findProperty("vstsUsername")
password System.getenv("ENV_VSTS_MVN_ANDROIDADAL_ACCESSTOKEN") != null ? System.getenv("ENV_VSTS_MVN_ANDROIDADAL_ACCESSTOKEN") : project.findProperty("vstsMavenAccessToken")
}
}
jcenter()
}
}
android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
defaultConfig {
applicationId "[com.*.*]"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "1.0"
}
signingConfigs {
debug {
storeFile file("../gradle/debug.keystore")
storePassword 'android'
keyAlias 'androiddebugkey'
keyPassword 'android'
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
flavorDimensions "main"
productFlavors {
local {
// To be used with android-complete only.
// So that it could look for the 'local' flavor in Broker projects.
matchingFallbacks = ['local']
}
external {}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "androidx.appcompat:appcompat:$rootProject.ext.appCompatVersion"
implementation "com.google.android.material:material:$rootProject.ext.materialVersion"
implementation 'com.google.firebase:firebase-analytics:17.2.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'com.android.volley:volley:1.1.1'
if (findProject(':msal') != null) {
// For developer team only.
localImplementation project(':msal')
externalImplementation 'com.microsoft.identity.client:msal:1.0.+'
} else {
// Downloads and Builds MSAL from maven central.
implementation 'com.microsoft.identity.client:msal:1.0.+'
}
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'com.google.android.material:material:1.0.0'
}
apply plugin: 'com.google.gms.google-services'
Below is versions.gradle
// Variables for entire project
ext {
// SDK
minSdkVersion = 16
automationAppMinSDKVersion = 21
targetSdkVersion = 27
compileSdkVersion = 28
buildToolsVersion = "28.0.3"
// Plugins
gradleVersion = '3.2.1'
androidMavenGradlePluginVersion = "1.4.1"
// Libraries
annotationVersion = "1.0.0"
appCompatVersion = "1.0.2"
browserVersion = "1.0.0"
dexmakerMockitoVersion = "1.4"
espressoCoreVersion = "3.1.0"
gsonVersion = "2.8.5"
junitVersion = "4.12"
legacySupportV4Version = "1.0.0"
localBroadcastManagerVersion = "1.0.0"
materialVersion = "1.0.0"
mockitoCoreVersion = "2.18.3"
mockitoAndroidVersion = "2.18.3"
multidexVersion = "2.0.1"
powerMockVersion = "1.6.6"
nimbusVersion = "5.7"
runnerVersion = "1.2.0"
rulesVersion = "1.2.0"
// TODO: adal automation test app.
supportLibraryVersion = "27.1.+"
adalLegacy = "1.15.0"
}
Error when syncing project
org.gradle.api.ProjectConfigurationException: A problem occurred configuring project ':app'.
Caused by: org.gradle.api.GradleScriptException: A problem occurred evaluating project ':app'.
Caused by: java.lang.NoSuchFieldError: ASCII
at com.android.build.gradle.BasePlugin.checkPathForErrors(BasePlugin.java:1006)
at com.android.build.gradle.BasePlugin.apply(BasePlugin.java:261)
at com.android.build.gradle.AbstractAppPlugin.apply(AbstractAppPlugin.java:122)
at com.android.build.gradle.AppPlugin.apply(AppPlugin.java:43)

I had the same problem. I was able to solve it by using classpath 'com.google.gms:google-services:4.0.0' instead of classpath 'com.google.gms:google-services:4.3.3'. Build this to see another type of error. Then do invalidate cache and restart on Android studio from the File menu. Then on restart, your build should be successful. You might also need to use 'com.google.firebase:firebase-analytics:16.0.0' instead of the current version

Related

I can't publish an android library using maven-publish plugin

I have an android project inside the project I have an android module. I try to publish an maven artifact but I got the next message Publications(s) specified but no publications exist in project :.
My project build.gradle is the next:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext.kotlin_version = "1.3.72"
repositories {
google()
jcenter()
}
dependencies {
classpath "com.android.tools.build:gradle:4.0.0"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
plugins {
id "com.jfrog.bintray" version "1.8.5"
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
My gradle module is the next:
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'maven-publish'
android {
compileSdkVersion 29
buildToolsVersion "30.0.0"
defaultConfig {
minSdkVersion 21
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'androidx.core:core-ktx:1.3.0'
implementation 'androidx.appcompat:appcompat:1.1.0'
testImplementation 'junit:junit:4.13'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.7'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.7'
}
afterEvaluate {
publishing {
publications {
// Creates a Maven publication called "release".
release(MavenPublication) {
// Applies the component for the release build variant.
from components.release
// You can then customize attributes of the publication as shown below.
groupId = 'io.github.rockbass2560'
artifactId = 'imageprogress'
version = '1.0.0'
}
}
}
}
def localProperties = new Properties()
localProperties.load(new FileInputStream(rootProject.file("local.properties")))
bintray {
user = localProperties.getProperty("bintray.user")
key = localProperties.getProperty("bintray.apikey")
publications = ['release']
pkg {
repo = 'imageprogress'
name = 'imageprogress'
userOrg = user
licenses = ['Apache-2.0']
vcsUrl = 'https://github.com/rockbass2560/ImageProgress.git'
version {
name = '1.0-Final'
desc = 'First version for ImageProgress plugin'
released = new Date()
vcsTag = '1.0.0'
attributes = ['version': '1','released':true]
}
}
}
I have made tutorials on android page and other pages but I can't get fix the issue.

Firebase Crashlytics vs Fabric Crashlytics

I was integrating Crashlytics following this article
https://firebase.google.com/docs/crashlytics/get-started
This is my project level gradle
buildscript {
repositories {
google()
jcenter()
maven {
url 'https://maven.fabric.io/public'
}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.google.gms:google-services:4.2.0'
// Add dependency
classpath 'io.fabric.tools:gradle:1.27.0'
}
}
allprojects {
repositories {
google()
jcenter()
maven { url 'https://maven.google.com' }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
// Define versions in a single place
ext {
// Sdk and tools
minSdkVersion = 16
targetSdkVersion = 28
compileSdkVersion = 28
// App dependencies
supportLibraryVersion = '27.1.1'
sqlbriteVersion = '0.7.0'
rxjavaVersion = '2.0.8'
rxandroidVersion = '2.0.1'
retrofitVersion = '2.3.0'
daggerVersion = '2.11'
playServicesVersion = '16.0.0'
constraintLayoutVersion='2.0.0-alpha2'
roomVersion = '1.0.0'
picassoVersion = '2.5.2'
flexboxVersion = '0.3.2'
firebaseMessagingVersion='17.3.4'
firebaseCoreVersion='16.0.6'
crashlyticsVersion='2.9.8'
}
This is my app level gradle
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
android {
compileSdkVersion 27
defaultConfig {
applicationId "com.seed.app"
minSdkVersion 17
targetSdkVersion 26
multiDexEnabled true
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
//dagger
compile "com.google.dagger:dagger:$rootProject.daggerVersion"
annotationProcessor "com.google.dagger:dagger-compiler:$rootProject.daggerVersion"
compile "com.google.dagger:dagger-android:$rootProject.daggerVersion"
compile "com.google.dagger:dagger-android-support:$rootProject.daggerVersion"
implementation 'com.android.support:multidex:1.0.3'
//firebase
implementation "com.google.firebase:firebase-messaging:$rootProject.firebaseMessagingVersion"
implementation "com.google.firebase:firebase-core:$rootProject.firebaseCoreVersion"
// Crashlytics
implementation "com.crashlytics.sdk.android:crashlytics:$rootProject.crashlyticsVersion"
}
repositories {
mavenCentral()
}
apply plugin: 'com.google.gms.google-services'
This is how I crash my application in the MainActivity.
Crashlytics.getInstance().crash();
I am unable to get any errors in my firebase console and get an error message in the log
2019-01-02 20:36:55.139 21274-21274/com.seed.app E/CrashlyticsCore: This app relies on Crashlytics. Please sign up for access at https://fabric.io/sign_up,
install an Android build tool and ask a team member to invite you to this app's organization.
What has my crashlytics installation gotta do with Fabric?
I was able to get this to work by repositioning the apply plugins in my app gradle to
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'io.fabric'

Firebase not working?

Creating a Firebase Push Notification application in android studio. i did everything and searched everywhere but i could not get any solution. i am getting this same error again and again. Let me post my Gradle files code. please i desperately need help.
Program type already present: com.google.android.gms.common.AccountPicker
and some times
Program type already present: com.google.android.gms.maps.CameraUpdate
here is my app gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
defaultConfig {
applicationId "com.Package.Myapp"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 2
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile("com.android.support.test.espresso:espresso-core:$rootProject.ext.espressoVersion", {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile "com.android.support:appcompat-v7:$rootProject.ext.supportLibraryVersion"
compile "com.android.support.constraint:constraint-layout:$rootProject.ext.constraintLayoutVersion"
compile "com.google.firebase:firebase-messaging:$rootProject.ext.gmsVersion"
compile "com.google.android.gms:play-services-vision:$rootProject.ext.gmsVersion"
compile "com.google.android.gms:play-services-maps:$rootProject.ext.gmsVersion"
testCompile "junit:junit:$rootProject.ext.junitVersion"
}
apply plugin: 'com.google.gms.google-services'
And here is my project gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
maven {
url "https://maven.google.com"
}
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.1'
classpath 'com.google.gms:google-services:3.0.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
google()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
ext{
// Sdk and tools
minSdkVersion = 15
targetSdkVersion = 26
compileSdkVersion = 26
buildToolsVersion = '26.0.2'
// App dependencies
gmsVersion = "11.0.0"
supportLibraryVersion = '27.0.2'
guavaVersion = '18.0'
junitVersion = '4.12'
mockitoVersion = '1.10.19'
powerMockito = '1.6.2'
hamcrestVersion = '1.3'
runnerVersion = '0.5'
rulesVersion = '0.5'
espressoVersion = '2.2.2'
constraintLayoutVersion = "1.0.2"
}
its a simple webview wrapper application. and i am trying to implement Firebase push notification service on it.
On your project gradle file try replace this line
classpath 'com.google.gms:google-services:3.0.0'
with this:
classpath 'com.google.gms:google-services:3.2.0'
Also you may try to update these versions:
buildToolsVersion = '27.0.3'
supportLibraryVersion = '27.1.1'

Gradle install error: Javadoc

I am trying to upload a android library automatically into bintray.
I have this app gradle code:
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
ext {
bintrayRepo = 'maven'
bintrayName = 'CurrentCenterPositionMap'
publishedGroupId = 'renatamelo#patriauto.org'
libraryName = 'CurrentCenterPositionMap'
artifact = 'current-center-position-map'
libraryDescription = 'A library to mark the center of a map with moveing animations'
siteUrl = 'https://github.com/leandroBorgesFerreira/CurrentCenterPositionMap'
gitUrl = 'https://github.com/leandroBorgesFerreira/CurrentCenterPositionMap.git'
libraryVersion = '0.8.1'
developerId = 'leandroBorgesFerreira'
developerName = 'Leandro Borges Ferreira'
developerEmail = 'lehen01#gmail.com'
licenseName = 'The Apache Software License, Version 2.0'
licenseUrl = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
allLicenses = ["Apache-2.0"]
}
android {
compileSdkVersion 24
buildToolsVersion "24.0.1"
defaultConfig {
minSdkVersion 16
targetSdkVersion 24
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:24.2.1'
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}
repositories {
mavenCentral()
}
// Place it at the end of the file
apply from: 'https://raw.githubusercontent.com/nuuneoi/JCenter/master/installv1.gradle'
apply from: 'https://raw.githubusercontent.com/nuuneoi/JCenter/master/bintrayv1.gradle'
And this project gradle:
buildscript {
ext.kotlin_version = '1.0.4'
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.2'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.4'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
But when I run:
./gradlew install
I get this error:
javadoc: error - Illegal package name: "/Users/hinovamobile/Desktop/Leandro/projetinhos/CurrentCenterPositionMap/mapfragmentwrapper/src/main/java/br/com/simplepass/mapfragmentwrapper/MapFragmentWrapper.kt"
1 error
:mapfragmentwrapper:javadoc FAILED
So what I am doing wrong? I'm not sure how to fix this error in the Javadoc...
Try using gradle-fury's scripts to generate javadoc. It does a different version for each android variant, supports umldocs via graphviz, the doc-html folder structure and more. For both Java and Android
Once the scripts are applied to your setup, make the javadocs via
gradlew install -Pprofile=javadoc
https://github.com/gradle-fury/gradle-fury
In your main gradle file, add the following lines:
tasks.withType(Javadoc).all {
enabled = false
}
Note: this will still normally show the javadocs when you press control + space on top of a class or method.
If you want to read more details check this link: https://github.com/novoda/bintray-release/issues/71

Android AppCompact v7-23 theme broken

I am starting new android project from android studio. Below is the login screen i see . I don't know what i am missing out here.
I have no idea why is the accentColor is being shown something like this?
build.gradle ( module level )
apply plugin: 'com.android.application'
android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
defaultConfig {
applicationId "com.example.myapplication"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:' + rootProject.ext.junitVersion
compile 'com.loopj.android:android-async-http:' + rootProject.ext.loopjHttpAsyncTask
compile 'com.roughike:bottom-bar:' + rootProject.ext.bottomBar
compile 'com.android.support:appcompat-v7:' + rootProject.ext.supportLibraryVersion
compile 'com.android.support:design:' + rootProject.ext.supportLibraryVersion
}
build.gradle (project level)
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.0-alpha3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
ext {
//app related
compileSdkVersion = 23
buildToolsVersion = "23.0.3"
minSdkVersion = 16
targetSdkVersion = 23
//android related library
constraintLayout = "1.0.0-alpha3"
junitVersion = "4.12"
supportLibraryVersion = "23.3.0"
//custom libraries
bottomBar = "1.3.9"
loopjHttpAsyncTask = "1.4.9"
}
The issue caused by gradle build-tool version. Changing build tool version to stable one would solve it
replace
classpath 'com.android.tools.build:gradle:2.2.0-alpha3'
with
classpath 'com.android.tools.build:gradle:2.1.0'

Categories

Resources