皆さん、私の下手な英語でごめんなさい..
「ANE でリソースを管理する適切な方法は何ですか?」と聞きたいのですが??
jar-library をエクスポートし、ANE を作成し、Air Mobile から呼び出しました。(eclipseからエクスポートする際にinclude-resource-optionをチェックしています。) デバイスでデバッグすると、JavaのR.resourceがR.resource air madeによってオーバーライドされているようです。
たとえば、FREFunction return resource-value を追加しました。string.app_name を参照して表示すると、Air-Project の名前の string.app_name が表示されます。Java でリソースに string.test を追加し、apk から表示した後、値がありません。
ANE でリソースを管理する適切な方法は何ですか。
参照: http://www.adobe.com/devnet/air/native-extensions-for-air/extensions/vibration.html
public class Native_xxxxxxx implements FREFunction {
private Resources res;
public FREObject call(FREContext arg0, FREObject[] arg1) {
try {
Activity activity = arg0.getActivity();
res = activity.getResources();
return FREObject.newObject(res.getString(arg0.getResourceId("string.app_name ")));
//return FREObject.newObject(res.getString(arg0.getResourceId("string.test"))) ;
//return FREObject.newObject(res.getString(R.string.test));
} catch ( Exception ex ) {
}
return null;
}
}
追加情報:
.jarを解凍した後、res-folderが含まれていますが、.aneを解凍した後、res-folderが含まれていません。
おそらく、adt コマンドが res フォルダーのインクルードに失敗したということです。
私のコマンド:adt -package -target ane ANExxx.ane ane.xml -swc ANExxx.swc -platform Android-ARM library.swf res Nativexxx.jar -platform default library.swf Nativexxx.jar