В Android Studio Sync происходит сбой из-за «не удается разобрать XML в AndroidManifest.xml» - PullRequest
0 голосов
/ 13 февраля 2019

Я решил обновить старое приложение, к сожалению, когда я пытаюсь синхронизировать проект, я получаю следующую ошибку Gradle Sync:

"ОШИБКА: не удалось проанализировать XML в C: ... \ app \ src \ main \ AndroidManifest.xml ParseError at [row, col]: [17,9] Сообщение: ожидаемый начальный или конечный тег Затрагиваемые модули: app "

После моих исследований ина форумах проблема, по-видимому, заключается в AndroidManifest (дух!), когда я перехожу на строку 17, я нахожу метаданные своего приложения, и если я добавляю несколько строк перед этим, ошибка перемещается в соответствии со строкой.

Я также обновил Gradle до 4.10.1, версия Android Plugin - 3.3.1;и я использую "Gradle Wrapper по умолчанию"

Вот код манифеста

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="myPackage">


    <application
        android:allowBackup="true"
        android:hardwareAccelerated="false"
        android:icon="@drawable/gordotoken"
        android:label="@string/app_name"
        android:roundIcon="@drawable/gordotoken"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        ///META DATA

        <meta-data
            android:name="com.google.gms.games.APP_ID"
            android:value="@string/app_id" />
        <meta-data
            android:name="com.google.android.gms.games.APP_ID"
            android:value="@string/app_id" />
        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />
        <meta-data
            android:name="com.facebook.sdk.ApplicationId"
            android:value="@string/facebook_app_id"/>

        <activity
            android:name="myPackage.MainActivity"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity android:name="myPackage.dvd" />

        <activity android:name="myPackage.dvai" />

        <activity android:name="myPackage.dvaicat" />

        <activity android:name="com.facebook.FacebookActivity"
                android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
                android:label="@string/app_name" />

        <activity android:name="com.facebook.CustomTabActivity"
                android:exported="true">
                 <intent-filter>
                     <action android:name="android.intent.action.VIEW" />
                     <category android:name="android.intent.category.DEFAULT" />
                     <category android:name="android.intent.category.BROWSABLE" />
                     <data android:scheme="@string/fb_login_protocol_scheme" />
                </intent-filter>
        </activity>



        <provider android:authorities="com.facebook.app.FacebookContentProvider{xxx}"
            android:name="com.facebook.FacebookContentProvider"
            android:exported="true"/>

    </application>

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.INTERNET"/>

</manifest>

Вот build.gradle для приложения

apply plugin: 'com.android.application'

android {
    signingConfigs {
        configRelease {
            keyAlias 'xxx'
            keyPassword 'xxx'
            storeFile file('C:MyKey.jks')
            storePassword 'xxx'
        }
    }
    compileSdkVersion 27
    buildToolsVersion '28.0.3'
    defaultConfig {
        applicationId 'myApp'
        minSdkVersion 27
        targetSdkVersion 27
        versionCode 17
        versionName "1.14"
        multiDexEnabled true
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.configRelease
        }
    }
    productFlavors {
    }
}

dependencies {
    implementation 'com.google.firebase:firebase-messaging:11.8.0'
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    testImplementation ('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    implementation 'com.android.support:appcompat-v7:27.0.2'
    implementation 'com.android.support:mediarouter-v7:27.0.2'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    implementation 'com.google.android:flexbox:0.2.5'
    implementation 'com.google.android.gms:play-services-ads:11.8.0'
    implementation 'com.google.android.gms:play-services-auth:11.8.0'
    implementation 'com.github.bumptech.glide:glide:4.3.1'
    implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.7'
    testImplementation 'junit:junit:4.12'
    implementation 'com.google.android.gms:play-services:11.8.0'
    implementation 'com.google.android.gms:play-services-games:11.8.0'
    implementation 'com.facebook.android:facebook-android-sdk:[4,5)'
}
apply plugin: 'com.google.gms.google-services'

Здесьэто build.gradle для проекта

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
        mavenCentral()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.1'
        classpath 'com.google.gms:google-services:3.1.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {

    repositories {
        jcenter()
        mavenCentral()
        google()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

Буду признателен, если кто-нибудь сможет указать мне правильное направление, поскольку мне кажется, что в моем манифесте отсутствуют некоторые теги, и на данный момент я не знаю;что я тут делаю не так: (

Спасибо всем заранее за помощь! :)

Ответы [ 3 ]

0 голосов
/ 13 февраля 2019

Если вы хотите оставить комментарий в XML-файле, вам нужно использовать <!--your comment here--> этот тег.// или /**/ не работает

0 голосов
/ 13 февраля 2019

Как уже отмечалось здесь, чтобы комментировать в XML, мы не должны использовать ///, но <!-- > вместо.

Пожалуйста замените /// META DATA на <!-- META DATA->, и этодолжно работать.

0 голосов
/ 13 февраля 2019

Удалить строку ниже из вашего manifest.xml файла

///META DATA

и заменить его синтаксисом комментариев ниже

<!—- META DATA —->
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...