मैं Android में Byte Buddy लाइब्रेरी का उपयोग करने की कोशिश कर रहा हूँ, लेकिन मैं कोई त्रुटि मिलती है: मेरे App मेंएंड्रॉयड
ByteBuddy test = new ByteBuddy();
:
java.lang.IllegalStateException: This JVM's version string does not seem to be valid: 0
मैंने अभी तक कुछ भी नहीं कोडित है, बस जावा
मैं आयात किया है:
<dependency>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy</artifactId>
<version>0.7.7</version>
</dependency>
लेकिन यह काम नहीं किया, के लिए मैं के साथ की कोशिश की:
<dependency>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy-android</artifactId>
<version>0.7.7</version>
</dependency>
लेकिन मैं अभी भी एक ही त्रुटि मिलती है।
संपादित
मैं इस लाइन डाल दिया है पहले ByteBuddy प्रारंभ:
System.setProperty("java.version", "1.7.0_51");
लेकिन अब मैं इस एक और त्रुटि मिलती है:
Class<?> dynamicType = new ByteBuddy(ClassFileVersion.JAVA_V6)
.subclass(Object.class)
.method(ElementMatchers.named("toString"))
.intercept(FixedValue.value("Hello World!"))
.make()
.load(getClass().getClassLoader(), AndroidClassLoadingStrategy.Default.WRAPPER)
.getLoaded();
: इस कोड के लिए
Caused by: java.lang.UnsupportedOperationException: can't load this type of class file.
एंड्रॉइड पर, कक्षा फ़ाइल संस्करण को स्पष्ट रूप से जोड़ने का प्रयास करें: नया बाइटबड्डी (क्लासफाइलवर्सन.जेएवीए_6), एंड्रॉइड निर्भरता में एक एंड्रॉइड विशिष्ट क्लासलोडिंगस्ट्रेटी है। –
मैंने कक्षा लोडिंग रणनीति को एंड्रॉइड वन में बदल दिया है और क्लासफाइलवर्सन निर्दिष्ट किया है लेकिन मुझे अभी भी वही त्रुटि मिलती है। –
आप एंड्रॉइड क्लास लोडिंग रणनीति का उपयोग नहीं कर रहे हैं। डिफ़ॉल्ट रणनीतियां वहां काम नहीं करती हैं। "नया" का उपयोग कर एक को तत्काल करें। –