Can I call Android LockScreen function from Linux command line? - android

Running Android 4.0.4 on Emerson EM543 Tablet. Could not install Google Play so had to install Android Market. Market apparently somehow disables the Android system LockScreen. So, now trying to get lockscreen back on boot (downloadable apps, as far as I can see, don't lock screen at system boot, which is what I want). I got a terminal emulator and was wondering if there was a Linux command line argument I could use to start Droid lockscreen at system startup. Any suggestions?
All the questions and solutions I have found regarding "lockscreen" deal with programmatic solutions. I am looking for a command line argument that could be used in a startup script.

Programmatically in android code, you can use Device Admin API's to lock screen, Refer http://developer.android.com/guide/topics/admin/device-admin.html
devicepolicymanager.lockNow();

Related

Verify how an Instant App in Android is launched

According to the documentations, an Instant App is downloaded via Google Play and launched on the fly. It is not installed but is rather cached in the Android system. As a developer and user, I would like to validate this behaviour.
I have tried running Clash Royale by hitting the "Try now" - that is when a splash screen is shown with a progress bar (assuming that's when the feature APK is downloaded?) and it launches soon. On exit, there is no application icon which is expected.
In the device storage I looked for trace of the APK but with no success. Do I need ROOT permissions to see this? Is there a way to inspect and verify?
There is still an APK installed.
For O+ devices, run adb shell pm path com.supercell.clashroyale after TRY NOW
And you'll see:
package:/data/app/com.supercell.clashroyale-CUaYOumzCbUDNAdv1MRtRg==/base.apk
package:/data/app/com.supercell.clashroyale-CUaYOumzCbUDNAdv1MRtRg==/split_split_2_tutorial_battles.apk
Do it again after INSTALL (for comparison), and you'll see:
package:/data/app/com.supercell.clashroyale-0Dn0s6yq6WqGCRZ9ETT8bA==/base.apk
package:/data/app/com.supercell.clashroyale-0Dn0s6yq6WqGCRZ9ETT8bA==/split_config.arm64_v8a.apk
package:/data/app/com.supercell.clashroyale-0Dn0s6yq6WqGCRZ9ETT8bA==/split_config.en.apk
package:/data/app/com.supercell.clashroyale-0Dn0s6yq6WqGCRZ9ETT8bA==/split_config.xxxhdpi.apk
(For pre-O devices, the first part won't work, but I don't know any other cmd that will do the same)
You can navigate to Settings -> Apps, and see instant apps there. The App Icon will have Lightning bolt sub-icon at least it looks like that on Samsung Android 12.

Another way to debug an android app

I want to debug my android application, I have Eclipse Installed fully setup for android developement.
The problem is,
1) I can't run android emulator(Hardware Concerns).
2) I can't attach phone to my computer(Driver Concerns).
Now,
Is there a way to get debug functionality by putting directly the apk into the phone storage and installing it from there.
I wanted get the logcat of the application that I'll be running.
Basically I'm quite naive in android, I'm not quite sure of the terms I said but, What I want is a way to test my app on my phone without the role of my PC.
If you have root you can use Wifi ADB
Also you can remove drivers for this device and install other driver from your device manufacturer.
If you can run standard emulator you can use Genymotion.

Is there any way to launch a Genymotion emulator with the screen already unlocked?

Our team recently setup Genymotion for a Jenkins instance using the instructions here. Everything is working awesome except for functional tests, which use Robotium.
It seems that the instrumentation can't figure out how to unlock the device, which means that it is unable to find the necessary UI elements for our functional tests, causing them all to fail.
I've tried taking a snapshot of an unlocked device, restoring that snapshot, and then launching the emulator with Genymotion. However, when I do that, Genymotion gives me an error on start saying that the device is in an incompatible state and then the Jenkins run fails.
So, I'm wondering is there any way to either programatically unlock the screen or launch a Genymotion emulator such that the screen is already unlocked?
EDIT: The tests are targeting API level 10 phones.
I discovered the solution was to add this line to our Jenkins pre-execute script.
adb shell input keyevent 82
This simulates a press of the menu key, which removes the lock screen.
Unless you need lock to show up, simply disable screen lock in emulate device's settings. Setting is persistent.
EDIT
There are tools like No Lock (Google Play link) that may be helpful in your case. I checked using Genymotion with API10 image (Nexus S) and it does the trick

Does Developing Android Applications require a Rooted Device?

I am looking generally in to Android development.
I keep seeing information on root however I am unclear how this relates to general android app development.
I understand that there is an emulator however when I get to actually test the software on a phone does that phone have to be a rooted device or is this only required if you wish to edit the core features of the os?
Finally are there are any development disadvantages to rooting the device such as that is no longer behaves like other android phones I may deploy too?
Thank you
You don't need root to develop for Android.
The easiest setup is to run Eclipse with the Android Development Tools installed. Then, you can debug your application in the emulator, or register your phone with the SDK and debug directly on your phone. The only thing you need to do on your phone is check the development mode under Settings -> Applications
I can understand the allure of having a rooted device, but I can't really see a reason for changing the bootloader or os binaries. You can, however, change most of the default applications (including the Home application) with other applications available on the Market. For instance, OpenHome is about $5 and allows you to replace the home app, add themes, and replace many of the core apps (e.g. clock).
Rooting is only required, if you want to play around with advanced features or update your firmware, etc.
If you develop your software using the Android SDK you will be able to use it on your phone regularly (as long as you have the corresponding version). No rooting needed.
I have never heard of any problems according to your concerns. But I cannot deny that there are none. Though I personally don't expect that there are any problems with rooted phones.
On the Nexus S running Android 2.3, the /data folder is not visible in the DDMS File Explorer or the ADB shell, but it is visible in the emulator. This occurred with debug turned on in both the manifest and on the phone. I confirmed that debug mode was properly enabled by successfully stepping through the app using breakpoints and also by receiving messages from logcat.
Not being able to see the /data folder means that you will not be able to get your application's private data.

Can you get to a command line on the G1 phone?

I understand the Android OS is based on Linux. Does that mean the G1 phone has a terminal emulator and you can open a console and use commands like cd, ls, etc? Or failing that, would it be possible to write a terminal emulator for it?
On a related note, would it be possible to run a ssh server on the G1 and log into it over a wifi connection?
Actually, until recently everything you typed on the keyboard got echoed to a root shell. Nasty bug.
That said, you want PTerminal, from the Android Market.
As for SSH, yep. You can even install Debian on the phone.
Currently there are a few terminal emulators in the market and elseware on the web (quick google search and you'll see), but if you are running the latest OS patch level (RC30) you will no longer be able to get root at all. The shell's are still somewhat useful to poke around the file system and see the results of ps and top for example.
In case you don't know, it's worth pointing out that android has a fairly secure application sandbox. Each installed app runs as it's own user. Not many binaries on the phone are world-executable, and a lot of files aren't even world-readable.
However, I don't think anything is preventing you from copying executables to the phone and running them as a non-privileged user.
The android SDK comes with a tool that lets you run a shell from your development machine over USB. The su command does not work on the TMobile phone but does work on the unlocked phone that comes direct from google.
Very easy to flash back to RC29 and get root, I did and have Terminal Emulator running good. I just don't know many commands.

Categories

Resources