0

*この部分は私の最初の問題でした。アップデートをお読みください 明らかに rengwuxian
依存している Android プロジェクトを Eclipse にインポートしました。 jar を見つけることができず、他の方法もわからなかったため、consuming-aars-eclipseの指示に従い、aarからのアーティファクトを含む 2 つ目のプロジェクトを Android Eclipse プロジェクトとしてインポートしました。

次に、レイアウト ファイルでコンパイル エラーが発生した元のプロジェクトでcom.rengwuxian.materialedittext.MaterialEditText、aar プロジェクトから新しく作成したこれを参照として追加しました ([プロジェクト] -> [プロパティ] -> [ビルド パス] -> [プロジェクトの追加])。

コンパイルエラーが解決しました!しかし、私のレイアウトファイルでは、要素が定義されているすべての場所com.rengwuxian.materialedittext.MaterialEditTextで、リソース定義でエラーが発生します。

例:

エラー: パッケージ 'com.test に属性 'baseColor' のリソース識別子が見つかりません

不満があるように見える属性は次のとおりです。

<com.rengwuxian.materialedittext.MaterialEditText
            android:id="@+id/client"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            .....
            android:textColor="@color/text_color"
            app:baseColor="@color/text_color"
            app:primaryColor="@color/text_color" />

---> app:baseColor="@color/text_color"

これ@color/text_colorは、元のアプリケーションのパッケージの元のアプリケーションで定義されており、aar インポート プロジェクト (com.rengwuxian.materialedittext.MaterialEditText) のクラスはこれらのリソースを表示/アクセスできないようです。

どうすればこれを修正できますか? または、私の問題に対する別のより良い方法はありますか?

注: プロジェクトの res/ フォルダーのフォルダーにソース リンクを追加しようとしましたが、これは解決しませんでした。

更新:
プロジェクトへの参照を削除し、classes.jar をビルド パスに追加しました (この jar は aar プロジェクト内にありました)。同じ問題

更新 2: aars を eclipse aar -for-eclipse
にインポートするのに役立つ this を見つけました。フォルダー内のコード スニペット (タスク copyJarDependencies など) をコピーして貼り付けましたが、例外が発生しました。

そのようなプロパティはありません: クラスの libDir: org.gradle.api.tasks.Copy_Decorated

そこで、`libDir = new File(project.projectDir, '/libs')' という行に def を追加しました。

構成コンテナーでプロパティ 'compile' が見つかりませんでした

どうすればこれを修正できますか? 何を宣言すればよいのか、何が欠けているのかわかりません

更新 3:
追加apply plugin: 'java'しましたが、コンパイル属性は問題ありませんが、次のようになります。

configuration.releaseCompile.filter {it.name.endsWith 'jar'}.each { ファイル file -> moveJarIntoLibs(file)}

これが機能するように修正するにはどうすればよいですか?
私はこのプロジェクトを使用しています ---> https://github.com/rengwuxian/MaterialEditText
そしてこの投稿 ---> http://www.nodeclipse.org/projects/gradle/android/aar-for-Eclipse

4

1 に答える 1

0

私はgradleでも同様の問題を抱えていますが、Androidスタジオでは. 私にとっての解決策は使用することでした

configurations.releaseCompile.filter {it.name.endsWith 'jar'}.each {moveJarIntoLibs(it)}

それ以外の:

configurations.releaseCompile.filter {it.name.endsWith 'jar'}.each { File file -> moveJarIntoLibs(file)}

また、Java と Android のプラグインを同じプロジェクトに適用しないことを忘れないでください。機能しないためです ( --debug --stacktrace で gradle を参照してください)。

于 2015-03-30T16:13:48.097 に答える