2010-10-25 10 views
18

मैं एंड्रॉइड के लिए एक प्रोजेक्ट शुरू करना चाहता हूं लेकिन मैं इसे मैवेन का उपयोग करके बनाना चाहता हूं। क्या Google मैवेन या इसका समर्थन करने की योजना के लिए समर्थन प्रदान करता है? यह बहुत अच्छा होगा अगर किसी को मेवेन के लिए कम से कम एक आर्केटाइप पता है जिसे मैं इस बीच उपयोग कर सकता हूं। अग्रिम में धन्यवाद।एंड्रॉइड परियोजनाओं के लिए मेवेन समर्थन?

उत्तर

13

क्या मैं सच में चाहते थे an article like this था, लेकिन मैं यह पाया के बाद सवाल का जवाब दे रहा था।

अद्यतन: SpringSource पर लोगों को एक स्प्रिंग एंड्रॉयड परियोजना एक Android पर्यावरण और have Maven support में स्प्रिंग फ्रेमवर्क के उपयोग का समर्थन करता है कि किया था। मुझे इसे एक मौका और देना होगा।

First part

Second part

18

लगता है जैसे a maven plugin for that :-)

+1

ठीक है, ऐसा लगता है कि मेरा google-fu कमजोर है। धन्यवाद। – Ither

+0

यह वास्तव में मदद करनी चाहिए। +1 –

3

The Android Maven plugin में किए गए परिवर्तनों का समर्थन करने के अद्यतन किया गया है:

यहाँ स्प्रिंग Android और Maven बारे में एक लेख ग्रहण 3.6 और एंड्रॉयड एसडीके 9, विभाजन का उपयोग कर दो भागों में है एंड्रॉइड एसडीके आर 14 रिलीज। नए संस्करण का उपयोग करने के लिए आपको अपने पीओएम को समायोजित करने की आवश्यकता होगी। मेरे ऐप के निर्माण के दौरान मुझे नए संस्करण के साथ मेमोरी त्रुटि से बाहर का अनुभव हुआ, इसलिए अधिक उपलब्ध स्मृति के लिए अनुमति देने के लिए डीएक्स जेवीएम आर्टमेंट्स अनुभाग को नोट करें।

<plugin> 
    <groupId>com.jayway.maven.plugins.android.generation2</groupId> 
    <artifactId>android-maven-plugin</artifactId> 
    <version>3.0.0-alpha-13</version> 
    <configuration> 
     <sdk> 
      <platform>${android-platform}</platform> 
     </sdk> 
     <dex> 
      <jvmArguments> 
       <jvmArgument>-Xms256m</jvmArgument> 
       <jvmArgument>-Xmx512m</jvmArgument> 
      </jvmArguments> 
     </dex> 
     <deleteConflictingFiles>true</deleteConflictingFiles> 
     <undeployBeforeDeploy>true</undeployBeforeDeploy> 
    </configuration> 
    <extensions>true</extensions> 
</plugin> 

ग्रहण के लिए एंड्रॉयड कौन्फ़िगरेटर (m2e-एंड्रॉयड) के नवीनतम संस्करण को भी R14 में परिवर्तन का समर्थन करता है। आखिरकार, मैंने Updated Maven Support for Android Projects नामक स्प्रिंगसोर्स साइट पर एक फॉलो अप ब्लॉग पोस्ट किया है, जो टूल्स के लिए इन अपडेटों पर जाता है।

2

ग्रहण में मौजूदा एंड्रॉइड प्रोजेक्ट में मैवेन सपोर्ट जोड़ने के लिए मैंने यही किया है। मैंने एक्लिप्स बाजार स्थान के माध्यम से 'm2e' प्लगइन स्थापित किया। फिर मैंने 'm2e-android' प्लगइन स्थापित किया। इस समय इसे ग्रहण बाजार स्थान में 'एम 2 ई के लिए एंड्रॉइड कॉन्फ़िगरेटर' कहा जाता है। दो प्लगइन्स इंस्टॉल करने और ग्रहण को पुनरारंभ करने के बाद, मौजूदा एंड्रॉइड प्रोजेक्ट पर राइट क्लिक करें -> कॉन्फ़िगर करें -> मेवेन प्रोजेक्ट में कनवर्ट करें। अपनी परियोजना के लिए एक अद्वितीय समूह आईडी और एक आर्टिफैक्ट आईडी चुनें और फिर समाप्त क्लिक करें। निम्नलिखित सामग्री को परियोजना के pom.xml पर कॉपी करें और सभी मौजूदा सामग्री को प्रतिस्थापित करें। आपके द्वारा उपयोग किए जा रहे एसडीके संस्करण में 'निर्भरता' के तहत 'संस्करण' टैग का मान बदलें। फ़ाइल के अंत के पास अपने प्लेटफ़ॉर्म के मान पर 'प्लेटफ़ॉर्म' टैग का मान भी बदलें। GroupId, artifactId और xml का नाम भी बदलने के लिए मत भूलना।

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>org.myproject</groupId> 
    <artifactId>MyProject</artifactId> 
    <version>0.1.0-SNAPSHOT</version> 
    <packaging>apk</packaging> 
    <name>MyProject</name> 

    <dependencies> 
     <dependency> 
      <groupId>com.google.android</groupId> 
      <artifactId>android</artifactId> 
      <version>2.3.3</version> 
      <scope>provided</scope> 
     </dependency> 
    </dependencies> 
    <build> 
     <finalName>${project.artifactId}</finalName> 
     <sourceDirectory>src</sourceDirectory> 
     <pluginManagement> 
      <plugins> 
       <plugin> 
        <groupId>com.jayway.maven.plugins.android.generation2</groupId> 
        <artifactId>android-maven-plugin</artifactId> 
        <version>3.3.0</version> 
        <extensions>true</extensions> 
       </plugin> 
      </plugins> 
     </pluginManagement> 
     <plugins> 
      <plugin> 
       <groupId>com.jayway.maven.plugins.android.generation2</groupId> 
       <artifactId>android-maven-plugin</artifactId> 
       <configuration> 
        <sdk> 
         <!-- platform or api level (api level 4 = platform 1.6)--> 
         <platform>10</platform> 
        </sdk> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

