2016-05-10 13 views
0

IHelloServiceというAIDLサービスを作成しましたが、libcoreモジュールの下でIOBridgeから呼び出そうとしています。AIDLサービスとAndroidオープンソース

現在、私のコードは、標準ビルドを行うとき、私はエラーに遭遇し、この

// import 
import android.os.IHelloService; 
import android.os.ServiceManager; 

.... 

IHelloService helloService = IHelloService.Stub.asInterface(ServiceManager.getService("hello")); 
int val = helloService.getVal(); 

のように見えます。 エラーがpackage android.os does not existcannot find symbol ServiceManagerIHelloService

が含ま私はすでにHelloServiceのAIDLファイルでpackage android.osを宣言したので、私はそれが問題だとは思いません。

ご協力いただければ幸いです。

答えて

1

サン、

問題は実際に私が処理しているものです。あなたがする必要があるのは、その特定のサービスで使用するための新しいSDKをビルドして、Android Studio(使用しているものと仮定している)が自分のバージョンのROMで利用可能であると認識できるようにすることです。ここで

は、あなたが何をすべきかです:ゴーあなたのAndroidのビルドエリアと実行に

  1. https://android.googlesource.com/platform/sdk/+/master/docs/howto_build_SDK.txtで発見します)。 build/envsetup.sh
  2. ビルド領域で "make update-api"コマンドを実行します。これにより、APIに加えた変更や追加がファイルに反映されます。
  3. "lunch lunch-eng"を実行して、sdkのビルドを設定します。
  4. SDKを作成するには、「make sdk」を実行します。今SDKが行われていること

を:「アウト/ホスト/ダーウィン-のx86/SDK /アンドロイド-sdk_eng..zipパッケージSDK」が、行で終了します - これは、いくつかの時間(2時間20メートル)を取ることができますAndroid Studioに新しいSDKを指定する必要があります。これを行うには:

  1. あなたのアプリをクリックして "Open Module Settings"を選択してください。
  2. 左のメニューから「SDK」を選択します。
  3. 新しいSDKパスを選択します。

これを行う方法は他にもあるかもしれませんが、それは私が現在取り組んでいるプロセスです。

+0

お返事ありがとうございます。実際には、私はAndroidソースコード(libcoreモジュール)内からアプリケーションからではなく、サービスを呼び出そうとしています。残念ながら、update-apiを実行すると、私の最初の質問で述べたのと同じエラーが出力されます。 – Sang

関連する問題