new freelancer dev here.
I've been developing an Android App with Android Studio as apart of some freelance work I've been doing. I do all my testing and debugging on a virtual emulator of an android device while my client reviews the app on his tablet after the testing is done. With this latest version, everything worked perfectly on my emulator, but the app won't even start on my client's tablet. He tried testing the app on a different tablet and while the app runs, it doesn't function properly (Such as buttons not running different methods, crashing after specific inputs, etc.). We are both very confused at what is going on and don't know how to begin tackling this problem. Previous versions of the app work, but they do not have all the required functionality. Nothing major a lot was added or changed from the last version and this most current version. The app has worked on a variety of different emulator settings as well.
I am using the Android Studio built in emulator tools for testing and using Android Studio as my IDE. My app is written in full java while using XML for the layouts of the different pages of the app.
I'm not looking for any immediate fixes/solutions, but more of a general direction to go, because I don't even know how to start fixing this issue.
Also, I'd like to reiterate, previous versions of the app have worked perfectly fine, and all versions of the app work fine on my emulator. The most recent version only fails to start/run properly when run on my client's tablet(s).
I've tried matching my emulator to my client's tablet as closely as possible to try to recreate any potential issues, but I haven't been able to get any of the errors or bugs to appear during debugging. Since we're pretty far apart, I haven't been able to have access to either of the two tablets that he has tried running the app on. My client formatted the original tablet that he was using to test the app but is still having the same issue of the app not starting.
I have the Eclipse GAE Plugin keeping memory of a previous Google Authentication and thus not allowing me to upload a GAE app associated to a different account. The strange thing is that I can't find any GAE button at the bottom of My Eclipse Installation (as mentioned in some docs on the Internet). The only thing I have managed to do is to add the --no_cookies option in the upload command which opens a new tab in chrome allowing me to provide the right auth.
Unfortunately this doesn't seem to update the Eclipse configuration so I have to do it at any upload.
How should I fix that?
I have created a web scraper for my android application. I have finished and tested it external to the app and Android Studio, and it works perfectly. Unfortunately, when I migrated it into my app and android studio I wasn't able to connect to the websites anymore. I was still able to run the code externally and the websites were up and running but when the code was in android studio it doesn't seem to work.
This is very weird as I have managed to run a web scraper in the app before and the only relevant thing that I can think of that I have change which might affect it was creating a web view in another activity. This meant I had to edit the manifest to allow the app to use the Internet. But why would this stop the web scraper from being able to connect?
I will be uploading my project to GitHub soon if it would help to give a link to the code.
I have been following the steps to create a google app engine app using maven. https://developers.google.com/appengine/docs/java/endpoints/getstarted/backend/auth
I am on the step to deploy using mvn appengine:update but once it gets to the point where it says Updating Google App Engine Application there is a prompt that says Please enter code:. I can not find any documentation on what this code is supposed to be. I can deploy it to the devserver and use localhost:8080 just fine. Does anyone know what this code is supposed to be?
I found the code. I did not realize that Firefox was being opened in the background. From Firefox I was supposed to accept the permissions and it would then supply the code.
The problem I'm trying to solve- I'm trying to get deep linking working, and testing it with Emulator. When clicking on posts, the links direct to the mobile web site. This is in the case of the user having permissions for the app, and the app is installed (on the emulator). In the Facebook app, it even acknowledges its out of date, but an upgrade (in app) crashes.
I also noticed that the Facebook app installed on the emulator is out of date (I installed it via adb install facebook.apk from github sdk).
SSO is working fine, and I have setup deeplinking effectively with iOS before (So I know how ti's supposed to work/test it, etc.). But the port to Android is being held back by this out of date 3rd party Facebook app. I'm assuming testing on device will solve it, because there the Facebook app will be the latest (which brings to mind- what if people haven't updated their android facebook app?).
My app settings:
I'd post code, but this seems to be pure integration and configuration issues.
Note: my app isn't published on Google Play, could that be the issue?
Also: maybe this is only testable on the device? My device is "in the mail" so trying to get this done with emulator as much as i can.
Update: Facebook told me that this requires the Facebook app 1.9.* which is not in the SDK. So, I got my hands on a device, and while I haven't solved it, at least the app bookmark functionality is working. Will update if/when I find the answer.
Update 11am: I finally got it to work!
I had to publish my app in the Play/Market.
Each time I tested, log out of FB-Android app, clear cache, and force stop. Acc.
to the documentation the bookmarks are cached. I also think the
facebook app-syncing occurs on launch, and never again. So if you
change anything in FB's app settings, you need to log out/clear
cache/stop for it to take in the fb android app.
Only one key worked, even though it says "hash" in the fb app settings, I think
my dev key was screwing things up. Double-confirm that your release
key is the same as the one listed in app settings.
The final secret sauce for me, was to turn off SSO and deeplinking, re-test
without anything set. Also, remove dev package from phone and
download from Play. (see: key mixups). then, I stepped back through
the configurations by first turning on SSO, testing, then turning on
the native deep linking.
Only works on real device, not emulator (unless you can get 1.9 installed on emulator, may work, did not go down that route to test)
Not sure if this matters, but it may: install app from Store/Play, not from Eclipse. Could be the key syncing thing.
I figured it out- involved doing the following:
I had to publish my app in the Play/Market.
Each time I tested, log out of FB-Android app, clear cache, and force stop. Acc. to the documentation the bookmarks are cached. I also think the facebook app-syncing occurs on launch, and never again. So if you change anything in FB's app settings, you need to log out/clear cache/stop for it to take in the fb android app.
Only one key worked, even though it says "hash" in the fb app settings, I think my dev key was screwing things up. Double-confirm that your release key is the same as the one listed in app settings.
The final secret sauce for me, was to turn off SSO and deeplinking, re-test without anything set. Also, remove dev package from phone and download from Play. (see: key mixups). then, I stepped back through the configurations by first turning on SSO, testing, then turning on the native deep linking.
Only works on real device, not emulator (unless you can get 1.9 installed on emulator, may work, did not go down that route to test)
Not sure if this matters, but it may: install app from Store/Play, not from Eclipse. Could be the key syncing thing.
Have you had a look at the troubleshooting tips for deep linking? (Sorry, have to ask.)
I'm wondering if perhaps the FB app on your device was not properly quit after the relevant setting changes.