Я пытаюсь загрузить и запустить приложение https://github.com/siwangqishiq/ImageEditor-Android. Это дает ошибку
Android resource linking failed
C:\Users\salman\Desktop\work\Facemook\ImageEditor-Android-master\demo\build\intermediates\merged_manifests\debug\AndroidManifest.xml:20: error: unexpected element <activity> found in <manifest>.
Когда я открыл файл на
C:\Users\salman\Desktop\work\Facemook\ImageEditor-Android-master\demo\build\intermediates\merged_manifests\debug\AndroidManifest.xml
тогда содержимое файла
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.xinlan.imageeditandroid"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="28" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-feature
android:name="android.hardware.camera"
android:required="true" />
<!-- 图片编辑Activity -->
<activity android:name="com.xinlan.imageeditlibrary.editimage.EditImageActivity" >
</activity>
<application
android:allowBackup="true"
android:appComponentFactory="android.support.v4.app.CoreComponentFactory"
android:debuggable="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:testOnly="true"
android:theme="@style/Theme.AppCompat.Light.NoActionBar" >
<activity android:name="com.xinlan.imageeditandroid.MainActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- <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> -->
<!-- <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> -->
<!-- <!–选择相册图片Activity–> -->
<!-- <activity -->
<!-- android:name="com.xinlan.imageeditlibrary.picchooser.SelectPictureActivity" -->
<!-- android:screenOrientation="portrait"> -->
<!-- </activity> -->
<!-- <!–图片编辑Activity–> -->
<!-- <activity -->
<!-- android:name="com.xinlan.imageeditlibrary.editimage.EditImageActivity" -->
<!-- android:screenOrientation="portrait" -->
<!-- android:windowSoftInputMode="adjustPan"> -->
<!-- </activity> -->
</application>
</manifest>
Как видите, этот файл содержит <activity>
за пределами <application>
, что вызывает ошибку, но этот файл объединен (создан Android Studio после объединения всех файлов манифеста), поэтому я не могу (или не должен) редактировать его. Теперь содержимое манифеста библиотечного модуля (снова библиотечный модуль) приведено ниже
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.xinlan.imageeditlibrary" >
<!--图片编辑Activity-->
<activity android:name="com.xinlan.imageeditlibrary.editimage.EditImageActivity">
</activity>
</manifest>
Здесь вы можете увидеть реальную проблему. <activity>
находится вне любого <application>
блока. Как уже упоминалось, этот манифест имеет библиотеку, которую я не могу окружить <application>
. Как это решить?
Элемент <Использования-разрешения> должен быть прямым потомком корневого элемента
Элемент должен быть прямым потомком ошибки элемента
Активность на заставке - элемент должен быть прямым потомком элемента [WrongManifestParent]
Все они относятся к файлу манифеста основного модуля, а не к файлу манифеста библиотечного модуля.