1

ant を使用してライブラリ内の jar を使用してプロジェクトをビルドしたいのですが、の生成build.xmlは成功していant releaseますが、実行するとコンパイル時にエラーが発生します。

[javac] E:\Project\Pascal\Source\workspace\xxx\src\com\xxx\xxx\uti
ls\CommonUtil.java:1267: cannot find symbol
[javac] symbol  : method setOTAMode()
[javac] location: class android.os.RecoverySystem
[javac]             RecoverySystem.setOTAMode();
                     ^

しかし、日食では、正常にコンパイルできます。build.xmlにjarを手動で追加する必要がありますが、base_rules.xmlで見つけたように、Android antがlibsディレクトリのjarを処理すると言われました

<property name="jar.libs.dir" value="libs" />
<property name="jar.libs.absolute.dir" location="${jar.libs.dir}" />
<property name="native.libs.absolute.dir" location="libs" /

では、どうすればこれを修正できますか。

編集:私のアプリは、メソッドを持つ指定された BSP 用に開発されていますがsetOTAMode、標準の SDK で開発したため、正常にコンパイルするために、BSP に同じパッケージ名を持つ jar を追加してandroid.os.RecoverySystem、Java コンパイラを偽造します。次に、BSP でアプリを実行すると、BSP の実際のメソッドが呼び出されます。

Soandroid.os.RecoverySystemはjarで定義され、setOTAMode宣言されています。

4

1 に答える 1

0

android.osJARにはコードが含まれていないため、そのシンボルはJARからのものではありません。android.os.RecoverySystemは Android SDK からのものです。setOTAMode()このクラスの Android SDK にはメソッドがないため、このコードはビルドされません。setOTAMode()Android ソース コード AFAICT にはメソッドすらありません。

于 2012-08-03T10:56:52.197 に答える