Firebase Storage stopped downloading files for some users - firebase

Everything was working fine. I did not change any code. Today some of my users can not download files from firebase storage and others can download the files.
Non-fatal Exception: com.google.firebase.storage.StorageException: The operation retry limit has been exceeded.
at com.google.firebase.storage.network.NetworkRequest.completeTask(NetworkRequest.java:539)
at com.google.firebase.storage.GetDownloadUrlTask.run(GetDownloadUrlTask.java:85)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
Caused by java.io.IOException
at com.google.firebase.storage.network.NetworkRequest.parseResponse(NetworkRequest.java:445)
at com.google.firebase.storage.network.NetworkRequest.parseErrorResponse(NetworkRequest.java:462)
at com.google.firebase.storage.network.NetworkRequest.processResponseStream(NetworkRequest.java:453)
at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:272)
at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:289)
at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:113)
at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:68)
at com.google.firebase.storage.GetDownloadUrlTask.run(GetDownloadUrlTask.java:77)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)

Related

FirebaseError: Installations: Create Installation request failed with error "403 PERMISSION_DENIED

I was working with Firebase with Angular framework in a project. I was using Firebase for sending push notifications. I followed this medium article and did like this. Everything was perfect up to allowing notification alerts. But after that token didn't print on the console and this error popped up.
`
notifications.component.ts:169 FirebaseError: Installations: Create Installation request failed with error "403 PERMISSION_DENIED: Requests to this API firebaseinstallations.googleapis.com method google.firebase.installations.v1.FirebaseInstallationsService.CreateInstallation are blocked." (installations/request-failed).
at index.esm2017.js:94:26
at Generator.next (<anonymous>)
at asyncGeneratorStep (asyncToGenerator.js:3:1)
at _next (asyncToGenerator.js:25:1)
at ZoneDelegate.invoke (zone.js:372:1)
at Object.onInvoke (core.mjs:25488:1)
at ZoneDelegate.invoke (zone.js:371:1)
at Zone.run (zone.js:134:1)
at zone.js:1276:1
at ZoneDelegate.invokeTask (zone.js:406:1)
`
And I found this StackOverflow answer as well and I did the same as that suggested. But still it gives the error.
Can someone help me with this?

firebase-admin fails with error maxretry without much information about the underlying cause and stops the node script also

