How do you access Android 4.2's developer settings when the method prescribed on their developer site does not work?
I followed the directions on a Nexus 7 tablet. I went to Settings > About tablet, scrolled to the bottom of the screen, and clicked the Build Number 7 times. I was greeted with the message "Congratulations, you're now a developer." But apparently, I'm still not one.
I checked Settings and scrolled all the way down to the bottom, but no Developer options were available. I reset the tablet and restarted it, with no result. When I click on Build Number again, it says "No need, you're already a developer"."
UPDATE:
Something else that might be an issue. There are two tablet user accounts. The account I'm using to access the developer settings is the second one. The first account is probably not set up as a developer.
I have ran into the same problem yesterday. Only the initial user (or Owner) shows the developer options in the settings menu, when turning on developer mode.
Turn on developer mode for your initial user and you should be able to see the developer options.
I wonder why the secondary user cannot be in developer mode.
EDIT:
I am now using the secondary user in developer mode and running my project from Eclipse works just fine!
Ok, I was having the very same issue, and yet, I had previously used this exact same device for development.
In my case, the issue was that each User account gets its own "install" of your release (or debug) APK.
Android will apparently "reference" the app and actually keep the package on the system until you do a separate uninstall for each account.
After doing this, I was able to debug without issue on the alternate account.
So, YES, you CAN debug your app using a second account on Android, just be aware that instances of the app installed in various accounts (release vs debug) cannot co-exist!
I installed Lollipop and created a second user.
Eventually i too ran into the same issue but there is a very simple workaround/flaw.
Go to the primary account, from android studio, Run the app like you always do.
Go to the second account and the app was present over there. Go ahead and launch or debug and continue working :)
Related
I'm trying to test the in-app purchase of a consumable item on Android, but I'm unable to do so, as the item appears as being unavailable in my country:
This only happens when I'm testing on a device connected to Android Studio (which I need to be able to do) - if I instead download the app onto the device, the consumable item appears normally, i.e. as being available.
Some details:
I'm testing on a physical device running Android version 6.0.1
That device is running the latest version of the Google Play application
I'm testing with a user that has been set up both as a track tester and a license tester, and that is also currently signed in on the device
I've made the app available in all available 177 countries and regions
The app does not have a production release, it's only available on the closed testing track
If you have uploaded the build from the closed track, please ensure that you have accepted the test invitation from the invited email or it will show this error.
Step 1: Go to Release -> Testing -> Closed Testing
Step 2: Click on Manage Track
Step 3: Click on Testers tab
Step 4: Scroll to the bottom and you will see 2 options. Copy the link for web and open the link in your phone or browser with the test email you want to test.
Step 5: When you open the link you will have an option to Become A Tester. Click on that and then you are good to go.
The solution in my case was to select the app in the Google Play Console, then go to Release > Production > Countries/regions, and add the countries/regions there. Having the countries/regions selected in the closed/internal track only is not sufficient. It seems this is necessary regardless of whether one actually has a production release or not - again, in my case, I did not. It took maybe 10-20 mins after I made the update until I stopped seeing the issue.
TL;DR:
Upload to the Internal Test track and make sure it has the highest version code
I was having this issue for a few days, and also tried numerous things, but to no avail.. I uploaded my app bundle to a Closed Testing track in the Play Store, which did not solve the problem. After countless other methods, I eventually tried to upload a bundle to the Internal Testing track, which immediately solved the issue and allowed me to use test cards again.
I just implemented Firebase into my Android app, and my dashboard is showing that I have 9 active users. I know it's wrong though, since the app isn't released, and I'm the only one who's used it.
I've kept it on the same device the whole time - I've run it with different version suffixes like -debug - but the package name has stayed the same. I assume that using a debug build, then a release build shouldn't inflate the number either
Does anyone know why this is, I thought Firebase used device IDs, but maybe I'm wrong? Or is it just state sponsored hackers that decided they liked my app ;)
Firebase counts app installed on a device, not a physical users. If you uninstall and reinstall the app on the same device, the device will be counted as two distinct users. The reason to define "user" this way is that the device ID is now always available on all mobile devices and on iOS in some cases its not available at all. On Android, non-Play enabled devices (most phones in China for example) do not provide device id. To keep the definition the same on all platforms the user is defined as app installed on device.
I have recently set up basic In App Purchases in my Android app that I am building. The problem I am having is that every time I install the app, via USB, I get the error "This version of the application is not configured for billing through Google Play. Check the help centre for more information.".
It seems that the only way I can do a real test, using real SKUs is by uploading to the beta test group and installing from there. This can take up to 2 hours.
I am aware that I can use the SKU "android.test.purchased" instead of my own SKUs which I have created with the Android dev console. This is not ideal as it slows down my development time.
I am sure I am missing something and I was hoping someone could please point me in the right direction.
Thank you Karen.
Worked out my issue was due to not signing my app with the keystore each and every time I build the application and installed via USB.
This option can be found in File -> Project Structure
Then select the module that you are signing, and then the tab "Signing" from the top of the window.
From there you just need to press the plus and fill in your details for the keystore.
After which, you need to go to the "Flavors" and "Build Types" tabs and select the signing config (one you just created).
Working on a Cordova app:
We are trying to find a way to capture JSON results of an in-app transaction. In debug mode, we have access to the console, but in-app billing is disabled; when we've pushed an alpha or beta release to our GDC, the in-app billing works but we do not have access to the console. We use variations of pop-up alerts but this is a flaky solution. The main annoyance stems from having to build & upload to GDC every time we want to test new things that have to do with in-app billing. Surely there is something we're missing.
Is there a way to read the console (or any output of that sort) from a built Android app?
First of all plug your device to computer, from Android Studio, choose Tools > Android Device Monitor or click the Android Device Monitor icon. This will show your device and apps running on it. You can filter type of logs it is showing (because at moment device shows lot of logs).
But if you use command line then , in the SDK tools/ directory, enter the following command :
monitor
It will also open monitor tool. Here is documentation to this tool.
I recently fixed a bug in a demo version of my app. It's not out on the store yet, we're still testing.
The phone doesn't like it however : it tells me there's already an APK called that. That's true, but why doesn't it suggest to just replace it ?
And in the "Apps" settings screen, "Force quit" and "Uninstall" are greyed out - unclickable, can't do that for my app. Yes, I did quit my app, and the background service associated with it. Because yes, my app does require the following permissions :
Full Internet access
System tools : prevent sleeping, disable key lock, auto-start on boot
Hardware controls : audio volume
Storage : SD card
Any clues or things to do/check before uninstalling ? This other (empty) app that's also installed (an app I made when I was discovering Android for testing purposes) was uninstalled fine ...
Thanks in advance,
Charles
Possible causes I know of for it not offering to replace it:
You changed the package name, but you are using the same file name
for the APK.
You signed the package with a different keystore or key. Note that when clicking Run in Eclipse, it uses a debug keystore rather than the one you would use when exporting it for the store.
I'm not sure why it would disallow force quitting and uninstall. Maybe you just need to wait a few more seconds for that screen to finish loading, and the buttons will become active.
You can try opening a console and using adb uninstall com.yourpackagename to uninstall the old version, and see if it gives you any errors.
Got it !
First of all, see Tenfour's answer on impossible replacement. As for impossible uninstallation :
The "Lock Screen" permission makes my app a Device Administrator. And Device Admins can't be uninstalled !
The app can be downgraded in Settings -> Security -> Device Admins.
That's all folks ! Thanks for the help.