2013-03-13 7 views
6

Ist so etwas möglich?Kann ich eine Ressourcenzeichenfolge für einen Paketnamen verwenden?

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

Der obige Code gibt mir eine Fehlermeldung:

C:\android-sdk\tools\ant\build.xml:539: Application package '@string/package_name' must have a minimum of 2 segments.

Meine Strings in res/strings.xml wie folgt definiert sind:

<?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> 

Wenn ich @string/package_name mit dem Namen ersetzen Das Paket android:versionName scheint korrekt eingestellt zu sein.
Also die Frage ist, warum Paketname nicht funktioniert, während android:versionName funktioniert?

Bearbeiten: Gibt es eine Möglichkeit, einen Paketnamen in der externen Datei angegeben verwenden?

Antwort

5

AFAIK, Sie können nur auf XML-Ressourcen zugreifen, indem Sie das @resource/name-Format für Attribute verwenden, die in android xmlns (http://schemas.android.com/apk/res/android) definiert sind.

Da das Paket im android-Schema nicht definiert ist, kann es nicht auf Ressourcen zugreifen, während versionName dies kann.

+0

Gibt es eine andere Möglichkeit, die Paketnamen-Zeichenfolge aus einer externen Datei zu verwenden? – Lev

+0

@Lev Nicht, dass mir bekannt ist, sorry. –

Verwandte Themen