Android Studio debugging inconsistency - android

I'm not sure this is a common issue, I have Android studio installed on my window pc and my mac laptop and on and off I will switch between both.
Just now I was cleaning up my source code and delete a .xml file from the layout folder and I debug using my phone to make sure it is a working before I upload to the server for other programmers to access it.
Later on the programmers said that there are errors in my file and ask me to look into it, so I immediately switch to my mac and try to debug it and I got the error as well. Later found out that I didn't remove the activity call from AndroidManifest.xml for the previous deleted .xml.
To make sure I did not get the wrong version of my build I try again on my window pc with the errors and perform debugging and surprisingly there isn't any error and the emulator run smoothly. How is that possible?

do you use version control aka team, git, subversion vcs. I believe android studio does this automaticaly via vcs on main menu. githubis another form of this concept. When a team works together it is common to have a local copy of source code and a remote repository on a server. You also may have different branches or versions of the local and/or remote source code. If you find out what version control you use and you still need help post a comment back.
By the way android studio is now using gradle so you can now have free and paid flavors of the same app and i can see that could cause problems.

Related

Android app not running after splash screen

I would like to contact you with the problem that I switched from Delphi version 10.4 to Alexandria (11.2).
From then on, my Android applications compile and build without error, but after the splash screen they do not start on Android devices, regardless of the Android version. Not even on those that ran without errors before.
I did not change the source code, only the development tool was updated.
Looking around the Internet, others are also complaining about this phenomenon, but I can't find a solution anywhere.
My respectful request would be that if you can suggest some kind of solution, please let me know, because this is why I am standing still and it would be good to move forward.
Thank you in advance for your answers.
Android system libraries have been reset to default.
There are a lot of possibilities. Here are a few steps you can use to troubleshoot this sort of failure.
Always back up your project first. Preferably using source control!
Revert Deployment
In the release notes for 11 Alexandria there is section about updates to the Android Manifest
An older Android Project Might Fail at Run Time or When Debugging
Building an older Android project in the IDE can cause the app to fail
at run time and debug time, with a Java "Class not found error". To
correct the issue, do the following:
Select Project > Deployment.
In the Deployment Manager, click the Revert To Default speed button.
It is the 7th button that looks kind of like "undo". Make sure you select the Android platform.
Test a New Project
Create a new simple project from scratch and see if it will run. Try both Android 32-bit and 64-bit. If it doesn't then there may be something wrong in your SDK Manager (Tools -> Options -> Deployment -> SDK Manager).
Look under Android on all three tabs: SDK, NDK, Java; for any warning symbols. You might need to correct a path or install Android support.
Compare AndroidManifest.template.xml
Take the AndroidManifest.template.xml from the new project you created, and compare it to the one in your project from a previous version. If you haven't modified it then you can just copy the new one over the old one.
Revert Android Libraries
Expand out the Project Manager and the Android platforms to Libraries. Right click and choose Revert System Files to Default.
More Debugging
You can use ADB LOGCAT to see the error on failure. This is super useful. There are GUI wrappers for it, like DeviceLens by Dave Nottage of DelphiWorlds.
Check the code in your form constructor. An exception here can cause a crash like you are describing.
Reboot your phone. I hate how often this fixes things for me. It should be the first thing, but it is usually the last.

Strange automatic commits (Android Studio, GitKraken, Ubuntu)?

I'm working on an Android project for my company.
Here is my current development setup:
Android Studio (version 2.3)
GitKraken (version 2.1.0)
Ubuntu (version 16.04)
As I make improvements to my project in Android Studio, I use GitKraken to review my changes and commit them to GitHub. Nothing out of the ordinary.
My problem is that every once in awhile, files will be committed directly to my 'master' branch and pushed directly to GitHub - without me doing anything. The files that are pushed are configuration .xml files that I haven't changed. This is very frustrating, for obvious reasons. The commit message that is generated usually looks like:
AI-2.3 trent#trent-Lenovo-Yoga-3-14 Create hg.xml
I have deleted my 'master' branch completely (local and GitHub), and created a new branch called 'stable' to take it's place. That didn't work, as these 'auto commits' simply create 'master' branch again and push it to GitHub.
I have also turned off VCS settings in Android Studio. I cannot find any setting in GitKraken would be doing this - to my knowledge, anyway.
I'm hoping that I'm unaware of a simple setting that can stop this behavior. I've searched for similar issues on Google, Android Studio forums, and Stack Overflow, with no luck.
Please let me know if you have any questions.
Got the same problem with Android Studio 2.3.3 and Ubuntu 16.04.
The problem occurred after Android Studio (AS) glitch when it lost my private IDE settings.
Solution: look into dir ~/.AndroidStudio2.3/config/settingsRepository (take notes that .AndroidStudio2.3 is hidden dir). In my case, there is repository dir that contains my Project plus all that wired additional setting files that been added to my GitHub master branch every time I've Push. Just delete that repository dir.
Looks like AS use its own source control system on top of Git. As I can see some people even use it for backing up their settings:
https://github.com/kakkoyun/android-studio-settings
https://github.com/xinthink/android-studio-settings
Didn't go dip into the problem, just solve it for my case. Would be good if any Expert explain that strange Android Studio behavior in more details.
Also related to Android Studio keeps adding additional files to GitHub