उसके बाद परियोजना -> मेवेन -> अद्यतन परियोजना पर राइट क्लिक करें। ग्रहण एक्सएमएल में त्रुटियों के बारे में शिकायत कर रहा है, तो आप फिर उस pom.xml फ़ाइल वाले फ़ोल्डर में कंसोल से चलाने

mvn clean install 

Maven स्थापित करने के लिए कर सकते हैं।

0

@Riduidel के रूप में पहले कहा गया था, आप com.jayway.maven.plugins.android.generation2 प्लगइन का उपयोग कर सकते हैं।
नोट, कि आपको किसी भी प्लगइन डाउनलोड करने की आवश्यकता नहीं है, आपको इस प्लगइन का उपयोग करने के लिए केवल मेवेन रखना होगा।
मैं इसे कैसे किया:

  1. मैन्युअल पोम जोड़ें।अपने एंड्रॉइड प्रोजेक्ट (परियोजना की जड़ तक) के लिए एक्सएमएल।

  2. अपाचे-मेवेन-3.1.1 डाउनलोड करें और अपने बिन फ़ोल्डर (पूर्व डी: \ जावा \ apache-maven-3.1.1 \ bin;) को पर्यावरण चर में पथ में जोड़ें।

  3. कॉन्फ़िगर settings.xml में [Your_maven_path] \ अगले साथ conf:

    <pluginGroups> 
    
        <pluginGroup>com.jayway.maven.plugins.android.generation2</pluginGroup> 
    
    </pluginGroups> 
    
  4. सामग्री pom.xml में जोड़े। मेरे उदाहरण: महत्वपूर्ण <packaging>, <build> नोड्स पर

    <?xml version="1.0" encoding="UTF-8"?> 
        <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
         <modelVersion>4.0.0</modelVersion> 
         <groupId>com.example.ENumbers</groupId> 
         <artifactId>ENumbers</artifactId> 
         <version>1.0</version> 
         <packaging>apk</packaging> 
         <name>MainApp</name> 
    
         <properties> 
          <platform.version>2.2.1</platform.version> 
         </properties> 
    
         <dependencies> 
          <dependency> 
           <groupId>com.google.android</groupId> 
           <artifactId>android</artifactId> 
           <version>${platform.version}</version> 
           <scope>provided</scope> 
          </dependency> 
          <dependency> 
           <groupId>org.simpleframework</groupId> 
           <artifactId>simple-xml</artifactId> 
           <version>2.7.1</version> 
           <scope>provided</scope> 
          <exclusions> 
           <exclusion> 
            <artifactId>xpp3</artifactId> 
            <groupId>xpp3</groupId> 
           </exclusion> 
           <exclusion> 
            <artifactId>stax-api</artifactId> 
            <groupId>stax</groupId> 
           </exclusion> 
           <exclusion> 
            <artifactId>stax</artifactId> 
            <groupId>stax</groupId> 
           </exclusion> 
           <exclusion> 
            <artifactId>spring-web</artifactId> 
            <groupId>org.springframework</groupId> 
           </exclusion> 
           <exclusion> 
            <artifactId>commons-logging</artifactId> 
            <groupId>commons-logging</groupId> 
           </exclusion> 
           </exclusions> 
          </dependency> 
         </dependencies> 
    
         <build> 
          <sourceDirectory>src</sourceDirectory> 
          <plugins> 
           <plugin> 
            <groupId>com.jayway.maven.plugins.android.generation2</groupId> 
            <artifactId>android-maven-plugin</artifactId> 
            <version>3.8.1</version> 
            <configuration> 
             <androidManifestFile>${project.basedir}/AndroidManifest.xml</androidManifestFile> 
             <assetsDirectory>${project.basedir}/assets</assetsDirectory> 
             <resourceDirectory>${project.basedir}/res</resourceDirectory> 
             <nativeLibrariesDirectory>${project.basedir}/src/main/native</nativeLibrariesDirectory> 
             <sdk> 
              <path> 
               D:\Program Files\Android\android-sdk 
              </path> 
              <platform>22</platform> 
             </sdk> 
             <undeployBeforeDeploy>true</undeployBeforeDeploy> 
            </configuration> 
            <extensions>true</extensions> 
           </plugin> 
    
           <plugin> 
            <artifactId>maven-compiler-plugin</artifactId> 
            <version>2.3.2</version> 
            <configuration> 
             <source>1.6</source> 
             <target>1.6</target> 
            </configuration> 
           </plugin> 
          </plugins> 
         </build> 
        </project> 
    

देखो, यह सामग्री और com.google.android निर्भरता है।

  1. अब आप अपने आईडीई में मेवेन विंडो खोल सकते हैं। इंटेलिज आइडिया के लिए मैं इसे आगे करता हूं:
    संपादित करें-> टूल विंडोज-> मेवेन और मैवेन निर्देशिका शुरू करने के लिए अपना pom.xm एल जोड़ें।
  2. यह सब कुछ है।
संबंधित मुद्दे