14

(継承された) Android プロジェクトをビルドしようとしています。Ant とコマンド ライン ツール(および IDEA)を使用しています。

styles.xml には、次のような解決できない参照があります。

<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">

これは私が遭遇した元のエラーです:

[...]/res/values/styles.xml:8: error: Error retrieving parent for item:
No resource found that matches the given name '@style/Theme.AppCompat.Light'.

project.properties次に、私の(OS X)マシンで壊れているこの appcompat 参照があることに気付きました:

target=android-18
android.library.reference.1=../../../../adt-bundle-linux-x86_64/sdk/extras/android/support/v7/appcompat

を基準にして参照を作成することで、それを修正しようとしました${sdk.dir}:

android.library.reference.1=${sdk.dir}/extras/android/support/v7/appcompat

したがって、そのパスは正しいはずです。しかし、今私が実行するとant debug

BUILD FAILED
/opt/android-sdk-macosx/tools/ant/build.xml:573: 
  /opt/android-sdk-macosx/extras/android/support/v7/appcompat resolve to a 
  path with no project.properties file for project /Users/joka/devel/project/

それで、何かアイデアはありますか?このプロジェクトを構築する最も簡単な方法は何ですか?

(Eclipse 固有のアドバイスは役に立たないことに注意してください。)

編集: Android SDK のインストールは次のようになります。

ここに画像の説明を入力

4

3 に答える 3

9

Jay が示したように、 Unix/Mac では相対パスのみが機能します。

Ant ビルドを機能させるには、私の場合はコマンドを使用して appcompat プロジェクトを生成する必要もありました。build.xml android update project -p <dir>

/opt/android-sdk-macosx/tools/android update project 
    -p /opt/android-sdk-macosx-r22.0.1/extras/android/support/v7/appcompat

私にとっての正確な構成は次のとおりです。

android.library.reference.1=../../../../../../../opt/android-sdk-macosx/extras/‌​android/support/v7/appcompat

(これlocal.propertiesは、同じパスがすべての開発者に機能するとは限らないため、より良い場所だと思います。)


誰かが提案したように、6か月前のコメントを回答に昇格させただけです。

ところで、私は実際に Android 開発について少し知ったので、Ant を捨てて、比較すると非常に甘い新しい Gradle ベースのビルド システムを検討する機会がある人に強く勧めます。これは CI フレンドリーであり、便利なことを簡単に自動化できます (ビルド タイプごとに異なるパッケージ名とアプリ アイコンを使用するなど)。スタック オーバーフローは、問題が発生したときに役立ちます。

Gradle でサポート ライブラリを使用すると、上記の面倒な作業をすべてスキップして、次のようにするだけです

dependencies {
    compile "com.android.support:appcompat-v7:18.0.+"
}
于 2014-02-26T23:27:14.407 に答える
0

パスが間違っているようです (「互換性」の部分がありません)。v7-appcompat ライブラリは次の場所にあります。

{sdkpath}/extras/android/compatibility/v7/appcompat

私にとって(Max OS X 10.7.5のSDK Toolsバージョン22.0.5)

于 2013-08-13T13:19:04.863 に答える