Dieser Fehler ist wirklich sehr, sehr seltsam und ich weiß nicht, wie ich ihn reproduzieren und beheben soll, weil ich viele Suchen durchgeführt habe, aber nichts war nützlich.
Hier ist die Stapelverfolgung:
Stack Trace
_________________________________
0 java.lang.RuntimeException: An error occured while executing doInBackground()
1 at android.os.AsyncTask$3.done(AsyncTask.java:299)
2 at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
3 at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
4 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
5 at java.util.concurrent.FutureTask.run(FutureTask.java:137)
6 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
7 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
8 at java.lang.Thread.run(Thread.java:856)
9 Caused by: java.lang.SecurityException: Permission denied (missing INTERNET permission?)
10 at java.net.InetAddress.lookupHostByName(InetAddress.java:430)
11 at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
12 at java.net.InetAddress.getAllByName(InetAddress.java:214)
13 at libcore.net.http.HttpConnection.<init>(HttpConnection.java:70)
14 at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
15 at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:340)
16 at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
17 at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
18 at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:316)
19 at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.makeSslConnection(HttpsURLConnectionImpl.java:461)
20 at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.connect(HttpsURLConnectionImpl.java:433)
21 at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:290)
22 at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:240)
23 at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:292)
24 at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:185)
25 at libcore.net.http.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:271)
26 at com.designfuture.music.api.MusixMatchApi.sendRequestJSON(MusixMatchApi.java:1143)
27 at com.designfuture.music.api.MusixMatchApi.handleRequestJSON(MusixMatchApi.java:982)
28 at com.designfuture.music.api.MusixMatchApi.getConfig(MusixMatchApi.java:211)
29 at com.designfuture.music.asynctask.GetConfigAsyncTask.doInBackground(GetConfigAsyncTask.java:28)
30 at com.designfuture.music.asynctask.GetConfigAsyncTask.doInBackground(GetConfigAsyncTask.java:1)
31 at android.os.AsyncTask$2.call(AsyncTask.java:287)
32 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
33 ... 4 more
34 Caused by: libcore.io.GaiException: getaddrinfo failed: EAI_NODATA (No address associated with hostname)
35 at libcore.io.Posix.getaddrinfo(Native Method)
36 at libcore.io.ForwardingOs.getaddrinfo(ForwardingOs.java:55)
37 at java.net.InetAddress.lookupHostByName(InetAddress.java:405)
38 ... 26 more
39 Caused by: libcore.io.ErrnoException: getaddrinfo failed: EACCES (Permission denied)
40 ... 29 more
41 java.lang.SecurityException: Permission denied (missing INTERNET permission?)
42 at java.net.InetAddress.lookupHostByName(InetAddress.java:430)
43 at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
44 at java.net.InetAddress.getAllByName(InetAddress.java:214)
45 at libcore.net.http.HttpConnection.<init>(HttpConnection.java:70)
46 at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
47 at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:340)
48 at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
49 at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
50 at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:316)
51 at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.makeSslConnection(HttpsURLConnectionImpl.java:461)
52 at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.connect(HttpsURLConnectionImpl.java:433)
53 at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:290)
54 at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:240)
55 at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:292)
56 at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:185)
57 at libcore.net.http.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:271)
58 at com.designfuture.music.api.MusixMatchApi.sendRequestJSON(MusixMatchApi.java:1143)
59 at com.designfuture.music.api.MusixMatchApi.handleRequestJSON(MusixMatchApi.java:982)
60 at com.designfuture.music.api.MusixMatchApi.getConfig(MusixMatchApi.java:211)
61 at com.designfuture.music.asynctask.GetConfigAsyncTask.doInBackground(GetConfigAsyncTask.java:28)
62 at com.designfuture.music.asynctask.GetConfigAsyncTask.doInBackground(GetConfigAsyncTask.java:1)
63 at android.os.AsyncTask$2.call(AsyncTask.java:287)
64 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
65 at java.util.concurrent.FutureTask.run(FutureTask.java:137)
66 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
67 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
68 at java.lang.Thread.run(Thread.java:856)
69 Caused by: libcore.io.GaiException: getaddrinfo failed: EAI_NODATA (No address associated with hostname)
70 at libcore.io.Posix.getaddrinfo(Native Method)
71 at libcore.io.ForwardingOs.getaddrinfo(ForwardingOs.java:55)
72 at java.net.InetAddress.lookupHostByName(InetAddress.java:405)
73 ... 26 more
74 Caused by: libcore.io.ErrnoException: getaddrinfo failed: EACCES (Permission denied)
75 ... 29 more
76 libcore.io.GaiException: getaddrinfo failed: EAI_NODATA (No address associated with hostname)
77 at libcore.io.Posix.getaddrinfo(Native Method)
78 at libcore.io.ForwardingOs.getaddrinfo(ForwardingOs.java:55)
79 at java.net.InetAddress.lookupHostByName(InetAddress.java:405)
80 at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
81 at java.net.InetAddress.getAllByName(InetAddress.java:214)
82 at libcore.net.http.HttpConnection.<init>(HttpConnection.java:70)
83 at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
84 at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:340)
85 at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
86 at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
87 at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:316)
88 at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.makeSslConnection(HttpsURLConnectionImpl.java:461)
89 at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.connect(HttpsURLConnectionImpl.java:433)
90 at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:290)
91 at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:240)
92 at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:292)
93 at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:185)
94 at libcore.net.http.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:271)
95 at com.designfuture.music.api.MusixMatchApi.sendRequestJSON(MusixMatchApi.java:1143)
96 at com.designfuture.music.api.MusixMatchApi.handleRequestJSON(MusixMatchApi.java:982)
97 at com.designfuture.music.api.MusixMatchApi.getConfig(MusixMatchApi.java:211)
98 at com.designfuture.music.asynctask.GetConfigAsyncTask.doInBackground(GetConfigAsyncTask.java:28)
99 at com.designfuture.music.asynctask.GetConfigAsyncTask.doInBackground(GetConfigAsyncTask.java:1)
100 at android.os.AsyncTask$2.call(AsyncTask.java:287)
101 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
102 at java.util.concurrent.FutureTask.run(FutureTask.java:137)
103 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
104 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
105 at java.lang.Thread.run(Thread.java:856)
106 Caused by: libcore.io.ErrnoException: getaddrinfo failed: EACCES (Permission denied)
107 ... 29 more
108 libcore.io.ErrnoException: getaddrinfo failed: EACCES (Permission denied)
109 at libcore.io.Posix.getaddrinfo(Native Method)
110 at libcore.io.ForwardingOs.getaddrinfo(ForwardingOs.java:55)
111 at java.net.InetAddress.lookupHostByName(InetAddress.java:405)
112 at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
113 at java.net.InetAddress.getAllByName(InetAddress.java:214)
114 at libcore.net.http.HttpConnection.<init>(HttpConnection.java:70)
115 at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
116 at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:340)
117 at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
118 at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
119 at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:316)
120 at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.makeSslConnection(HttpsURLConnectionImpl.java:461)
121 at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.connect(HttpsURLConnectionImpl.java:433)
122 at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:290)
123 at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:240)
124 at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:292)
125 at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:185)
126 at libcore.net.http.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:271)
127 at com.designfuture.music.api.MusixMatchApi.sendRequestJSON(MusixMatchApi.java:1143)
128 at com.designfuture.music.api.MusixMatchApi.handleRequestJSON(MusixMatchApi.java:982)
129 at com.designfuture.music.api.MusixMatchApi.getConfig(MusixMatchApi.java:211)
130 at com.designfuture.music.asynctask.GetConfigAsyncTask.doInBackground(GetConfigAsyncTask.java:28)
131 at com.designfuture.music.asynctask.GetConfigAsyncTask.doInBackground(GetConfigAsyncTask.java:1)
132 at android.os.AsyncTask$2.call(AsyncTask.java:287)
133 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
134 at java.util.concurrent.FutureTask.run(FutureTask.java:137)
135 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
136 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
137 at java.lang.Thread.run(Thread.java:856)
Hier ist meine AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="my_app_package"
android:installLocation="auto"
android:versionCode="my_version_code"
android:versionName="my_version_name" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="16" />
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:resizeable="true"
android:smallScreens="true"
android:xlargeScreens="true" />
<uses-feature android:glEsVersion="0x00010001" />
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowTaskReparenting="true"
android:debuggable="true"
android:icon="@drawable/mxm_icon"
android:label="@string/musicbrowserlabel"
android:theme="@style/Theme.Music" >
<!-- MY ACTIVITIES -->
</application>
</manifest>
Bitte fragen Sie mich nicht, ob ich die richtige INTERNET-Berechtigung in meinem Manifest habe, da diese App seit 2 Jahren auf dem Markt ist: P.
Ich habe auch festgestellt, dass (von Crittercism) alle Fehler von der Android 4.1.x-Version (JB) stammen. Ich weiß nicht, ob das Gerät gerootet ist oder was (ich kann diese Informationen momentan nicht sehen)
Antworten:
HINWEIS: Ich habe diese Antwort im Juni 2013 geschrieben, daher ist sie heutzutage etwas veraltet. Viele Dinge haben sich in der Android-Plattform seit Version 6 (Marshmallow) geändert, was das ganze Problem heutzutage mehr oder weniger obsolet macht. Ich glaube jedoch, dass dieser Beitrag als Beispiel für einen allgemeinen Ansatz zur Problemanalyse immer noch lesenswert sein kann.
Die Ausnahme, die Sie erhalten (
SecurityException: Permission denied (missing INTERNET permission?)
), zeigt deutlich an, dass Sie kein Netzwerk betreiben dürfen. Das ist eine ziemlich unbestreitbare Tatsache. Aber wie kann das passieren? Normalerweise liegt dies entweder an einem fehlenden<uses-permission android:name="android.permission.INTERNET" />
Eintrag in IhrerAndroidManifest.xml
Datei oder, da die Internetberechtigung bei der Installation nicht zur Laufzeit erteilt wird, an einem seit langem fehlenden Fehler im Android-Framework, der dazu führt, dass Ihre App erfolgreich installiert wird, jedoch ohne die erwartete Erteilung der Berechtigung.Mein Manifest ist korrekt. Wie kann das passieren?
Theoretisch
uses-permission
erfüllt die Präsenz von in Manifest die Anforderungen perfekt und aus Entwicklersicht ist alles, was getan werden muss, um in der Lage zu sein, Netzwerke aufzubauen. Da dem Benutzer während der Installation Berechtigungen angezeigt werden, bedeutet die Tatsache, dass die Installation Ihrer App auf dem Gerät des Benutzers beendet wurde, dass er das gewährt hat, was Sie angefordert haben (andernfalls wird die Installation abgebrochen). Nehmen Sie also an, dass bei Ausführung Ihres Codes alle angeforderten Berechtigungen vorhanden sind gewährt ist gültig. Nach der Erteilung kann der Benutzer die Berechtigung nur auf die vollständige Deinstallation der App widerrufen, da das Standard-Android-Framework (von AOSP) derzeit keine solche Funktion bietet.Es wird jedoch schwieriger, wenn es Ihnen auch nichts ausmacht, dass Ihre App auch auf gerooteten Geräten ausgeführt wird. In Google Play stehen Tools zur Verfügung, die Ihre Nutzer installieren können, um die Berechtigung zu steuern, die installierten Apps zur Laufzeit erteilt wird. Beispiel: Verweigerte Berechtigungen und andere. Dies kann auch mit CyanogenMod , einer Herstellermarke (z. B. LGs) oder einem anderen benutzerdefinierten ROM erfolgen , das verschiedene Arten von "Datenschutzmanagern" oder ähnlichen Tools enthält.
Wenn die App so oder so blockiert wird, wird sie im Grunde genommen absichtlich vom Benutzer blockiert, und wenn ja, ist dies in diesem Fall ein wirklich größeres Benutzerproblem (oder er / sie versteht nicht, was bestimmte Optionen / Tools wirklich tun und was die Konsequenzen wären). als deins, weil sich das Standard-SDK (und die meisten Apps sind für dieses SDK geschrieben) einfach nicht so verhält. Daher bezweifle ich stark, dass dieses Problem bei "Standard" -Geräten ohne Rootberechtigung mit Standard-ROM (oder einem Hersteller wie Samsung, HTC, Sony usw.) auftritt.
Ich will nicht abstürzen ...
Eine ordnungsgemäß implementierte Berechtigungsverwaltung und / oder Organisationsblockierung muss sich mit der Tatsache befassen, dass die meisten Apps möglicherweise nicht für die Situation bereit sind, in der der Zugriff auf bestimmte Funktionen gleichzeitig gewährt wird und nicht gleichzeitig verfügbar ist, da dies ein Widerspruch ist, für den die App das Manifest verwendet Zugriff zur Installationszeit anfordern. Richtig durchgeführte Zugriffssteuerung sollte dafür sorgen, dass alle Dinge wie zuvor funktionieren, und dennoch die Benutzerfreundlichkeit mithilfe von Techniken einschränken, die dem erwarteten Verhalten der Funktion entsprechen. Wenn beispielsweise eine bestimmte Berechtigung erteilt wird (z. B. GPS, Internetzugang), kann eine solche Funktion aus Sicht der App / des Benutzers verfügbar gemacht werden (dh Sie können GPS einschalten oder versuchen, eine Verbindung herzustellen), und die geänderte Implementierung kann keine echten Daten liefern. Das heißt, GPS kann immer keine Koordinaten zurückgeben, z. B. wenn Sie sich in Innenräumen befinden oder keinen Satelliten "fix" haben. Internetzugang kann wie bisher gewährt werden, Sie können jedoch keine erfolgreiche Verbindung herstellen, da keine Datenabdeckung oder kein Routing vorhanden sind. Solche Szenarien sollten auch bei normaler Verwendung erwartet werden, daher sollten sie bereits von den Apps verarbeitet werden. Da dies während des normalen täglichen Gebrauchs einfach passieren kann, sollte ein Absturz in einer solchen Situation höchstwahrscheinlich mit Anwendungsfehlern zusammenhängen.
Es fehlen zu viele Informationen über die Umgebung, in der dieses Problem auftritt, um das Problem ohne Vermutung zu diagnostizieren. Als Lösung können Sie jedoch in Betracht ziehen, setDefaultUncaughtExceptionHandler () zu verwenden, um solche unerwarteten Ausnahmen in Zukunft abzufangen, und dem Benutzer einfach detaillierte Informationen zu zeigen, welche Berechtigung vorliegt Ihre App muss nicht nur abstürzen. Bitte beachten Sie, dass die Verwendung dieser Funktion höchstwahrscheinlich mit Tools wie Crittercism, ACRA und anderen in Konflikt steht. Seien Sie also vorsichtig, wenn Sie eines dieser Tools verwenden.
Anmerkungen
Bitte beachten Sie, dass dies
android.permission.INTERNET
nicht die einzige netzwerkbezogene Berechtigung ist, die Sie möglicherweise im Manifest deklarieren müssen, um eine erfolgreiche Vernetzung durchzuführen. Wenn eineINTERNET
Berechtigung erteilt wird, können Anwendungen lediglich Netzwerk-Sockets öffnen (was im Grunde eine Grundvoraussetzung für jede Netzwerkdatenübertragung ist). Wenn Ihr Netzwerkstapel / Ihre Netzwerkbibliothek jedoch auch Informationen zu Netzwerken erhalten möchte, benötigen Sie diese auchandroid.permission.ACCESS_NETWORK_STATE
in Ihrem Manifest (das vom HttpUrlConnection- Client benötigt wird ( siehe Lernprogramm ).Nachtrag (16.07.2015)
Bitte beachten Sie, dass Android 6 (auch bekannt als Marshmallow) einen völlig neuen Berechtigungsverwaltungsmechanismus namens Runtime Permissions eingeführt hat . Es gibt dem Benutzer mehr Kontrolle darüber, welche Berechtigungen erteilt werden (ermöglicht auch die selektive Erteilung) oder lässt bereits erteilte Berechtigungen widerrufen, ohne dass die App entfernt werden muss:
Die Änderungen wirken sich jedoch nicht auf
INTERNET
oderACCESS_NETWORK_STATE
Berechtigungen aus, die als "normale" Berechtigungen gelten. Der Benutzer muss diese Berechtigung nicht explizit erteilen.Weitere Informationen finden Sie auf der Beschreibungsseite zu Verhaltensänderungen. Stellen Sie sicher, dass sich Ihre App auch auf neueren Systemen korrekt verhält. Dies ist besonders wichtig, wenn Ihr Projekt
targetSdk
mindestens23
so eingestellt ist, dass Sie ein neues Berechtigungsmodell unterstützen müssen ( detaillierte Dokumentation ). Wenn Sie nicht bereit sind, stellen Sie sicher, dass Sie sichtargetSdk
höchstens daran halten ,22
da dies sicherstellt, dass auch neues Android das alte Berechtigungssystem verwendet, wenn Ihre App installiert wird.quelle
Stellen Sie sicher, dass der Ort, an dem Sie hinzufügen
ist richtig.
Sie sollten es so in AndroidManifest.xml schreiben:
Mach meine Fehler nicht :)
quelle
Android Studio 1.3b1 (bei anderen Versionen nicht sicher) hat meine Internetberechtigung für automatisch vervollständigt
ANDROID.PERMISSION.INTERNET
. Ändern Sie es, umandroid.permission.INTERNET
das Problem zu beheben.quelle
Fügen Sie der Manifestdatei die folgende Zeile hinzu:
Es hat es für mich behoben.
quelle
Ich habe diesen Fehler behoben und versehentlich Berechtigungen innerhalb des Application-Tags hinzugefügt. Ich habe draußen geputtet und es funktioniert gut. Hoffe es hilft jemandem.
quelle
Ich hatte auch dieses Problem. Es war seltsam, dass es auf meinem Lollipop-Emulator funktionierte, aber nicht auf meinem eigentlichen Kitkat-Gerät.
Android Studio zwingt Sie jetzt dazu, die Berechtigung in Großbuchstaben zu schreiben, und das ist das Problem.
Hinzufügen
Über der Registerkarte "Anwendung" und es wird funktionieren.
quelle
Schreiben Sie Ihre Erlaubnis vor dem unten angegebenen Anwendungstag.
quelle
Platzieren Sie diese Berechtigung außerhalb des
<application>
Tags, vorzugsweise vor dem Tag. Ich habe es versucht und es funktioniert für mich.quelle
Wenn es sich um eine IPv6-Adresse handelt, sehen Sie sich diese an: https://code.google.com/p/android/issues/detail?id=33046
Es sieht so aus, als ob in Android ein Fehler aufgetreten ist, der in 4.3 (?) Behoben wurde.
quelle
Genau wie Tom es erwähnt hat. Wenn Sie mit Kapital beginnen,
A
wird es durch die automatische Vervollständigung als abgeschlossen.Wenn Sie mit der Eingabe beginnen,
a
wird die automatische Vervollständigung als abgeschlossenDer zweite ist der richtige.
quelle
Ich verbringe Stunden damit, nach einer Lösung für dieses Problem zu suchen, und keine der Lösungen in den Antworten hat funktioniert. Dann fand ich heraus, dass ich während der automatischen Vervollständigung zwischen
android.permission.INTERNET
und versehentlich ein Leerzeichen hinzugefügt habe"
quelle
Nun, es ist eine sehr verwirrende Art von Fehler. Es kann viele Gründe geben:
quelle
Entfernen Sie dies in Ihrer Manifestdatei
quelle