android एंड्रॉइड स्टूडियो और मटकाटॉक?




ant aspectj (3)

एंड्रॉइड स्टूडियो Intellij समुदाय संस्करण के बंद बनाया गया है, जो कि मेरे ज्ञान में ऐस्पेक्ज समर्थन में निर्मित नहीं है

आप Intellij AspectJ प्लगइन को जोड़ने का प्रयास कर सकते हैं - ऐसा लगता है कि एंड्रॉइड स्टूडियो में AspectJ सेटअप करना संभव है, हालांकि मैंने अभी तक इसके साथ काम करने वाले MonkeyTalk की कोशिश नहीं की है

https://code.i-harness.com

क्या एंड्रॉइड स्टूडियो के साथ किसी को सफलतापूर्वक स्थापित किया गया है?

इस बिंदु पर मेरी मुख्य समस्या यह है कि मुझे जावा कम्पाइलर को एएससीएजी सेट करने का एक तरीका दिखाई नहीं देता है

मेरा मानना ​​है कि custom_rules.xml में ऐसा करने का कोई तरीका है, लेकिन मैंने यह नहीं देखा कि अभी तक यह कैसे करना है I

यह शायद असंबंधित समस्या की ओर जाता है, लेकिन एंड्रॉइड स्टूडियो के नवीनतम संस्करण में मैं (0.1.1) का उपयोग कर रहा हूं, मुझे एंड्रॉइड स्टूडियो के अंदर की एटी बिल्ड चलाने का कोई तरीका नहीं है।

किसी भी सुझाव की सराहना की!


MonkeyTalk (संस्करण 2.0.1 के अनुसार) ने अब "इंस्ट्रूमेंट" को अपने पहले से बनाए गए नियमित एपीके को किसी भी आईडीई के स्वतंत्र से बंदर टॉक के साथ उपकरण जारी किया है। ओएस एक्स में इस इंस्ट्रूमेंटेशन प्रक्रिया को पूरा करने के लिए कदम:

1. डाउनलोड करें मटकाटोक 2.0.1 प्रो बीटा

2. "उदाहरण" नामक डेस्कटॉप पर एक नया खाली फ़ोल्डर बनाएं या जो भी आप चाहते हैं

3.Copy monkeytalkpro / agents / android / monkeytalk-agent-2.0.1.jar "उदाहरण" निर्देशिका में

4. "monkeytalkpro / ant / monkeytalkpro-ant-2.0.1.beta.jar" को "उदाहरण" निर्देशिका में कॉपी करें

5. अपने एपीके फ़ाइल को "उदाहरण" निर्देशिका में कॉपी करें (इस उदाहरण के लिए myapp.apk नामित)

6. "उदाहरण" निर्देशिका में build.xml नामक एक नई फ़ाइल बनाएं और इसे निम्नलिखित के साथ भरें:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:mt="antlib:com.gorillalogic.monkeytalk.ant">

    <target name="instru">
        <mt:instrument
            srcfile="myapp.apk"
            destfile="myapp-post-instrumented.apk"
            agent="monkeytalk-agent-2.0.1.jar"
            androidsdk="/path/to/your/sdk"
            androidtarget="android-17"
            log="log.txt"
            verbose="true" />
        </target>

</project>

7. ओपन टर्मिनल और सीडी आपकी "उदाहरण" निर्देशिका में

8. आईएसयूएस कमांड ant instru -lib monkeytalkpro-ant-2.0.1.beta.jar

9. कमांड को "मैप-पोस्ट-इंस्ट्रूमेंट.एपीक" शीर्षक से आपकी "उदाहरण" डायरेक्टरी में एक मकरटॉक संगत एपीके का उत्पादन करना चाहिए और फिर चलाना चाहिए।

चेतावनी: ऐसा एक ऐसा बग लगता है जहां इंस्ट्रूमेंटेशन प्रक्रिया "myapp-instrumented.apk" नामक आपकी "उदाहरण" निर्देशिका में एक और फ़ाइल भी रखेगी, लेकिन यह फ़ाइल रिक्त हो जाएगी। इसलिए सुनिश्चित करें कि आपकी गंतव्य फ़ाइल "build-up.xml" में आपके निर्माण फ़ाइल में "myapp-instrumented.apk" शीर्षक नहीं है या यह रिक्त फ़ाइल आपके मन्डरटॉक संगत फ़ाइल को अधिलेखित करेगी।


एक ऐसा दृष्टिकोण जिसे मैंने पाया है, के लिए अच्छी तरह से काम करता है एंड्रॉइड- gradle-aspject-j प्लगइन का उपयोग यहां पाया जाता है https://github.com/uPhyca/gradle-android-aspectj-plugin

मैंने जो किया है वह एक नया बिल्ड टाइप (मन्दिटॉक) बना रहा है, इसमें केवल इस बिल्ड प्रकार के लिए कंपाइल निर्भरता के रूप में बंदर टॉक जार शामिल है और उपर्युक्त एएसटीजे प्लगइन को लागू किया है। यह सुनिश्चित करता है कि बंदर टॉक बनाने के प्रकार के लिए बंदर टॉक बुनाई होती है।

यहां एक स्निपेट है कि मेरा बिल्ड एक्सएमएल कैसा दिखता है

buildscript {
  repositories {
    mavenCentral()
  }
  dependencies {
    classpath 'com.uphyca.gradle:gradle-android-aspectj-plugin:0.9.5'
  }
}
apply plugin: 'com.android.application'
apply plugin: 'android-aspectj'

android {
  buildTypes {
    monkeytalk.initWith(buildTypes.debug)
    monkeytalk {
      applicationIdSuffix ".monkey"
    }
  }
}

dependencies {
  monkeytalkCompile(files("monkey-talk/monkeytalk-agent-2.0.5.jar"))
}

मैंने भी एक एंड्रॉइड मैनिफ़ेस्ट.एक्सएमएल फ़ाइल को बंदर टॉक बिल्ड प्रकार के लिए जोड़ा है जो आवश्यक अनुमतियों को जोड़ता है, अर्थात जीईटीईएसकेएस और इंटरनेट

एक पूर्ण नमूना ऐप के लिए, इस गिथूब रेपो पर एक नज़र डालें https://github.com/georgepapas/android-gradle-monkey-talk-demo/







monkeytalk