I am trying to move app to another agency. Ideally, it would be as simple as changing Organization API key and adding its secret into fabric.properties file. But this is not happening.
I have tried to remove all traces of Crashlytics so I can install it like the first time and pick the desired organisation. So I removed all Gradle entries, an entry from the Manifest and deleted fabric.properties file. I also logged out of Fabric plugin and restarted Android Studio, just in case. However this does not work. When I compile the app, it fills the old Organization data.
So how can I completely remove ALL traces of Crashlytics so the project looks just like before I installed it?
PS. also if someone knows how to move app to another organization (the method that does work), please share it with me.
I am looking to do the same and would try doing the reverse from what is advised in the installation instructions here.
Meaning:
removing the repository, plugin, and the dependencies from build.gradle;
removing the keys (fabric.properties or app manifest xml);
removing the initialization code;
I may add more details once actually trying to do this myself.
Related
Can I publish any Android app without deleting Log.i() statements. Is it safe?
No, the logs files are not removed , that is why many people use Timber library as the Timber logs are automatically removed.
To know more about timber visit GitHub page of Timber
The log statements will stay in the app and anyone can see them. You can prevent this by deleting the logs before publishing, having a check for debug mode before logging, or using something like proguard to remove them when you compile. Here's another question with more info.
Suppose, For example, I have added a dependency like com.mydependency.blabla in my android app. And later if the domain mydependency.com is removed from the web. Will the features in my app still work?
Yes it will still work, two reasons:
The package name is conventionally chosen to begin with a domain but actually has nothing to do with the domain on the internet.
All dependencies are imported to your app at build time. It does not matter if they disappear afterwards.
I have source code of indic-keyboard, and I want to use functionality of this project in my app, I have tried converting indic-project into a library, but that seems tough, so I am looking for some other workaround for this thing.
What can/have I try/tried-
I try to change "apply plugin: 'com.android.application'' to "apply plugin: 'com.android.library", then synced the gradle and got this some errors(check this issue), there I got confirmation developer of indic-keyboard that it will be tough to convert it into a library as this project is an input-method which relies on system settings.
So now I am thinking to use whole the project within my app, such that it will compile just after the installation of my app, but I am not sure where to start, I mean what things should I remove from build.gradle of indic-keyboard so that it stop generating apk, if somehow I am able to do that then it may not be that tough,I need just the idea how should I proceed, so if you have worked on these type of things then please provide your valuable suggestions.
*edit - I have also tried importing as module(suggested by zgc7009) but that produces error as shown in following images
The Indic Keyboard is already available on the play store, I would suggest to check at runtime if the user has that package (details here) and act accordingly: if the user has the package then fine, otherwise you can open the play store (details here)
I'm tired to see a lot of Stackoverflow questions about this, even in Google forums or Google official support site, publishing "solutions" that lead to uninstall package through ADB, to do something with the phone rooted, to delete cache of Google Play Services, etc ...
https://code.google.com/p/android/issues/detail?id=64514
https://support.google.com/googleplay/answer/3300875?hl=en
http://gizmostorm.com/how-to-fix-package-file-is-invalid-error-on-google-play-store/
https://www.google.com/search?sourceid=chrome-psyapi2&ion=1&espv=2&ie=UTF-8&q=android%20upgrade%20download%20invalid%20package ...
etc ...
Is there any solution from the package side ?
I mean, I have an app with hundreds of thousands of installs, and unfortunately many users are complaining about this error when upgrading from store my new version.
Obviously, I can not go one by one telling they have to do this or that, because they are not developers, they just want to upgrade and run an app !
Some users are telling me (complaining) this happened since the last "upgrade attempt" of my app, and they are not experiencing this "package file is invalid" with any other app in their phones.
So, I guess it's something I can fix with another upgrade.
Is there ANY SOLUTION that I can do in the next APK compilation, uploading to Google Play Store and fix this without "bothering" my users ?
Thank you in advance
I have also faced same issue in my project as well. I was adding many more features with new jar, git open source library code for Nice UI.
For searching for solution I found play store has issue in one of its updates
http://www.androidcentral.com/google-investigating-package-file-invalid-errors-google-play
But this is totally not relevant to my problem
Again searching I found this
http://birbit.com/how-to-solve-linearalloc-problem/
So the solution looks to be loading a few jar files dynamically using DexClassLoader.
http://android-developers.blogspot.in/2011/07/custom-class-loading-in-dalvik.html
Prepare Interface of the jar file (list of all classes and methods) and have the interface in the app - Need to see how to do this. - We can just have those classes which we need in our app and ignore the rest of the classes. This way we can implement for few existing jars and any new jars that we have to add to make sure we don’t run into this issue again.
Keep the jar in assets folder
Load every class from the jar (based on the list of jars we have in the interface). (The classes will be loaded just once on first launch)
But Based on this, this looks to be involving lot of coding changes and a time consuming things.
Moreover I found that facebook also faced same issue in their initial android app
https://www.facebook.com/notes/facebook-engineering/under-the-hood-dalvik-patch-for-facebook-for-android/10151345597798920
Final Approach I took was removing additional code from jar/git library project which is not require for my application. after that my app got install on 2.3.X with no error.
I downloaded the Android in-app billing example and imported it into Eclipse. After import I see some strange errors.
There is a source file AccelerometerPlay and the string resources in the Dungeons.java file are not existing.
It seems that the download got the wrong resources. Has anybody seen this and knows how to get the right code?
Of course I can put in my own strings to get rid of the error markers, but I cannot say if something else is missing. So I'd rather have a correct version of the code.
How can I take over this question? It is not resolved for me and I can not up-vote it or comment on it stating this still persists for me. Duplicating the question can't be the solution neither.
More details:
The Dungeons example is not in "Extras/Google Market Billing Package" as shown in the screenshot in their tutorial but in "Extras/Google Play Billing Library"
The version of this is "revision 2".
After removing it via the Android SDK Manager various times and adding it again to re-create the project from source within Eclipse, I now did check the "create Activity .Dungeon" checkbox in the last step and think that did the trick. I'm not eager to verify this assumption ending up without a broken project again though.
In Eclipse and Intellij, if you create a new app over those existing sources (and presumably have it create a default activty like "MyActivity") it will overwrite some of the billing files namely the main layout and the strings file.