एंड्रॉइड एसडीके में मोनकीरुनर नामक फोन पर कमांड भेजने के लिए एक एपीआई है। यह एक पायथन एपीआई प्रतीत होता है। क्या मैं जावा एप्लिकेशन में इसका उपयोग कर सकता हूं?मैं Monkeyrunner API का उपयोग कर जावा ऐप कैसे बना सकता हूं?
उत्तर
खैर मैं यह करने के प्रयास कर रहे हैं, यहाँ मैं क्या पाया (धन्यवाद गूगल के लिए और इंटरनेट पर सदस्यों से कुछ मदद की)
यह एक छोटा सा जावा प्रोग्राम monkeyrunner का उपयोग करता है के नाम पर मुद्रित करने के लिए है डिवाइस
import com.android.monkeyrunner.MonkeyDevice;
import com.android.monkeyrunner.adb.AdbBackend;
public class Monk {
public static void main(String[] args) {
// TODO code application logic here
Monk monk=new Monk();
monk.demo();
}
public void demo()
{
AdbBackend ab = new AdbBackend();
MonkeyDevice device = ab.waitForConnection();
//Print Device Name
System.out.println(device.getProperty("build.model"));
device.dispose();
}
}
ऊपर कोड के लिए भी काम करते हैं, मैं निम्नलिखित जार monkeyrunner, ddmlib, Jython, guavalib, sdklib शामिल करने के लिए की जरूरत है।
यहाँ @ Harkish के जवाब के लिए एक अद्यतन जो मैं क्या MonkeyRunner के वर्तमान संस्करण होने के लिए मान के साथ काम करता है:
import com.android.chimpchat.adb.AdbBackend;
import com.android.chimpchat.core.IChimpDevice;
public class MonkeyTest {
public static void main(String[] args) {
// sdk/platform-tools has to be in PATH env variable in order to find adb
IChimpDevice device = new AdbBackend().waitForConnection();
// Print Device Name
System.out.println(device.getProperty("build.model"));
// Take a snapshot and save to out.png
device.takeSnapshot().writeToFile("out.png", null);
device.dispose();
}
}
पुस्तकालय निर्भरता हैं:
chimpchat.jar, common.jar, ddmlib.jar, guava-13.0.1.jar, sdklib.jar
वे सब पाया जा सकता है sdk/tools/lib
एडीटी बंडल की उपनिर्देशिका में।
मैं अभी तक एक और अद्यतन उत्तर प्रदान करने के लिए कूद रहा हूं। यही एक Google देव ने भी सलाह दी है। मुझे लगता है कि यह एक और ठोस कार्यान्वयन है और यह अधिक असफल-सुरक्षित तरीकों का उपयोग करता है। एपीआई आप डॉक्स यहाँ देख सकते हैं पर जानकारी के लिए
for (String prop: device.getPropertyList()) {
System.out.println(prop + ": " + device.getProperty(prop));
}
:
import java.util.Map;
import java.util.TreeMap;
import com.android.chimpchat.ChimpChat;
import com.android.chimpchat.core.IChimpDevice;
public class MonkeyRunnerTest {
private static final String ADB = "/path-to-your-sdk/sdk/platform-tools/adb";
private static final long TIMEOUT = 5000;
/**
* @param args
*/
public static void main(String[] args) {
Map<String, String> options = new TreeMap<String, String>();
options.put("backend", "adb");
//this is so you don't need to add adb or platform-tools to your system path
options.put("adbLocation", ADB);
ChimpChat chimpchat = ChimpChat.getInstance(options);
//Using this method is advised as to avoid hangs,as this would wait indefinitely
//Actually waitForConnection() doesn't wait indefinitely but for Integer.MAX_VALUE milliseconds, which still makes up for 596 hours
IChimpDevice device = chimpchat.waitForConnection(TIMEOUT, ".*");
chimpchat.shutdown();
}
}
आप के साथ सभी डिवाइस गुण देख सकते हैं monkey runner api classes
बस ValarDohaeris से महान जवाब पूरक, यहां यह मैवेन प्रारूप में वर्तमान निर्भरता है:
<properties>
<com.android.tools.version>24.3.1</com.android.tools.version>
</properties>
<dependencies>
<dependency>
<groupId>net.sf.sociaal</groupId>
<artifactId>chimpchat</artifactId>
<version>22.6.3</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>18.0</version>
</dependency>
<dependency>
<groupId>com.android.tools</groupId>
<artifactId>sdklib</artifactId>
<version>${com.android.tools.version}</version>
</dependency>
<dependency>
<groupId>com.android.tools</groupId>
<artifactId>common</artifactId>
<version>${com.android.tools.version}</version>
</dependency>
<dependency>
<groupId>com.android.tools</groupId>
<artifactId>sdk-common</artifactId>
<version>${com.android.tools.version}</version>
</dependency>
<dependency>
<groupId>com.android.tools.ddms</groupId>
<artifactId>ddmlib</artifactId>
<version>${com.android.tools.version}</version>
</dependency>
</dependencies>
का उपयोग कर रहे हैं वर्तमान में, सबसे अद्यतित lib https://mvnrepository.com/artifact/net.sf.jali/jali-adm/1.0.7 प्रतीत होता है – Ajax
- 1. मैं जावा सैंडबॉक्स कैसे बना सकता हूं?
- 2. मैं इस फ्लास्क ऐप का परीक्षण कैसे कर सकता हूं?
- 3. मैं jquery UI API का अनुकरण कैसे कर सकता हूं?
- 4. मैं "।" का उपयोग कैसे कर सकता हूं जावा
- 5. मैं जावा में जावास्क्रिप्ट का उपयोग कैसे कर सकता हूं?
- 6. जावास्क्रिप्ट का उपयोग करके मैं div कैसे बना सकता हूं और शैली बना सकता हूं?
- 7. मैं एक constraintViolationException कैसे बना सकता हूं?
- 8. मैं बंदररुनर का उपयोग कर एंड्रॉइड इरादे में अतिरिक्त कैसे पास कर सकता हूं?
- 9. मैं एक वीबी 6 कंसोल ऐप कैसे बना सकता हूं
- 10. मैं अपना व्यक्तिगत एंड्रॉइड ऐप स्टोर कैसे बना सकता हूं?
- 11. जावास्क्रिप्ट: मैं JSONP कैसे बना सकता हूं?
- 12. मैं पर्ल क्लास कैसे बना सकता हूं?
- 13. मैं डिमन थ्रेड कैसे बना सकता हूं?
- 14. मैं इस जावा जेनेरिक कास्ट कैसे बना सकता हूं?
- 15. मैं जावा प्रोग्राम के लिए .exe कैसे बना सकता हूं?
- 16. मैं जावा में हैश टेबल कैसे बना सकता हूं?
- 17. मैं .Net का उपयोग कर Outlook PST फ़ाइल कैसे बना सकता हूं?
- 18. Monkeyrunner वेबव्यू
- 19. मैं .NET मेटाडाटा-केवल 'संदर्भ असेंबली' कैसे बना सकता हूं और उपयोग कर सकता हूं?
- 20. मैं Google स्प्रेडशीट एपीआई का उपयोग कैसे कर सकता हूं?
- 21. मैं MonkeyRunner में सॉकेट अपवाद कैसे पकड़ूं?
- 22. मैं जावा स्विंग ऐप कैसे बना सकता हूं जो विंडोज टाइटल बार को कवर करता है?
- 23. मैं सी ++ का उपयोग कर विंडोज़ एप्लिकेशन के लिए जीयूआई कैसे बना सकता हूं?
- 24. मैं जावा में गैर-धारावाहिक क्षेत्र कैसे बना सकता हूं?
- 25. मैं निष्पादन योग्य जावा प्रोग्राम कैसे बना सकता हूं?
- 26. मैं जावा का उपयोग कर जावडॉक्स कैसे उत्पन्न कर सकता हूं?
- 27. जावा ड्राइवर का उपयोग करके मैं मोंगोडीबी के लिए $ या क्वेरी कैसे बना सकता हूं?
- 28. मैं अपना खुद का हायर कैस्केड कैसे बना सकता हूं और इसे लागू कर सकता हूं?
- 29. मैं लॉकलेस कतार कैसे बना सकता हूं?
- 30. क्या मैं Google ऐप इंजन में जावा वैज्ञानिक पुस्तकालयों का उपयोग कर सकता हूं?
मुझे एक त्रुटि मिल रही है device.getProperty। आवश्यक: org.python.core.PyObject [], java.lang.String [] मिला: java.lang.String –
आपने डिवाइस के बजाय डिवाइस.getProperty (PyObject [] pos, स्ट्रिंग स्ट्रिंग्स) का उपयोग किया होगा। getProperty (स्ट्रिंग स्ट्रिंग) मेरा सबसे अच्छा अनुमान है। कृपया अपना कोड पोस्ट करें ताकि मैं इसे देख सकूं – Harkish
मैंने आपके कोड का उपयोग किया ... –