How do I make a basic App Engine Connected Android Project?

I'm new to this, so please bear with me. I simply want to get the basic App Engine Connected Android Project to work in eclipse.
I first downloaded Eclipse 3.7 and the Android SDK. I installed the ADT plugin through eclipse. I configured eclipse to point to the sdk and created an android project. I added some widgets, messed around with SMS messages, and ran it on my phone. Worked like a charm.
Then I decided it was time to work with app engine. I downloaded the Google plugin for eclipse from within eclipse using this link http://dl.google.com/eclipse/plugin/3.7. I also downloaded the Google App Engine Java SDK from that link.
Ok, here's where it gets more fun. I created a new app engine connected android project and named it "TestProjectThree". I then clicked "Debug as->local app engine connected android project". On the console I got a url, but on my phone I got a black screen. I then noticed that there was nothing in the android/gen folder, so I did a clean build of both projects. Suddenly, it gave me 10 warnings.
"Cannot fully validate context since domain type com.testprojectthree.server.HelloWorldService is not available.
You must run the ValidationTool as part of your server build process."
I googled the problem and found this link http://code.google.com/p/google-web-toolkit/wiki/RequestFactoryInterfaceValidation.
I began following the instructions. I tried to enable annotation processing, but it was already enabled. I tried to add the requestfactory-apt.jar to the factory path, but it was already there too.
Apparently now I need to run something called an Annotation Processor. I've never used Maven before but I right click on my android project->configure->convert to Maven project. I do a clean build and a POM file appears. I then copy all of the XML from that link to the line right above the /project line in the POM file. I copy the second bit too because I'm using indigo. Clean and build again. New error.
"/TestProjectThree-Android/gen already exists but is not a source folder. Convert to a source folder or rename it."
No idea what that one means either, but I see right click gen->build path->convert to source folder so I click that too. Clean and build again. NO ERRORS!! YAYAYAY!!!
Debug as local app engine connected android project. Got a black screen on the phone, and some sort of error in eclipse. “Source not found”. Looked for a more detailed error message but the console just has the app engine url on it and logcat looks empty.
I went back to the link about the validation tool and read all the comments. A lot of people seemed confused. I have no idea if I did it right, or did any of it right, and am very lost now. Please please please help me!!!
This sounds very similar to a problem I had, although not exactly.
I think the code generated by the AppEngine project that is used by the Android project is either not generated correctly, or needs a refresh.....and clean doesn't do it.
Try this:
First, make sure the requestfactory-apt.jar was in the "Factory Path" of "Annotation Processing" in the "Java Compiler" section of Project Properties.
In AppEngine project.
Properties-> Java Build Path, Source section. Select the ".apt_generated" entry and then "edit…" and rename it, by putting a "1" at the end of the name (or whatever).
Project -> Clean
then in Android Project
Properties-> Java Build Path, Source section.
Select the "apt_generated" source folder that is linked to the ".apt_generated" source folder in the AppEngine project.
"Edit…", then in the first line "Linked Folder Location" navigate to the NEWLY named folder in the AppEngine project (the one with the "1" at the end……)
Then Project -> Clean
Then build & run your Android project, it should now have newly generated RequestFactory code from AppEngine project and validate OK at runtime.
It's possible that closing and opening projects and cleans were also required.
Use parse. I tried using AppEnging for my app's backend, but parse seems to take care of a lot of backend jobs and makes life extremely easy https://parse.com

