2015-07-02 16 views
8

Mein Android-Projekt hat nur AIDL Datei, Projektstruktur ist wie folgt:Maven bauen android Projekt: geben Sie den Speicherort der Datei AIDL

MyProject/ 
    src/ 
    main/ 
     com.my.aidl/ 
       IMyService.aidl 
    pom.xml 

ich mit Maven mein Android-Projekt am Bau. Mein pom verwendet das dexguard-maven-plugin welches eine Erweiterung von android-maven-plugin ist.

in der Plugin-Konfiguration, ich explizit angegeben das Verzeichnis der Quelle AIDL Datei & das Verzeichnis der generierten Java-Datei.

<build> 
    <plugins> 
     <plugin> 
      <groupId>com.saikoa.dexguard.maven</groupId> 
      <artifactId>dexguard-maven-plugin</artifactId> 
      <configuration> 
       <aidlSourceDirectory> 
        ${project.basedir}/src/main/com/my/aidl 
       </aidlSourceDirectory> 

       <genDirectoryAidl> 
        ${project.build.directory}/generated-sources/aidl/main/com/my/aidl 
       </genDirectoryAidl> 
      </configuration> 
      <extensions>true</extensions> 
     </plugin> 
    </plugins> 
</build> 

Aber nachdem ich laufen mvn clean install -e bekam ich die folgende Fehlertrace:

[ERROR] Failed to execute goal com.saikoa.dexguard.maven:dexguard-maven-plugin:6.1.18:generate-sources (default-generate-sources) on project MyProject: Execution default-generate-sources of goal com.saikoa.dexguard.maven:dexguard-maven-plugin:6.1.18:generate-sources failed. NullPointerException -> [Help 1] 
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.saikoa.dexguard.maven:dexguard-maven-plugin:6.1.18:generate-sources (default-generate-sources) on project MyProject: Execution default-generate-sources of goal com.saikoa.dexguard.maven:dexguard-maven-plugin:6.1.18:generate-sources failed. 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:224) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) 
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317) 
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152) 
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555) 
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214) 
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:158) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) 
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default-generate-sources of goal com.saikoa.dexguard.maven:dexguard-maven-plugin:6.1.18:generate-sources failed. 
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:115) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) 
    ... 19 more 
Caused by: java.lang.NullPointerException 
    at java.io.File.<init>(File.java:334) 
    at com.jayway.maven.plugins.android.phase01generatesources.GenerateSourcesMojo.generateAidlFiles(GenerateSourcesMojo.java:1266) 
    at com.jayway.maven.plugins.android.phase01generatesources.GenerateSourcesMojo.execute(GenerateSourcesMojo.java:343) 
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106) 
    ... 20 more 
[ERROR] 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 

Was ist falsch?

Antwort

1

Verlassen Sie sich auf Ihre Log-Nachricht, hat dort einen nullexception. Ich schätze, das Verzeichnis stimmt nicht. Haben Sie versucht, das genDirectoryAidl von 'generated-sources/aidl/main/com/mein/aidl' in 'generated-sources/aidl /' zu ändern? Vielleicht, wenn Sie ein Verzeichnis mit dem Namen "main/com/my/aidl" erstellen, werden Sie Erfolg haben.

Hoffnung Diese Nachricht kann Ihnen helfen.

0

Wie ich sehen kann, ist ein Nullpointer möglicherweise von einigen ungelösten Abhängigkeiten verursacht. Here ist ein Link für ähnliche Probleme. Versuchen Sie, maven erneut mit -X auszuführen und zeigen Sie uns die Debug-Ausgabe an.