19

ADT プラグインを最新バージョン (20) と android-sdk ツールに更新しました。既存の Android Maven を Eclipse にインポートしようとすると、例外An internal error occurred during: "Importing Maven projects". com/android/io/StreamExceptionが発生し、Eclipse プロジェクトが作成されますが、以前のように Android プロジェクトとは異なります。ワークスペース内の以前の既存の (maven android) プロジェクトは正常に動作します。

プロジェクトをインポートするときの Eclipse の完全な例外トレースは次のとおりです。

!ENTRY org.eclipse.osgi 2 1 2012-06-29 19:02:34.421
!MESSAGE NLS unused message: LifecycleMappingPropertyPage_this_message in: org.eclipse.m2e.core.ui.internal.messages

!ENTRY org.eclipse.core.jobs 4 2 2012-06-29 19:03:03.953
!MESSAGE An internal error occurred during: "Importing Maven projects".
!STACK 0
java.lang.NoClassDefFoundError: com/android/io/StreamException
    at me.gladwell.eclipse.m2e.android.project.EclipseAndroidProjectFactory.createAndroidProject(EclipseAndroidProjectFactory.java:17)
    at me.gladwell.eclipse.m2e.android.project.EclipseAndroidProjectFactory.createAndroidProject(EclipseAndroidProjectFactory.java:1)
    at me.gladwell.eclipse.m2e.android.AndroidMavenProjectConfigurator.configure(AndroidMavenProjectConfigurator.java:62)
    at org.eclipse.m2e.core.project.configurator.AbstractLifecycleMapping.configure(AbstractLifecycleMapping.java:109)
    at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:414)
    at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.configureNewMavenProject(ProjectConfigurationManager.java:240)
    at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.importProjects(ProjectConfigurationManager.java:156)
    at org.eclipse.m2e.core.ui.internal.wizards.MavenImportWizard$1.doCreateMavenProjects(MavenImportWizard.java:164)
    at org.eclipse.m2e.core.ui.internal.wizards.AbstractCreateMavenProjectsOperation.run(AbstractCreateMavenProjectsOperation.java:73)
    at org.eclipse.m2e.core.ui.internal.wizards.MavenImportWizard$3.runInWorkspace(MavenImportWizard.java:249)
    at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: java.lang.ClassNotFoundException: com.android.io.StreamException
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:513)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    ... 12 more

誰でも解決できますか?m2e Android コネクタの更新が必要ですか?

更新:これは私のpom.xmlです:

<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>your.company</groupId>
    <artifactId>my-android-application</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>apk</packaging>
    <name>my-android-application</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.2.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></project>

ありがとう。

4

4 に答える 4

27

編集:これを行うよりも、Ricardo の更新されたプロジェクトをgithubから取得し、ブランチに切り替え、adt-20Maven でビルドし、以下で説明するように M2E コネクタをアンインストールし、me.gladwell.eclipse から新しい M2E コネクタをインストールする方がよい場合があります。ローカル リポジトリとしての m2e.android.update/target/repository も以下で説明します。ありがとう、リカルド!


この問題が発生し、プロジェクトをビルドできませんでした。私がそれを回避する唯一の方法は、ADT を 18.0.0 にダウングレードすることでした。SDKマネージャーなどでこれを行う方法を見つけることができなかったので、これは少し試練であることが判明しました-おそらく最も賢明な方法ではありませんでした! とにかく、誰かに役立つ場合に備えて、私が経験したことを投稿すると思いました。多数のEclipseの再起動を省略しました。:)

これは Linux の Eclipse 3.7 でした。

  • ADT zip を取得します: http://dl.google.com/android/ADT-18.0.0.zip
  • お使いの OS 用の Android SDK Tools アーカイブを入手してください: http://dl.google.com/android/android-sdk_r18-linux.tgz (linux.tgz を windows.zip または macosx.zip に置き換えてください - 申し訳ありませんが、スタック オーバーフローでは許可されません私の投稿の 2 つのリンク!)。
  • ソフトウェアの自動更新を無効にします: [ウィンドウ] -> [設定] -> [インストール/更新] -> [自動更新] で、[新しい更新を自動的に見つけて通知する] のチェックを外します。
  • Android SDK Tools をアンインストール: ウィンドウ -> Android SDK Manager で、Android SDK Tools にチェックを入れ、「1 つのパッケージを削除」をクリックします。
  • ADT のアンインストール: ヘルプ -> 新しいソフトウェアのインストール -> 既にインストールされているものは? -> インストール済みソフトウェアで、すべての Android* コンポーネントと M2E 用の Android Configurator を選択し、[アンインストール] をクリックします。
  • ADT-18.0.0.zip を解凍してインストールします: [ヘルプ] -> [新しいソフトウェアのインストール] -> [追加] -> [ローカル] で、解凍した場所を参照します。ローカル リポジトリに名前を付けて [OK] をクリックし、[Work with] ドロップダウンから選択して、そこから利用可能なソフトウェアをインストールします。
  • android-sdk_r18 アーカイブから tools ディレクトリを android-sdks ディレクトリに抽出します。
  • Android M2E コネクタをインストールします: [設定] -> [Maven] -> [検出] で、[カタログを開く] をクリックし、コネクタを選択します。プロンプトが表示されたら、ADT 20.0 機能の選択を解除します。
于 2012-06-30T16:50:15.847 に答える
18

これは、ADT API の変更が原因で発生する m2e-android プラグインの既知の問題です。

https://github.com/rgladwell/m2e-android/issues/89

修正が見つかるまでしばらくお待ちください。


更新:新しい 0.4.2 リリースでは、この問題が修正され、本日リリースされました。Eclipse の更新を実行して ([ヘルプ] -> [更新の確認])、これで問題が解決したかどうかをお知らせください。

于 2012-06-30T08:48:36.013 に答える
4

現在、ADT 20+ で動作するように修正された android maven コネクタは、次の更新サイトから更新をインストールするだけで済みます。http://rgladwell.github.com/m2e-android/updates/master/

于 2012-07-21T08:58:05.377 に答える
3

ファイルを開くだけです。「Graphical Layout」の下の XML とタブ (Eclipse の場合)。右上にある Android アイコンは、私の場合はバージョン 18 を使用していましたが、バージョン 17 を選択するとエラーが消えました。

于 2013-09-16T20:42:42.287 に答える