ようこそゲストさん

すらりん日記

2011/10/26(水) Android SDK r14以降でVS-Androidを使う

Android SDK r14(Android 4.0をサポートしたバージョン)から、VS-Androidのサンプルですらビルドが通らなくなった。VS-Androidのサンプルのチュートリアル通りにやってみても失敗し、次に示すエラーメッセージが表示される。
Your build.xml file is outdated. 
Delete it and regenerate it with 'android update project'
そもそもVS-Androidを入れての開発環境ではbuild.xmlはサンプルからコピーして使っていたし、これはそもそも自動生成してできるものじゃなかった。

調査結果

このエラーメッセージはそもそもどこで出されているのかを調べてみた。
r14の状態では、このメッセージは tools/ant/pre_setup.xml に記載されていた。
従来までなら、ここに処理(&設定)が書かれていたはず。

VS-Androidのサンプルにあった build.xmlではこのpre_setup.xmlをインポートして使っていた。
SDKを更新したことで、この役割が変わったようだ。
pre_setup.xmlと同じ場所に、build.xmlというxmlが存在するようになったみたいだ。

解決方法

以下の手順で従来の build.xmlを最新の環境で使用できるようになる。

1.buld.xmlの次の行を編集
  <!-- Required pre-setup import -->
  <import file="${sdk.dir}/tools/ant/pre_setup.xml" />
この部分を、次のように変更する.
  <import file="${sdk.dir}/tools/ant/build.xml" />
2.となっている行を削除

サンプル

自分の環境で "testProj"というVCProjを作成した際に使ったbuild.xmlを下記に表示します。
NativeActivity, hello-JNIのサンプルでこのbuild.xmlが使えることは確認しています。
(ただし、project name="***"の部分は適宜変更してください)


<?xml version="1.0" encoding="utf-8"?>
<project name="testProj" default="help">
  <loadproperties srcFile="local.properties"/>
  <property file="build.properties"/>
  <property file="default.properties"/>
  <loadproperties srcFile="default.properties"/>

  <!-- Required SDK's build.xml import -->
  <import file="${sdk.dir}/tools/ant/build.xml" />
  <path id="android.antlibs">
    <pathelement path="${sdk.dir}/tools/lib/anttasks.jar" />
    <pathelement path="${sdk.dir}/tools/lib/sdklib.jar" />
    <pathelement path="${sdk.dir}/tools/lib/androidprefs.jar" />
    <pathelement path="${sdk.dir}/tools/lib/apkbuilder.jar" />
    <pathelement path="${sdk.dir}/tools/lib/jarutils.jar" />
  </path>
</project>

名前:   

  • TB-URL  http://watery.dip.jp/~slash/0418/tb/