Android Studio: Client not ready yet
The activity has to be exported to be accessible from adb. If the Activity has an intent-filter
it is exported by default. Otherwise add the exported flag:
<activity android:name=".my.MyActivity" android:exported="true"/>
This is the error you get when the activity is not exported and you run
adb shell am start -n "com.example/com.example.my.MyActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Error:
Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.example/.my.MyActiviy } from null (pid=26721, uid=2000) not exported from uid 10304 at android.os.Parcel.readException(Parcel.java:1620) at android.os.Parcel.readException(Parcel.java:1573) at android.app.ActivityManagerProxy.startActivityAsUser(ActivityManagerNative.java:2694) at com.android.commands.am.Am.runStart(Am.java:875) at com.android.commands.am.Am.onRun(Am.java:359) at com.android.internal.os.BaseCommand.run(BaseCommand.java:47) at com.android.commands.am.Am.main(Am.java:100) at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method) at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:251)
[This answer is obsolete for latest versions of Android Studio]
This worked for me :
Tools > Android > Enable ADB Integration
You need to tick Enable ADB Integration
If this is a transient issue then in most cases I have found restarting Android Studio fixed the issue.
In one case a Windows restart seemed to fix the problem. A reboot of the device did not.
It was a transient issue which happened just occasionally for a few days but eventually started happening every time and therefore stopped all work.
I was working with two different Android Studio projects open at the same time, both running (different) apps on the same device (but not at the same time).
I may have opened the Device File Explorer on both projects.