AndroidManifest.out.xml генерируется с ошибками

Обновление:

Он оказался поврежденным файлом AndroidManifest.xml

  • Я установил ведение журнала в подробный для получения дополнительной информации об ошибке.
  • Я закончил создание нового проекта Android в eclipse и сравнил мой поврежденный файл AndroidManifest.xml с новым.
  • Я добавил строки admob один за другим.
  • Я очистил проект и снова перестроил его.

После этого он работает, и я смог запустить эмулятор.


Я добавил инструкции в файл манифеста, чтобы включить модуль Admob, который дает мне сообщение об ошибке:

Сообщение консоли:

Unparsed aapt error(s)! Check the console for output.Unknown    Android Packaging Problem

Сообщение об ошибке:

02:56:23,077 FATAL [main] Main  - No embedded stylesheet instruction for file: file:/Users/eladio/Documents/workspace/NprStationFinder/AndroidManifest.xml
org.eclipse.wst.xsl.jaxp.debug.invoker.TransformationException: No embedded stylesheet instruction for file: file:/Users/eladio/Documents/workspace/NprStationFinder/AndroidManifest.xml
    at org.eclipse.wst.xsl.jaxp.debug.invoker.internal.JAXPSAXProcessorInvoker.transform(JAXPSAXProcessorInvoker.java:225)

Фрагмент кода:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.caritos.android.nprstationfinder" android:versionCode="1"
    android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".MainActivity" android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <!-- The application publisher ID assigned by AdMob -->
        <meta-data android:value="xyz" android:name="ADMOB_PUBLISHER_ID" />

        <!-- AdMobActivity definition -->
        <activity android:name="com.admob.android.ads.AdMobActivity" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:configChanges="orientation|keyboard|keyboardHidden" />

        <!-- Track Market installs -->
        <receiver android:name="com.admob.android.ads.analytics.InstallReceiver" android:exported="true">
            <intent-filter>
                <action android:name="com.android.vending.INSTALL_REFERRER" />
            </intent-filter>
        </receiver>

        <meta-data android:value="true" android:name="ADMOB_ALLOW_LOCATION_FOR_ADS" />
    </application>

    <!-- AdMob SDK requires Internet permission -->
    <uses-permission android:name="android.permission.INTERNET" />

    <uses-sdk android:minSdkVersion="4" />
</manifest> 

Ответы

Ответ 1

Эта ошибка возникает при запуске XML файла. Удалите main.out. файл (с левой стороны). щелкните соответствующий файл java и запустите его. Теперь он будет работать правильно. Примечание: всегда запускайте файл Java.

Ответ 2

Я думаю, что это на самом деле вещь Eclipse, а не поврежденный XML файл? Когда это произойдет, посмотрите в Run → Run Configurations в категории XSL и посмотрите, есть ли запись для AndroidManifest.xml... было ли это создание файла ".out"? Если это так, вероятно, Eclipse пытается скомпилировать XML файл, а не запускать его в качестве приложения для Android. Удалите конфигурации XSL-прогона и запустите приложение как одну из конфигураций приложений для Android.

Изменить: для меня это запускается при запуске из окна XML, но не из, например, окна Java. Один из вариантов изменения этого поведения: Предпочтения → Запуск/Отладка → Запуск, в разделе "Операция запуска" выберите "Всегда запускать ранее запущенное приложение". Это может привести к его собственным неудобствам, но сейчас это работает для меня. Я тщетно пытался найти способ, чтобы файлы .XML обрабатывались специально.