2011-07-24 18 views
9

में एपेट तत्व के लिए प्रलेखन मैं एंड्रॉइड बिल्ड सिस्टम के लिए कुछ चींटी स्क्रिप्ट पर काम कर रहा हूं और एपेट को कॉल करने के लिए एक तत्व में आया हूं। मैं के साथचींटी स्क्रिप्ट

कार्यकारी निष्पादन = "$ {aapt}"

लेकिन जो कि main_rules.xml फ़ाइल से बाहर आने के उदाहरण के बहुत सारे देखा है एक अलग स्वरूप का उपयोग

<aapt executable="${aapt}" 
      command="package" 
      debug="${build.packaging.debug}" 
      manifest="AndroidManifest.xml" 
      assets="${asset.absolute.dir}" 
      androidjar="${android.jar}" 
      apkfolder="${out.absolute.dir}" 
      resourcefilename="${resource.package.file.name}" 
      resourcefilter="${aapt.resource.filter}"> 
     <res path="${resource.absolute.dir}" /> 
     <!-- <nocompress /> forces no compression on any files in assets or res/raw --> 
     <!-- <nocompress extension="xml" /> forces no compression on specific file extensions in assets and res/raw --> 
    </aapt> 

मैं चाहूँगा इस तत्व का उपयोग कर पैकेज का नाम बदलने के लिए, लेकिन इसका उपयोग कैसे करें इसके बारे में कोई दस्तावेज़ीकरण नहीं मिल रहा है। क्या किसी को पता है कि मैं कुछ कहां पा सकता हूं?

धन्यवाद

उत्तर

1

मुझे संदेह है कि स्रोत कोड से परे कोई दस्तावेज है।

+3

। .. उदाहरण के लिए यहां पाया जा सकता है: http://www.netmite.com/android/mydroid/1.5/development/tools/anttasks/src/com/android/ant/AaptExecLoopTask.java –

7

मैं कुछ भी नहीं मिल और

<exec executable="${aapt}" failonerror="true"> 
     <arg value="package" /> 
     <arg value="-f" /> 
     <arg value="-v" /> 
     <arg value="-M" /> 
     <arg path="AndroidManifest.xml" /> 
     <arg value="-A" /> 
     <arg path="assets" /> 
     <arg value="-I" /> 
     <arg path="${android.jar}" /> 
     <arg value="-m" /> 
     <arg value="-J" /> 
     <arg path="${out.absolute.dir}" /> 
     <arg value="-F" /> 
     <arg path="${out.absolute.dir}/${resource.package.file.name}" /> 
     <arg value="-S" /> 
     <arg path="res" /> 
     <arg value="--rename-manifest-package" /> 
     <arg value="my.new.package.name" /> 
    </exec> 
7

काम करने के लिए नई (ईआर) एंड्रॉयड एसडीके के संस्करण में जिसके बाद लगता है का उपयोग कर समाप्त हो गया हो सकता है, चींटी निर्माण स्क्रिप्ट एक अलग तरह से काम करता है। यह एप कमांड को सीधे exec तत्व के माध्यम से सीधे नहीं बुलाता है बल्कि एक एपेट कार्य को परिभाषित करता है। उत्तरार्द्ध जावा क्लास com.android.ant.AaptExecTask द्वारा कार्यान्वित किया गया है। यह कक्षा केवल एप कमांड लाइन विकल्पों का सबसेट प्रदान करती है।

आप के रूप में स्रोत जावा दस्तावेज़ में पाया aapt कमांड लाइन विकल्प और नीचे चींटी पैरामीटर के बीच मानचित्रण का एक संक्षिप्त विवरण पा सकते हैं:

Aapt Option    Ant Name  Type 
--------------------------------------------------------------------------------- 
path to aapt   executable  attribute (Path) 
command     command   attribute (String) 
-v      verbose   attribute (boolean) 
-f      force   attribute (boolean) 
-M AndroidManifest.xml manifest  attribute (Path) 
-I base-package   androidjar  attribute (Path) 
-A asset-source-dir  assets   attribute (Path 
-S resource-sources  <res path=""> nested element(s) 
             with attribute (Path) 
-0 extension   <nocompress extension=""> nested element(s) 
         <nocompress>    with attribute (String) 
-F apk-file    apkfolder     attribute (Path) 
         outfolder     attribute (Path) deprecated 
         apkbasename    attribute (String) 
         basename     attribute (String) deprecated 

-J R-file-dir  rfolder   attribute (Path) 
            -m always enabled 

जहाँ तक मुझे पता चला के रूप में, वहाँ कोई रास्ता नहीं है इस नए निर्माण कार्य के माध्यम से जेनेरिक एपेट विकल्प प्रदान करें। ऐसा लगता है कि एडीपी इनवोकेशन के प्रतिस्थापन के साथ एसडीके के build.xml की संशोधित प्रतिलिपि लेना संभव है।

किसी को भी एक बेहतर समाधान जानता है, मैं के बारे में पढ़ने के लिए खुशी है कि, भी ;-)

संपादित होगा: शुरू की नाम संकुल फिर SDK के भी नए संस्करण में:

Aapt Option --rename-manifest-package package-name 
Ant Name  manifestpackage 
Type   attribute (String) 
+0

मुझे विशेषता का नाम मिलता है लंबे समय के लिए --rename-manifest-package विकल्प। यह मेरे लिए बहुत उपयोगी है। – lishali