Do I need to prevent caching on Android emulator?

I am using PhoneGap to develop cross-device (simple) applications, and I am currently using eclipse with the Android Emulator. The problem I am encountering is that it does not appear like my code changes recently are reflected by the application installed on the emulator. I have tried uninstalling the application from the emulator, cleaning and re-building from within eclipse, but neither of those has worked.
Is there some manual script I need to run to re-install the .apk? I am a newbie at mobile development, so please bear with me. :)
Eclipse should automatically rebuild your application if the option is activated. Take a look for it at Project -> Build automatically
The ADT should reinstall an application if you run the project. Take a look at the console (not LogCat) of eclipse, you should see some information about reinstalling the application (at least thats when you deploy on a device).
If you want to try if a change was successfully made, try to use a log statement that you change as soon as you have the feeling that its not the current version. So you can find out if at least the deploy worked.
If nothing of that helped, we should dig deeper...
I had the same problem (my app did not get updated whatever acrobatics I was doing) until I simply refreshed the Project in Eclipse. The javascript files I am using in the project were edited in an external text editor, the HTML in Dreamweaver, so Eclipse apparently never pulled the renewed files from the file system, even after restart. Doing a refresh took care of that.

Huh? Android Preferences page refuses to load after adding SDK 1.6

This one is really weird. I had a perfectly working Eclipse + Android 2.2 SDK working in both Administrator account and LUA (Limited User Account) under Windows XP.
Then I decided to add the Android 1.6 SDK (I could do it from an Administrator account only). It seemed to have gone well, since it still works perfectly -- but only in that Administrator account!
When I try to start Eclipse under a LUA, I receive the following error message box:
Which disappears within 2-3 seconds and replaced with:
I then tried to check the Preferences page, but again, all I receive is error messages:
and:
Any idea why this is happening and how to fix this?
(I would love to be able to continue working from a LUA)
Update: I have uploaded the error log file (referred to in the "Show Error Log" in the message boxes), for your expert examination. Hopefully this can shed some light on the mystery.
The full answer is somewhat complex, concerning Eclipse's configuration area, the workspace area, etc. This is all documented on the Eclipse site, if you're interested.
But there's a simpler, more immediate approach, since you're not trying to run multiple users simultaneously on the same copy, over a network -- in which case you'd need the full answer.
Simply install Eclipse in a directory, say, C:/dev/Eclipse. Make sure both your limited user and your admin have write access to everything. Run Eclipse as the limited user. It should start right up, as there's nothing privileged that is needed by Eclipse.
At this point, you can lock it down as read-only if you desire. By default, all the configuration is stored within the Eclipse installation directory.
I'd suggest starting with a fresh install at this point, to eliminate any inconsistencies that you may have introduced. Though you should be able to reset things by deleting all the subdirectories of the configure/ directory (but not the config.ini). There's an official way to do that, but that's part of the full answer. :=)
I'd also suggest using a different workspace for each user, to avoid any permissions problems.
But my BIG suggestion is -- upgrade to Windows 7, and do NOT run Eclipse as an administrator!
Anyway, once you have it working -- to upgrade in the future, make the Eclipse directory completely writable by the limited user, and then update as the limited user, and then make it read-only again if needed.
Note: This is the cheating way. The REAL answer is to give each user their own configuration directory. This is only viable because you have control over both users and can coordinate any updates.
Try running eclipse by downloading the binary and unzipping and directly running the .exe rather than "installing" it. The android tools should work this way if you configure the appropriate paths to them, and if eclipse isn't "installed" but simply run from a the archive folder, it should try to download plugins and such into its own directory (owned by your user), which may solve your problem.
I doubt the Android developers who built the tools run under LUAs, so they probably didn't run into this problem...
Workaround found: Run Eclipse as Administrator (Right-click exe/shortcut, then select "Run as...", then enter Administrator's password).
This is a workaround, not a solution, but it does allow me to continue working while logged in LUA.
Thanks to #David who suggested this solution here: Android ADT Plugin doesn't show up in Eclipse
Update: Solution found:
Enable the Security tab in Windows XP Pro (""Use Simple File Sharing.")
Add the LUA account to C:\eclipse with Modify permissions.
That's it. No need to run Eclipse via "Run as". Also eliminates the need for a fresh install (which takes more time).

Categories

Resources