2

Ruby ベースのスクリプトを使用して Android の strings.xml ファイルを調べ、特定の値を更新したいと考えています。例: これは元の xml ファイルです。

<resources>
   <string name="accounts">accounts</string>
</resources>

Rubyスクリプトを実行した後、これになりたい:

<resources>
   <string name="accounts">my accounts</string>
</resources>

私はRubyにまったく慣れていませんが、xmlファイルを読み取ることができました....値を更新する方法がわかりません。

(ご参考までに、これを行っているのは、アプリにホワイトラベルを付けて企業に販売できるようにするためです。これにより、プロセスが大幅にスピードアップします。)

4

3 に答える 3

0

超便利!後世のために...私が選んだのは:

doc = Nokogiri::XML(File.open('path_to/strings.xml')))

doc.search("//string[@name='my_string_attribute']").first.content = "my new string value"

File.open('path_to/strings.xml', 'w') { |f| f.print(doc.to_xml) }

これは、文字列キー (名前) が一意である場合にうまく機能します (Android Studio が強制するため、一意になることが信頼できます)。途中で多くの文字列編集をスローしてから、他の値を台無しにすることを心配することなく変更を保存できます。

于 2016-08-18T03:55:26.777 に答える
0

R.stringクラスを使用して Android コードの strings.xml ファイルのリソースを使用している場合、XML を外部から変更しても機能しないことに注意してください。

クラスはアプリケーションのR.stringコンパイル時に作成されるため、コンパイル後に XML ファイルを変更しても、変更はアプリケーションに反映されません。

于 2013-05-10T19:08:39.750 に答える