Maven + RoboGuice + ActionBarSherlock + RoboGuice-Sherlock

Estoy tratando de crear un proyecto de base de Android utilizando el arquetipo android-quickstart, y la adición de RoboGuice, dependencias de ActionBarSherlock, además de RoboGuice-Sherlock para combinar los dos.

Este es mi pom.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>com.myapp</groupId> <artifactId>BaseApp</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>apk</packaging> <name>BaseApp</name> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <platform.version> 4.1.1.4 </platform.version> <android.plugin.version>3.6.0</android.plugin.version> </properties> <dependencies> <dependency> <groupId>com.google.android</groupId> <artifactId>android</artifactId> <version>${platform.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.roboguice</groupId> <artifactId>roboguice</artifactId> <version>2.0</version> </dependency> <dependency> <groupId>com.google.code.findbugs</groupId> <artifactId>jsr305</artifactId> <version>1.3.9</version> </dependency> <dependency> <groupId>com.actionbarsherlock</groupId> <artifactId>actionbarsherlock</artifactId> <version>4.4.0</version> <type>apklib</type> </dependency> <dependency> <groupId>com.github.rtyley</groupId> <artifactId>roboguice-sherlock</artifactId> <version>1.5</version> </dependency> </dependencies> <build> <finalName>${project.artifactId}</finalName> <pluginManagement> <plugins> <plugin> <groupId>com.jayway.maven.plugins.android.generation2</groupId> <artifactId>android-maven-plugin</artifactId> <version>${android.plugin.version}</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>16</platform> </sdk> </configuration> </plugin> </plugins> </build> </project> 

Pero m2eclipse no funcionará con este Pom.xml, ya que es incapaz de encontrar la dependencia apklib. Speficically Estoy recibiendo el siguiente mensaje en la pestaña "Problemas" en Eclipse:

 dependency=[com.actionbarsherlock:actionbarsherlock:apklib:4.4.0:compile] not found in workspace pom.xml /BaseApp line 1 me.gladwell.eclipse.m2e.android.markers.dependency.apklib 

He intentado quitar la línea <type>apklib</type> , pero mis recursos de ABS (es decir, los temas requeridos) no se importan al proyecto.

He leído en varias preguntas que el tipo de apklib sólo funciona en línea de comandos, y que si quiero mantener el IDE necesito importar ABS manualmente como una biblioteca. Lo hice, pero RoboGuice se bloquea porque el proyecto se convierte en un proyecto de biblioteca y, aparentemente, los ID de recursos no son definitivos en proyectos de biblioteca. (El error de tiempo de compilación que obtengo es "El valor del atributo de anotación InjectView.value debe ser una expresión constante"). Para referencia, ésta es mi única actividad:

 public class HelloAndroidActivity extends RoboSherlockActivity { @InjectView(R.id.helloworld) TextView textView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView.setText("Roboguice says Hello World"); } } 

¿Hay alguna forma adecuada de crear un proyecto base con estos tres elementos usando maven y Eclipse?

One Solution collect form web for “Maven + RoboGuice + ActionBarSherlock + RoboGuice-Sherlock”

Resulta que accidentalmente hice clic en la casilla "Is Library" en Propiedades del proyecto. Ahora funciona con ABS importado manualmente como una biblioteca.

Es una lástima que no sea capaz de usar Maven directamente 🙁

  • Inyectar objeto con constructor que toma un parámetro usando RoboGuice 2
  • RoboGuice unidad de prueba de inyección de módulo de aplicación en lugar de módulo de prueba
  • Cómo utilizar RoboDialogFragment con un diseño personalizado
  • ¿Tiene sentido usar Guice para Android
  • Interceptor de actividad
  • Los objetos inyectados se convirtieron en nulos después de actualizar a Roboguice 3
  • Liberando el ayudante de ORMLite en @Singleton
  • ORMLite para Android: enlazar DAO con Roboguice
  • Roboblender-3.0.1.jar: no incluido en Android: javax.tools. Referido desde com.google.inject.blender.AnnotationDatabaseGenerator
  • ¿Cuáles son los beneficios específicos de usar DI en Android?
  • Uso de RoboFragment con FragmentManager
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.