10

このようなことは可能ですか?

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="@string/package_name"
      android:versionCode="1"
      android:versionName="@string/version_name">

上記のコードでエラーが発生します。

C:\android-sdk\tools\ant\build.xml:539: アプリケーション パッケージ '@string/package_name' には、少なくとも 2 つのセグメントが必要です。

私の文字列は res/strings.xml で次のように定義されています。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">My app</string>
    <string name="version_name">1.00</string>
    <string name="package_name">com.mycompany.myapp</string>

@string/package_nameパッケージの名前に置き換えると、android:versionName正しく設定されているようです。
問題は、動作中にパッケージ名が動作しない理由android:versionNameです。

編集: 外部ファイルで指定されたパッケージ名を使用する方法はありますか?

4

2 に答える 2

7

私の知る限り、 xmlns ( )@resource/nameで定義された属性の形式を使用してのみ XML リソースにアクセスできます。androidhttp://schemas.android.com/apk/res/android

package は android スキーマで定義されていないため、そのようにリソースにアクセスすることはできませんが、versionName は可能です。

于 2013-03-13T03:59:32.750 に答える