I am new to Appium. 
I want to control my android device via appium without sending any apk to phone.
I have tried many examples but in each example everyone is pushing an apk and then controlling it using touches and keypress.
I am not looking for an app testing instead I am looking for an android device testing using resorce id ,name,class or xpath.
And will the procedure remain same for ios also ?
Can anyone help me in writing a script in python?
I think the problem is like mine...want to control an android device or emulator with Appium, may be Mayank Shivhare already try to learn culebra and found the fact that....culebra is still not support by python 3 yet (same problem like me that prefer python 3.7 than python 2.7).
I have the same problem..., what I understood right now is:

All environment should be set up first
The emulator should be run first...before type any code
then run Appium to make a gateway with IP and port.
the missing link is how to connect an emulator to appium via ip and port that provide by appium server.
I can detect the emulator element by run 'uiautomatorviewer.bat' from sdk\tools\bin folder, the problem is the problem in number 3, is how to send a command to the emulator via appium. so the command to control emulator base on data that given by 'uiautomatorviewer.bat'

coding is about trial and error, so we need live interaction, to build source code. every developer has a personal interest in build a script or source code. so..to make easier, as beginner, we need live interaction that shows every error in every step our script or to make sure that every line of our script that we type is run smoothly in the android device or emulator.
The problem in learn appium is all manual already given finished script...without a really-really basic explanation...in my case, how to connect appium to emulator, send a command from python console, and see the script is work or not...
what I mean is... we need the step by step explanation of script...because every beginner developers need a live 'trial and error' experience to understand how it works...
How to control android device using appium and python?