Estoy tratando de configurar el android:versionName
en mi manifiesto de Android como una referencia al recurso de cadena almacenado en el archivo de recursos externo.Configuración de android: versionName como referencia al recurso de cadena conduce a NullPointerException bajo el emulador
A continuación se muestra un extracto de mi AndroidManifest.xml
:
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.toycorporation"
android:versionCode="@integer/version_code"
android:versionName="@string/version_name"
>
y el contenido del archivo build.xml situado bajo res/values
disrectory de mi proyecto:
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<item type="string" name="build_date">03/15/2012</item>
<item type="integer" name="version_code">315281</item>
<item type="string" name="version_name">3.15.28.1</item>
</resources>
Más tarde intenta recuperar el número de versión para mostrarlo en la pantalla Acerca de mi aplicación.
PackageInfo packageInfo = getPackageManager().getPackageInfo(getPackageName(),0);
Log.d("PackageInfo", "Version name: " + String.valueOf(packageInfo.versionName));
Descripción del problema:
Cuando construyo la aplicación y lo instalará automáticamente en el dispositivo HTC todo funciona perfecto. El nombre de la versión se pasa por referencia y en la pantalla Acerca de obtengo el valor del nombre de la versión registrado en el logcat. Pero cuando intento construir la aplicación y ejecutarla en el emulador obtengo null
en lugar del valor del nombre de la versión.
Ya he intentado construir e instalar la aplicación al emulador usando Eclipse e IDEA. Parece que el problema no está relacionado con IDE.
ACTUALIZACIÓN:
Una cosa adicional parecía que no funciona con el uso de tales versionName
y versionCode
. La aplicación no se puede implementar en Google Play. aparece el siguiente error:
El archivo no es válido: ERROR conseguir 'android: versionCode' atributo: atributo no es un valor entero
lo hace usando ' 3.15.28.1 ' work? –
No, no es así. Acabo de intentar agregar un recurso de cadena simple a 'cadenas.xml' y usar referencia en' AndroidManifest.xml' como lo indicó @Espiandev. Todavía sin suerte. –
Duplicado de http://stackoverflow.com/questions/6018079/reference-an-integer-resource-for-android-manifest-versioncode –