リソースID(R.java)をjarファイルに直接入れることはできません。私たちがすれば、彼らが一意になることを保証する方法はありません。しかし、R.javaなしでjarファイルをコンパイルする方法は?私のコードで私はよくXXXのIDを取得するためにR.style.xxx
のように呼ぶのですが、私はr.javaを持っていない場合、コンパイルされませんです:(r.javaを使わずにjarファイルを作成するには?
を私はこの
%JDK_PATH%\javac -cp^
%ANDROID_PLATFORM%\android.jar;^
-d source\output^
source\java\com\mylib\util\r.java^
source\java\com\mylib\view\myCustomView.java
ように私のjarファイルを構築しますr.javaこのような単なるDUMYファイル:
package com.mylib;
public final class R {
public static final class dimen {
public static final int al_floating_toolbar_horizontal_margin=0;
public static final int al_floating_toolbar_vertical_margin=0;
public static final int al_floating_toolbar_preferred_width=0;
public static final int al_floating_toolbar_minimum_overflow_height=0;
public static final int al_floating_toolbar_maximum_overflow_height=0;
public static final int al_content_rect_bottom_clip_allowance=0;
public static final int al_floating_toolbar_height=0;
public static final int al_floating_toolbar_menu_button_minimum_width=0;
}
}
はその後、私は後に、すべてのR.classを削除してから、私はjarファイルを作成します。
%JDK_PATH1_7%\jar cf lib\jar\mylib.jar -C source\output com\mylib\
これをコンパイルし、jarの古いR.classを新しいものに置き換えます。しかし正直なところ、xmlファイルを使ってそのようなデータを保存するだけです。 – redxef
私はjarからrクラスも削除しましたが、R.style.xxxは削除されたr.javaの値を指すスタイルです:( –
はい、R.javaを – redxef