I have a mobile and web app that use firebase realtime database and there are some long running tasks which are served on servers with the help of firebase-queue and firebase-admin. The long running tasks is to find out who else is using the mobile app in a person's contact book. So, if you install the app, the app will send a task to the server with your contact book data and ask it to find the people in the contact book who are also using the app. Every now and then I see two types of errors in the logs. First error is below which also cause the node process to stop.
/Users/varungupta/Projects/myapp-server/node_modules/#firebase/database-compat/dist/index.standalone.js:15373
return queue[i].onComplete(new Error(abortReason), false, null);
^
Error: maxretry
at /Users/varungupta/Projects/myapp-server/node_modules/#firebase/database-compat/dist/index.standalone.js:15373:52
at exceptionGuard (/Users/varungupta/Projects/myapp-server/node_modules/#firebase/database-compat/dist/index.standalone.js:4018:9)
at repoRerunTransactionQueue (/Users/varungupta/Projects/myapp-server/node_modules/#firebase/database-compat/dist/index.standalone.js:15386:9)
at repoRerunTransactions (/Users/varungupta/Projects/myapp-server/node_modules/#firebase/database-compat/dist/index.standalone.js:15279:5)
at /Users/varungupta/Projects/myapp-server/node_modules/#firebase/database-compat/dist/index.standalone.js:15260:13
at /Users/varungupta/Projects/myapp-server/node_modules/#firebase/database-compat/dist/index.standalone.js:7061:17
at PersistentConnection.onDataMessage_ (/Users/varungupta/Projects/myapp-server/node_modules/#firebase/database-compat/dist/index.standalone.js:7088:17)
at Connection.onDataMessage_ (/Users/varungupta/Projects/myapp-server/node_modules/#firebase/database-compat/dist/index.standalone.js:5882:14)
at Connection.onPrimaryMessageReceived_ (/Users/varungupta/Projects/myapp-server/node_modules/#firebase/database-compat/dist/index.standalone.js:5876:18)
at WebSocketConnection.onMessage (/Users/varungupta/Projects/myapp-server/node_modules/#firebase/database-compat/dist/index.standalone.js:5778:27)
at WebSocketConnection.appendFrame_ (/Users/varungupta/Projects/myapp-server/node_modules/#firebase/database-compat/dist/index.standalone.js:4491:18)
at WebSocketConnection.handleIncomingFrame (/Users/varungupta/Projects/myapp-server/node_modules/#firebase/database-compat/dist/index.standalone.js:4539:22)
at Client.mySock.onmessage (/Users/varungupta/Projects/myapp-server/node_modules/#firebase/database-compat/dist/index.standalone.js:4438:19)
at Client.dispatchEvent (/Users/varungupta/Projects/myapp-server/node_modules/#firebase/database-compat/dist/index.standalone.js:2883:30)
at Client._receiveMessage (/Users/varungupta/Projects/myapp-server/node_modules/#firebase/database-compat/dist/index.standalone.js:3042:10)
at Client$2.<anonymous> (/Users/varungupta/Projects/myapp-server/node_modules/#firebase/database-compat/dist/index.standalone.js:2924:49)
at Client$2.emit (node:events:539:35)
at Client$2.emit (node:domain:475:12)
at Client$2.<anonymous> (/Users/varungupta/Projects/myapp-server/node_modules/#firebase/database-compat/dist/index.standalone.js:2186:14)
at pipe (/Users/varungupta/Projects/myapp-server/node_modules/#firebase/database-compat/dist/index.standalone.js:1503:40)
at Pipeline$1._loop (/Users/varungupta/Projects/myapp-server/node_modules/#firebase/database-compat/dist/index.standalone.js:1510:3)
at Pipeline$1.processIncomingMessage (/Users/varungupta/Projects/myapp-server/node_modules/#firebase/database-compat/dist/index.standalone.js:1479:8)
at Extensions$1.processIncomingMessage (/Users/varungupta/Projects/myapp-server/node_modules/#firebase/database-compat/dist/index.standalone.js:1645:20)
at Client$2._emitMessage (/Users/varungupta/Projects/myapp-server/node_modules/#firebase/database-compat/dist/index.standalone.js:2177:22)
at Client$2._emitFrame (/Users/varungupta/Projects/myapp-server/node_modules/#firebase/database-compat/dist/index.standalone.js:2137:19)
at Client$2.parse (/Users/varungupta/Projects/myapp-server/node_modules/#firebase/database-compat/dist/index.standalone.js:1863:18)
at Client$2.parse (/Users/varungupta/Projects/myapp-server/node_modules/#firebase/database-compat/dist/index.standalone.js:2369:60)
at IO.write (/Users/varungupta/Projects/myapp-server/node_modules/#firebase/database-compat/dist/index.standalone.js:186:16)
at TLSSocket.ondata (node:internal/streams/readable:754:22)
at TLSSocket.emit (node:events:527:28)
at TLSSocket.emit (node:domain:475:12)
at addChunk (node:internal/streams/readable:315:12)
at readableAddChunk (node:internal/streams/readable:289:9)
at TLSSocket.Readable.push (node:internal/streams/readable:228:10)
at TLSWrap.onStreamRead (node:internal/stream_base_commons:190:23)
There isn't much information about what exactly caused the maxretry error. The error happens at random after a few days of running the script. It doesn't happen right away.
The second error that I see that isn't as disruptive as the one above is
[2022-06-01T10:30:49.722Z] #firebase/database: FIREBASE WARNING: transaction at /queue/tasks/-N3TDQCAdt4y-akb0_MK failed: disconnect
This doesn't stop the node process and I can see that a transaction failed but not sure why did it disconnect and how can I resolve this problem.
I am using firebase-admin 9.6.0.

Multiple transactions to same document failure in flutter firestore

I am been trying to implement multiple transactions to the same document in flutter application which is using firestore as a its database, but it is crashing the application. The same thing when it was implemented in native apps of Xcode or android studio this issue didn't occur for even once.
Is there any guide how to make multiple transactions successful in flutter firestore.
For Instance, if more than 1 user from different devices is making the transaction to the same document at the same time, the transaction fails and the app crashes.
How could this be resolved?
Firestore.instance.runTransaction((Transaction tx) async {
DocumentSnapshot postSnapshot = await tx.get(docRef);
if (postSnapshot.exists) {
await tx.update(docRef, <String, dynamic>{'likes': postSnapshot.data['likes'] + 1});
// print("transaction completed");
}
})
ERROR LOGS
2020-05-27 18:43:14.529 1022-1344/dev.jideguru.social_app_ui
E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #4 Process:
dev.jideguru.social_app_ui, PID: 1022 java.lang.RuntimeException: An
error occurred while executing doInBackground() at
android.os.AsyncTask$3.done(AsyncTask.java:353) at
java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
at java.util.concurrent.FutureTask.run(FutureTask.java:271) at
android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245) at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764) Caused by:
java.lang.AssertionError: INTERNAL ASSERTION FAILED: A transaction
object cannot be used after its update callback has been invoked. at
com.google.firebase.firestore.util.Assert.fail(com.google.firebase:firebase-firestore##21.3.0:46)
at
com.google.firebase.firestore.util.Assert.hardAssert(com.google.firebase:firebase-firestore##21.3.0:31)
at
com.google.firebase.firestore.core.Transaction.ensureCommitNotCalled(com.google.firebase:firebase-firestore##21.3.0:246)
at
com.google.firebase.firestore.core.Transaction.lookup(com.google.firebase:firebase-firestore##21.3.0:81)
at
com.google.firebase.firestore.Transaction.getAsync(com.google.firebase:firebase-firestore##21.3.0:191)
at
com.google.firebase.firestore.Transaction.get(com.google.firebase:firebase-firestore##21.3.0:228)
at
io.flutter.plugins.firebase.cloudfirestore.CloudFirestorePlugin$5.doInBackground(CloudFirestorePlugin.java:613)
at
io.flutter.plugins.firebase.cloudfirestore.CloudFirestorePlugin$5.doInBackground(CloudFirestorePlugin.java:608)
at android.os.AsyncTask$2.call(AsyncTask.java:333) at
java.util.concurrent.FutureTask.run(FutureTask.java:266) at
android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245) at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764) 2020-05-27 18:43:14.529
1022-1346/dev.jideguru.social_app_ui E/AndroidRuntime: FATAL
EXCEPTION: AsyncTask #6 Process: dev.jideguru.social_app_ui, PID: 1022
java.lang.RuntimeException: An error occurred while executing
doInBackground() at android.os.AsyncTask$3.done(AsyncTask.java:353) at
java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
at java.util.concurrent.FutureTask.run(FutureTask.java:271) at
android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245) at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764) Caused by:
java.lang.AssertionError: INTERNAL ASSERTION FAILED: A transaction
object cannot be used after its update callback has been invoked. at
com.google.firebase.firestore.util.Assert.fail(com.google.firebase:firebase-firestore##21.3.0:46)
at
com.google.firebase.firestore.util.Assert.hardAssert(com.google.firebase:firebase-firestore##21.3.0:31)
at
com.google.firebase.firestore.core.Transaction.ensureCommitNotCalled(com.google.firebase:firebase-firestore##21.3.0:246)
at
com.google.firebase.firestore.core.Transaction.lookup(com.google.firebase:firebase-firestore##21.3.0:81)
at
com.google.firebase.firestore.Transaction.getAsync(com.google.firebase:firebase-firestore##21.3.0:191)
at
com.google.firebase.firestore.Transaction.get(com.google.firebase:firebase-firestore##21.3.0:228)
at
io.flutter.plugins.firebase.cloudfirestore.CloudFirestorePlugin$5.doInBackground(CloudFirestorePlugin.java:613)
at
io.flutter.plugins.firebase.cloudfirestore.CloudFirestorePlugin$5.doInBackground(CloudFirestorePlugin.java:608)
at android.os.AsyncTask$2.call(AsyncTask.java:333) at
java.util.concurrent.FutureTask.run(FutureTask.java:266) at
android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245) at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Link To the Issue
Caused by: java.lang.AssertionError: INTERNAL ASSERTION FAILED: A transaction object cannot be used after its update callback has been invoked.
It looks like the transaction is being used after it's been committed/canceled.
This is a known issue in the FlutterFire library, as recorded in this issue on the open-source repo.
There is a workaround mentioned in this comment. So you can either try to apply that to your case, propose a PR that fixes the bug, or wait until somebody else fixes it.

How do I deobfuscate Proguard in Firebase Crashlytics

I am trying to integrate Firebase Crashlytics into my current project in Android Studio 3.1.4. The first time I forced a FirebaseCrash.report, I got this in my logcat:
08-10 07:25:25.114 16661-16718/com.example.android.twlistsales E/FirebaseCrash: Failed to initialize crash reporting
java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/internal/zzcaq;
at java.util.concurrent.FutureTask.report(FutureTask.java:123)
at java.util.concurrent.FutureTask.get(FutureTask.java:207)
at com.google.firebase.crash.zze.run(Unknown Source:6)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/internal/zzcaq;
at com.google.android.gms.internal.zzdzp.<clinit>(Unknown Source:8)
at com.google.android.gms.internal.zzdzp.initialize(Unknown Source:0)
at com.google.firebase.crash.zzc.zzbsq(Unknown Source:2)
at com.google.firebase.crash.zzd.call(Unknown Source:2)
at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) 
at java.lang.Thread.run(Thread.java:764) 
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.internal.zzcaq" on path: DexPathList[[zip file "/data/app/com.example.android.twlistsales-fs1zdAnDopYdjq5hyiS8pw==/base.apk", zip file "/data/app/com.example.android.twlistsales-fs1zdAnDopYdjq5hyiS8pw==/split_lib_dependencies_apk.apk", zip file "/data/app/com.example.android.twlistsales-fs1zdAnDopYdjq5hyiS8pw==/split_lib_resources_apk.apk", zip file "/data/app/com.example.android.twlistsales-fs1zdAnDopYdjq5hyiS8pw==/split_lib_slice_0_apk.apk", zip file "/data/app/com.example.android.twlistsales-fs1zdAnDopYdjq5hyiS8pw==/split_lib_slice_1_apk.apk", zip file "/data/app/com.example.android.twlistsales-fs1zdAnDopYdjq5hyiS8pw==/split_lib_slice_2_apk.apk", zip file "/data/app/com.example.android.twlistsales-fs1zdAnDopYdjq5hyiS8pw==/split_lib_slice_3_apk.apk", zip file "/data/app/com.example.android.twlistsales-fs1zdAnDopYdjq5hyiS8pw==/split_lib_slice_4_apk.apk", zip file "/data/app/com.example.android.twlistsales-fs1zdAnDopYdjq5hyiS8pw==/split_lib_slice_5_apk.apk", zip file "/data/app/com.example.android.twlistsales-fs1zdAnDopYdjq5hyiS8pw==/split_lib_slice_6_apk.apk", zip file "/data/app/com.example.android.twlistsales-fs1zdAnDopYdjq5hyiS8pw==/split_lib_slice_7_apk.apk", zip file "/data/app/com.example.android.twlistsales-fs1zdAnDopYdjq5hyiS8pw==/split_lib_slice_8_apk.apk", zip file "/data/app/com.example.android.twlistsales-fs1zdAnDopYdjq5hyiS8pw==/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/com.example.android.twlistsales-fs1zdAnDopYdjq5hyiS8pw==/lib/arm64, /system/lib64, /system/vendor/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:93)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at com.google.android.gms.internal.zzdzp.<clinit>(Unknown Source:8) 
at com.google.android.gms.internal.zzdzp.initialize(Unknown Source:0) 
at com.google.firebase.crash.zzc.zzbsq(Unknown Source:2) 
at com.google.firebase.crash.zzd.call(Unknown Source:2) 
at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) 
at java.lang.Thread.run(Thread.java:764) 
Suppressed: java.io.IOException: No original dex files found for dex location (arm64) /data/app/com.example.android.twlistsales-fs1zdAnDopYdjq5hyiS8pw==/split_lib_resources_apk.apk
at dalvik.system.DexFile.openDexFileNative(Native Method)
at dalvik.system.DexFile.openDexFile(DexFile.java:353)
at dalvik.system.DexFile.<init>(DexFile.java:100)
at dalvik.system.DexFile.<init>(DexFile.java:74)
at dalvik.system.DexPathList.loadDexFile(DexPathList.java:374)
at dalvik.system.DexPathList.makeDexElements(DexPathList.java:337)
at dalvik.system.DexPathList.<init>(DexPathList.java:157)
at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:65)
at dalvik.system.PathClassLoader.<init>(PathClassLoader.java:64)
at com.android.internal.os.PathClassLoaderFactory.createClassLoader(PathClassLoaderFactory.java:43)
at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:69)
at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:36)
at android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:678)
Then this:
08-10 07:25:25.115 16661-16718/com.example.android.twlistsales E/FirebaseCrash: at android.app.LoadedApk.getClassLoader(LoadedApk.java:711)
at android.app.LoadedApk.getResources(LoadedApk.java:944)
at android.app.ContextImpl.createAppContext(ContextImpl.java:2303)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5943)
at android.app.ActivityThread.-wrap1(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1764)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6944)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
Then this:
08-10 07:25:25.117 16661-16719/com.example.android.twlistsales E/FirebaseCrash: Failed waiting for crash api to load.
java.lang.InterruptedException
at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:1063)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1352)
at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:278)
at com.google.firebase.crash.FirebaseCrash.zzbsk(Unknown Source:6)
at com.google.firebase.crash.FirebaseCrash.zza(Unknown Source:0)
at com.google.firebase.crash.zza.run(Unknown Source:2)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
And finally this, which is the error that I forced:
08-10 07:25:25.907 16661-16722/com.example.android.twlistsales E/**ListSales - GetSales - doInBackground(): Attempt to get sales data from database failed due to JSON Exception
org.json.JSONException: Value Foo<br of type java.lang.String cannot be converted to JSONArray
at org.json.JSON.typeMismatch(JSON.java:111)
at org.json.JSONArray.<init>(JSONArray.java:96)
at org.json.JSONArray.<init>(JSONArray.java:108)
at com.example.android.twlistsales.ListSales$GetSales.doInBackground(ListSales.java:604)
at com.example.android.twlistsales.ListSales$GetSales.doInBackground(ListSales.java:555)
at android.os.AsyncTask$2.call(AsyncTask.java:333)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Does anyone know what is happening here? I'm new to Firebase and don't know my way around.
I'm guessing the problem relates to the instructions that I see when I click on Tools/Firebase/Crash Reporting, specifically step 5. It tells me to deobfuscate Proguard by adding this to my gradle files.
debug {
minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
The problem is that it doesn't tell me WHICH gradle file or WHERE in that file to put this code. Can someone enlighten me? Also, how could I send a request to the Android Studio people to kindly clarify these instructions so the next person along doesn't have the exact same problem?
I'm new to both Android Studio and Gradle so the correct place to put this code is not remotely obvious to me the way it might be to a developer more experienced in this environment. I'm guessing it goes into the app-level Gradle.build but I'm not sure if it's within the android{} group of parameters or whether it is between android{} and dependecies{}. I could spend hours figuring this out by trial and error....
Assumuning you want to obfuscate your code only in the release verion of your app (which is the most common case), the lines
debug {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
should be included in
android{
buildTypes {
release {
<here>
}
}
}
inside your app's level build.gradle file.
However, by looking at your stack trace, it seems that you have a missing dependency problem you should take care of before obfuscating your code (which is optional, especially if you're not much experienced).

Artifactory Couldn't parse ErrorsModel from Access. Original message: Not Found

we have problems with our artifactory server since this morning. When I try to restart Artifactory, we get this error:
2018-04-16 10:11:11,360 [art-init] [WARN ] (o.j.a.c.AccessClientHttpException:27) - Couldn't parse ErrorsModel from Access. Original message: Not Found
2018-04-16 10:11:37,420 [art-init] [ERROR] (o.a.w.s.ArtifactoryContextConfigListener:99) - Application could not be initialized: Waiting for access server to respond timed-out after 90303 milliseconds. java.lang.reflect.InvocationTargetException: null
Can anyone help, we have no idea what's wrong
Thanks
It seems there is an issue with the Access application, which is being started simultaneously with Artifactory.
You should fine relevant logs at the following log file: $ART_HOME/access/logs/access.log
the error message is somewhat misleading. In fact, there was a problem at the database level. the transaction log becomes full on our MSSQL database. We have increased the limit and are working to see how to reduce the size of the log.

Resources