2013-02-25

[Android]APIに変更を入れた場合のビルドは更新コマンドが必要


1年ぶりにAOSPに貢献してみました。。。

▲経緯
Androidのソースコードは、ドキュメントと機能が一致していないようなことが結構あったりします。
下手をすると、ドキュメントが何も記載されていないメソッドなり機能だったりがあります。
# もしかしたら自分の英語の読解力が無いだけかもしれまんせんが。

そういうわけで、自分の拙い英語力だけどドキュメントでも書いてあげればいいんじゃねーのとか思うわけです。
# 同じように困ってるような人はいると思いますので・・・

というわけで、ドキュメントを少し書いてみた。(一部、APIも変えてみましたが)
よし、ビルドが通ればコミットするぞ・・・と息巻いてたところビルドでコケるというような事象がありました。

▲解決
エラーログにapiを更新するようなコマンド叩いてみるといいよと出てますので実行します。

$make update-api

それから再度ビルドを実施します。
$make -j4

一応、以下にエラーログを記載しておきます(抜粋)
Checking API: checkapi-current
Compiling SDK Stubs: out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates/classes.jar
out/target/common/obj/PACKAGING/public_api.txt:11256: error 21: Method 

******************************
You have tried to change the API from what has been previously approved.

To make these errors go away, you have two choices:
   1) You can add "@hide" javadoc comments to the methods, etc. listed in the
      errors above.

   2) You can update current.txt by executing the following command:
         make update-api

      To submit the revised current.txt to the main Android repository,
      you will need approval.
******************************



make: *** [out/target/common/obj/PACKAGING/checkapi-current-timestamp] Error 38
make: *** Waiting for unfinished jobs....
 'out/target/common/obj/APPS/Settings_intermediates/classes.dex' as 'classes.dex'...
out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates/src/java/security/cert/PKIXBuilderParameters.java:5: ?x??:[unchecked] ???????ϊ??ł?

0 件のコメント:

コメントを投稿

Blogger Syntax Highliter