android टरन ग्रैडल के साथ रेंडरस्क्रिप्ट समर्थन लाइब्रेरी का उपयोग कैसे करें




पुस्तकालय के कार्य (5)

क्या ग्रैंडल के साथ समर्थन रेंडरस्क्रिप्ट लाइब्रेरी का उपयोग करना संभव है? यदि हां, तो आप इसे अपनी परियोजना में कैसे शामिल करते हैं?


एंड्रॉइड के लिए ग्रैडल अब आपकी बिल्ड स्क्रिप्ट में केवल 2 लाइनों के साथ रेंडरस्क्रिप्ट v8 समर्थन है। ऑस्टिन महनी द्वारा जवाब देखें। ऐतिहासिक उद्देश्य के लिए मूल उत्तर रखते हुए।

पुराना उत्तर:

ग्रैडल मूल आरएस संकलन का समर्थन करता है, लेकिन आरएस समर्थन पुस्तकालय नहीं। इसका कारण यह है कि आरएस समर्थन पुस्तकालय किसी भी अन्य समर्थन पुस्तकालय की तुलना में काफी जटिल है। आरएस समर्थन लाइब्रेरी वास्तव में एक जावा समर्थन लाइब्रेरी है, जो कि जावा लिब का बैकिंग करने वाले मूल पुस्तकालयों का एक सेट है, आपके द्वारा संकलित प्रत्येक स्क्रिप्ट के लिए अतिरिक्त देशी पुस्तकालय, और मानक स्क्रिप्ट के लिए मानक एलएलवीएम बिटकोड और देशी पुस्तकालयों को उत्पन्न करने के लिए एक वैकल्पिक टूलचैन है। अभी, केवल एडीटी और चींटी समर्थन है कि; ग्रैडल अभी तक नहीं है।

हालांकि, पहले से ही Gradle से आरएस समर्थन पुस्तकालय के कुछ हिस्सों का उपयोग करना संभव है। यदि आप आरएस इंट्रिनिक्स का उपयोग करना चाहते हैं, तो आप समर्थन लाइब्रेरी के जावा भाग (एसडीके / बिल्ड-टूल्स / एंड्रॉइड-4.3 / lib / renderscript / renderscript-v8.jar) और मूल घटक (एसडीके / बिल्ड-टूल्स) को लिंक कर सकते हैं। /android-4.3/lib/renderscript/packaged/ <arch> / *।), और फिर आप सेट हो जाएंगे।

मुझे पता है कि समर्थन पुस्तकालय के लिए ग्रैडल समर्थन बहुत दूर भविष्य में कुछ बिंदु पर आ रहा है, लेकिन मेरे पास एक फर्म ईटीए नहीं है जिसे मैं साझा कर सकता हूं।


यदि कोई इसे वितरित करने योग्य बाइनरी के रूप में पैकेज करने में रुचि रखता है .jar (उदाहरण के लिए एक मैवेन रेपो पर तैनाती के लिए) आप इस फ़ाइल संरचना का उपयोग अपने .jar के लिए कर सकते हैं।

pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>android</groupId>
  <artifactId>renderscript</artifactId>
  <version>19.0.3</version>
  <description>Artifactory auto generated POM</description>
</project>

Build.gradle के लिए, जोड़ें: compile 'android:renderscript:19.0.3' अपनी निर्भरता compile 'android:renderscript:19.0.3'

पीएस: रेंडरस्क्रिप्ट लाइब्रेरी armv6 (armeabi) पर नहीं चलेगी, इसलिए सुनिश्चित करें कि Build.CPU_ABI या तो armeabi-v7a, mips या x86 है।


मुझे पता है कि यह पहले से ही उत्तर दिया गया है, लेकिन मैंने सोचा कि मैं बिल्ड-टूल्स 21.1.0 के साथ एंड्रॉइड-स्टूडियो और रेंडरस्क्रिप्ट समर्थन के साथ अपना अनुभव साझा करूंगा। 26-32 बिल्ड-सिस्टम changelog लाइनों में मैंने यही पाया:

  • चीजों को और अधिक सुसंगत बनाने के लिए कुछ गुणों का नाम बदल दिया।
    • BuildType.runProguard -> minifyEnabled
    • BuildType.zipAlign -> zipAlignEnabled
    • BuildType.jniDebugBuild -> jniDebuggable
    • BuildType.renderscriptDebug -> renderscriptDebuggable
    • ProductFlavor.renderscriptSupportMode -> renderscriptSupportModeEnabled
    • ProductFlavor.renderscriptNdkMode -> renderscriptNdkModeEnabled

तो आप देखते हैं, उन्होंने गुणों का नाम बदल दिया है। मैंने अभी उपयोग करने के लिए build.gradle को अपडेट किया है:

renderscriptSupportModeEnabled सच है

अब पुस्तकालयों को परियोजना में जोड़ा गया है और आपको उन्हें अपने lib फ़ोल्डर में मैन्युअल रूप से जोड़ने की आवश्यकता नहीं है।


इस लेखन के समय ग्रैडल एंड्रॉइड प्लगइन में प्रयोगात्मक समर्थन है। अधिक जानकारी के लिए इस परीक्षण परियोजना को देखें।


Android स्टूडियो का उपयोग करना:

एंड्रॉइड ग्रेडल प्लगइन v0.14 + के लिए build.gradle लिए निम्न मान जोड़ें

android {
    ...
    defaultConfig {
        ...
        renderscriptTargetApi 19
        renderscriptSupportModeEnabled true
    }
    ...
}

एंड्रॉइड ग्रेडल प्लगइन v0.13.3 और नीचे के पुराने संस्करणों के लिए

android {
        ...
        defaultConfig {
            ...
            renderscriptTargetApi 19
            renderscriptSupportMode true
        }
        ...
    }

एक बार ऐसा करने के बाद, android.support.v8.renderscript. उपयोग करें android.support.v8.renderscript. अपने ऐप में कहीं भी। लाइब्रेरी जार और बाइनरी स्वचालित रूप से शामिल हैं।





renderscript