2013-03-11 8 views
5

मैं कुछ को लागू करना चाहते हैं इस तरह दिखता है:यह निर्धारित करना संभव है कि वर्तमान वीएम जावा एसई या दलविक है या नहीं?

if(isJavaVirtualMachine()){ 
    System.out.println("You are running on a JVM"); 
}else if(isDalvikVirtualMachine()){ 
    Log.i("env","You are running on an android."); 
} 

क्या यह संभव है? यदि जावा द्वारा स्वयं असंभव है, तो क्या मैं इसे जेएनआई द्वारा कर सकता हूं?

उत्तर

10

System.getProperty का उपयोग करें। डाल्विक के लिए संपत्ति नाम here

2

जैसा कि ykaganovich ने इंगित किया है, यह रनटाइम पर सादे जावा और एंड्रॉइड के बीच अंतर करना बहुत आसान होना चाहिए। दूसरी समस्या यह है कि आपके पास सादे जावा वातावरण में लॉग जैसे एंड्रॉइड विशिष्ट वर्ग नहीं होंगे, इसलिए आप रनटाइम पर समस्याओं में भाग लेंगे! एक संभावित समाधान प्रतिबिंब का उपयोग करके मंच विशिष्ट एडाप्टर को इकट्ठा करना होगा, इसलिए आप केवल रनटाइम पर निर्भरता को खींच सकते हैं (कुछ हद तक मुश्किल हो सकता है)।

+0

एक अच्छा बिंदु। धन्यवाद! – Will

संबंधित मुद्दे

 संबंधित मुद्दे