Android Maven Eclipse 仍然无法导入 apklib
Posted
技术标签:
【中文标题】Android Maven Eclipse 仍然无法导入 apklib【英文标题】:Android Maven Eclipse still can't import apklib 【发布时间】:2013-09-18 15:48:00 【问题描述】:我有一个 android Maven 项目,我正在尝试使用 Eclipse。我也在使用 Android Support v7 AppCompat 库。在我的 pom.xml 中,我同时导入了 apklib 和 jar。我已经尝试更新到 m2e-android 插件的 0.4.3-SNAPSHOT 版本,但我仍然收到错误
Description Resource Path Location Type
dependency=[android.support:compatibility-v7-appcompat:apklib:18:compile] not found in workspace pom.xml /Studio54 line 1 me.gladwell.eclipse.m2e.android.markers.dependency.apklib
这是我的 pom.xml
http://maven.apache.org/maven-v4_0_0.xsd"> 4.0.0 com.lhs.app 54 工作室 0.0.7-快照 APK 工作室54
<repositories>
<repository>
<id>ossSonatype</id>
<url>https://oss.sonatype.org/content/groups/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<properties>
<platform.version>4.3_r1</platform.version>
</properties>
<dependencies>
<dependency>
<groupId>android</groupId>
<artifactId>android</artifactId>
<version>$platform.version</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>android.support</groupId>
<artifactId>compatibility-v4</artifactId>
<version>18</version>
</dependency>
<dependency>
<groupId>android.support</groupId>
<artifactId>compatibility-v7-appcompat</artifactId>
<version>18</version>
<type>apklib</type>
</dependency>
<dependency>
<groupId>android.support</groupId>
<artifactId>compatibility-v7-appcompat</artifactId>
<version>18</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.2.4</version>
</dependency>
<dependency>
<groupId>com.google.android</groupId>
<artifactId>volley</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.testflight</groupId>
<artifactId>lib</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>org.robolectric</groupId>
<artifactId>robolectric</artifactId>
<version>2.2-SNAPSHOT</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>1.9.5</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>3.6.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>
<platform>16</platform>
</sdk>
<undeployBeforeDeploy>true</undeployBeforeDeploy>
</configuration>
<extensions>true</extensions>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
【问题讨论】:
您的依赖库的源代码树是否已在本地工作区中检出?由于 ADT 的限制,您仍然需要拥有它。 不,我不知道。有问题的库是 Android v7 AppCompat 库(带有操作栏的库)。我是想在 Android SDK 本身中使用该版本,还是如果源已下载到我的本地 Maven 存储库,我应该使用它吗? 源似乎在 Github 上镜像:github.com/android/platform_frameworks_support/tree/master/v7/… 您需要对项目进行 mavenise 以便 m2e-android 可以检测到它。 除了我从SDK目录maven化的兼容性库外,我还需要检查和mavenize你链接的项目? 【参考方案1】:您可以尝试更新您的 android sdk。并从 Help->Check for Updates 选项卡检查 eclipse 更新。
【讨论】:
以上是关于Android Maven Eclipse 仍然无法导入 apklib的主要内容,如果未能解决你的问题,请参考以下文章
Eclipse配置了MAVEN,但是MAVEN工程无法拉去依赖包
eclipse插件Maven添加依赖查询无结果的解决方法(Select Dependency doesn't work)