1

Android ソース コードをビルドする手順を実行してきました。指示に従ってすべてのセットアップが完了したら、「make」を実行しました。make プロセスは、次のエラーで最終的に失敗したリンクまで、ゆっくりと進みました。

Undefined symbols for architecture x86_64:
  "_main", referenced from:
      start in crt1.10.6.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status

もう 1 つの注意点は、リンクが次のような警告を多数生成していることです。

ld: 警告: ファイル out/host/darwin-x86/obj/EXECUTABLES/emulator_intermediates/android/hw-kmsg.o を無視します。ファイルは、リンクされているアーキテクチャではない i386 用にビルドされました (x86_64)

誰でもこれの解決策を手伝ってもらえますか?

ありがとう、クレイグ

4

4 に答える 4

1

ありがとうございます。はい、Xcode 4.x は問題ですが、私が見つけた唯一の問題ではありません。申し訳ありませんが、以前に戻って調査結果の一部を投稿できませんでした。私は別の何かに閉じ込められています。

公式には、Android ソース ビルドは Leopard でのみサポートされており、Snow Leopard ではサポートされていません。あなたをグーグルで検索すると、これに関する多くの投稿と、人々がそれをどのように回避したかを見つけることができます. 通常、この解決策には、さまざまなメイクファイルやその他の設定の変更が含まれていました。これらのソリューションの 1 つの点は、多くが古くなって機能しなくなっていることです。一部の作成者は手順を更新しましたが、他の作成者は更新していません。

さらに、最新の Xcode にも問題があることが判明しました。一般に、Snow Leopard と最新の XCode を搭載した iOS 開発マシンでビルドされた Android ソースを取得しようとする試みは、終わりのないもぐらたたきゲームのようでした。

私の解決策は、現時点では Android ソース開発ボックスとして使用されていない Mac mini を使用することでした。その上にLeopardをクリーンインストールしました。Leopard をサポートする iPhone SDK + XCode の最新バージョンをインストールしました。それはiOS 3.1.3用だったと思います。次に、ソースをビルドするための Android dev サイトの指示に従った後、成功しました。

したがって、別のボックスで私が行ったこと、またはボックスに起動可能なパーティションを作成して Leopard をインストールできるかのいずれかをお勧めします。それが脳へのダメージを最小限に抑える方法のようです。

幸運を、

クレイグ

于 2011-04-04T18:56:49.467 に答える
0

Xcode 4.x へのアップグレードが原因です。3.x をアンインストールして再インストールしてみてください。

于 2011-04-03T07:07:53.590 に答える
0

私は間違いなく dljava を 2 番目にすることができます。問題を引き起こすのはXCode 4.2です。XCode 3.2.6を実行しているiMac SnowLeopard 10.6.8でまったく同じ手順を実行しましたが、すべて問題ありませんでした... XCode 4.2を搭載したMacBookで何日もトラブルが発生した後

于 2011-10-26T23:37:13.070 に答える
0

私は AOSP を直接使用する代わりに CyanogenMod をコンパイルして拡張することに成功し、Snow Leopard で構築しています。サポートされている多くのデバイスの手順があります。さらに、最近の 2.3.4 のサポートなど、Cyanogen は AOSP にかなり厳密に従っているようです。

CyanogenMod で公式にサポートされていないデバイス用に Mac でビルドする場合は、Mac テンプレートを使用して開始することをお勧めします。

個人的には、MacPorts ではなく自作を使用していますが、それは些細なことです。

――ペッカ・ニカンデル

于 2011-05-18T19:54:45.093 に答える