वर्णन - com.android.ant.NewSetupTask SDK v20 टूल में नवीनीकरण के बाद त्रुटि नहीं मिली




या निर्देशिका (4)

[ANDROID_HOME] \ औरroid-sdk \ tools \ ant के तहत अद्यतन build.xml का उपयोग करना, आपको कस्टम चींटी कार्य परिभाषाओं को जोड़ने की आवश्यकता नहीं है

V20 एसडीके टूल में अपग्रेड करने के बाद, मुझे यह त्रुटि प्राप्त हो रही है जब मेरी चींटी बिल्ड चलाने का प्रयास करते हैं।

Sdk.dir गुण सही और सत्यापित है (build.xml में आउटपुट में जोड़ने) Unattacking antsasks.jar ऐसा लगता है कि NewSetupTask वास्तव में नवीनतम उपकरणों में गायब है।

META-INF/
META-INF/MANIFEST.MF
com/
com/android/
com/android/ant/
com/android/ant/RenderScriptTask.class
com/android/ant/SingleDependencyTask$1.class
com/android/ant/PropertyByReplaceTask.class
com/android/ant/BuildTypedTask.class
com/android/ant/AaptExecTask$1.class
com/android/ant/AaptExecTask$ResFolderInputPath.class
com/android/ant/AaptExecTask$NoCompress.class
com/android/ant/ApkBuilderTask.class
com/android/ant/GetLibraryPathTask.class
com/android/ant/InputPath.class
com/android/ant/RenderScriptTask$OptLevel.class
com/android/ant/TaskHelper.class
com/android/ant/XPathTask.class
com/android/ant/ManifestMergerTask.class
com/android/ant/DependencyHelper$LibraryProcessor.class
com/android/ant/CheckEnvTask.class
com/android/ant/RenderScriptTask$1.class
com/android/ant/ApkBuilderTask$SourceFolderInputPath.class
com/android/ant/DependencyHelper$JarProcessor$1.class
com/android/ant/ComputeDependencyTask.class
com/android/ant/SingleInputOutputTask.class
com/android/ant/GetLibraryPathTask$1.class
com/android/ant/RenderScriptTask$RenderScriptProcessor.class
com/android/ant/SignApkTask.class
com/android/ant/DependencyHelper$JarProcessor.class
com/android/ant/SignApkTask$NullZipFilter.class
com/android/ant/DependencyHelper$AdvancedLibraryProcessor.class
com/android/ant/DependencyGraph.class
com/android/ant/ComputeDependencyTask$1.class
com/android/ant/DexExecTask.class
com/android/ant/MultiFilesTask.class
com/android/ant/AidlExecTask$1.class
com/android/ant/DependencyHelper.class
com/android/ant/AidlExecTask.class
com/android/ant/BuildConfigTask.class
com/android/ant/ApkBuilderTask$1.class
com/android/ant/AaptExecTask.class
com/android/ant/SingleDependencyTask.class
com/android/ant/DependencyGraph$1.class
com/android/ant/ZipAlignTask.class
com/android/ant/GetTypeTask.class
com/android/ant/GetEmmaFilterTask.class
com/android/ant/IfElseTask.class
com/android/ant/DependencyGraph$DependencyStatus.class
com/android/ant/AidlExecTask$AidlProcessor.class
com/android/ant/ComputeProjectClasspathTask.class
com/android/ant/SingleDependencyTask$InputPathFactory.class
com/android/ant/GetTargetTask$1.class
com/android/ant/MultiFilesTask$DisplayType.class
com/android/ant/MultiFilesTask$SourceProcessor.class
com/android/ant/GetProjectPathsTask.class
com/android/ant/SignApkTask$1.class
com/android/ant/GetTargetTask.class
com/android/ant/ComputeDependencyTask$2.class
com/android/ant/GetLibraryPathTask$LeafProcessor.class
anttasks.properties

यह कहाँ जाना होगा?


समस्या यह है कि मैं पूरी तरह से अनुकूलित build.xml फ़ाइल का उपयोग कर रहा हूं इस तथ्य से जुड़ी हुई है। जैसे, इसमें निम्नलिखित कस्टम चींटी कार्य परिभाषाएं शामिल हैं:

<taskdef name="setup"
    classname="com.android.ant.NewSetupTask"
    classpathref="android.antlibs" />

<taskdef name="aapt"
    classname="com.android.ant.AaptExecTask"
    classpathref="android.antlibs" />

<taskdef name="aidl"
    classname="com.android.ant.AidlExecTask"
    classpathref="android.antlibs" />

<taskdef name="renderscript"
    classname="com.android.ant.RenderScriptTask"
    classpathref="android.antlibs" />

<taskdef name="dex"
    classname="com.android.ant.DexExecTask"
    classpathref="android.antlibs" />

<taskdef name="apkbuilder"
    classname="com.android.ant.ApkBuilderTask"
    classpathref="android.antlibs" />

<taskdef name="zipalign"
    classname="com.android.ant.ZipAlignTask"
    classpathref="android.antlibs" />

<taskdef name="xpath"
    classname="com.android.ant.XPathTask"
    classpathref="android.antlibs" />

<taskdef name="if"
    classname="com.android.ant.IfElseTask"
    classpathref="android.antlibs" />

इनमें से एक या अधिक अब anttasks.jar पुस्तकालय द्वारा उपलब्ध नहीं है। मेरे build.xml फ़ाइल की तुलना में एक स्थित {sdk.dir}/tools/ant/build.xml मैं नोटिस करता हूं कि इन परिभाषाओं को निम्न के साथ बदल दिया गया है:

<taskdef resource="anttasks.properties" classpathref="android.antlibs" />

पुराने कार्य defs बदलना इस new task def कथन के साथ मेरी build.xml फ़ाइल में अनुपलब्ध कार्यों का संदर्भ निकाल दिया जाता है और मेरी समस्या को ठीक करता है।


एंड्रॉइड- sdks android-sdks\tools\lib तहत अपने anttask.jar की जांच करें।

आपके build.xm पर, यह anttask.jar हो सकता है लेकिन नया एसडीके इसका नाम ant-task.jar । इसलिए, xml या फाइल सिस्टम पर नाम बदलें


आपको केवल दो रजिस्ट्री प्रविष्टियों की आवश्यकता है। ऐसा प्रतीत होता है कि जिसने अन्य रजिस्ट्री सामग्री पोस्ट की है, मूल रूप से HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft से HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft सभी चाबियों की प्रतिलिपि बनाई गई है, जो स्पष्ट रूप से एक आदर्श समाधान नहीं है क्योंकि अधिकांश चाबियों की आवश्यकता नहीं है।

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Development Kit]
"CurrentVersion"="1.6"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Development Kit\1.6]
"JavaHome"="C:\\Program Files\\Java\\jdk1.6.0_23"