2017-01-27 2 views
0

Ich habe die Entwicklung von ionic 2 im App-Bereich aufgebaut und im BETA-Kanal von Google Play getestet. Alles läuft gut, heute aktualisiere ich auf ionic 2 final und übertrage es auf ionic Paket eine APK-Datei für mich zu bauen ...Google Play APK wird nicht deaktivieren - Ionic 2

ionic package build android --profile android --release 

ich da hochgeladen haben es zu Google Play und ich bin immer ...

A device with API levels in range 17+ is eligible to receive version 76, which is optimised for higher API levels, but actually receives version 3000328 because it has a higher version code. This would occur when Release track containing any of [BETA] and Screen layouts containing any of [small, normal, large, xlarge] and Native platforms containing any of [arm64-v8a, armeabi, armeabi-v7a, x86, x86_64] and Features containing all of [android.hardware.FAKETOUCH, android.hardware.LOCATION, android.hardware.location.GPS, android.hardware.location.NETWORK, android.hardware.screen.PORTRAIT]. 

A device upgrading from API levels = 16 to API levels in range 17+ would become eligible to receive version 76, which is optimised for higher API levels, but would actually receive version 3000328 because it has a higher version code. This would occur when Release track containing any of [BETA] and Screen layouts containing any of [small, normal, large, xlarge] and Native platforms containing any of [arm64-v8a, armeabi, armeabi-v7a, x86, x86_64] and Features containing all of [android.hardware.FAKETOUCH, android.hardware.LOCATION, android.hardware.location.GPS, android.hardware.location.NETWORK, android.hardware.screen.PORTRAIT]. 

A device with API levels in range 17+ is eligible to receive version 76, which is optimised for higher API levels, but actually receives version 3000258 because it has a higher version code. This would occur when Release track containing any of [BETA] and Screen layouts containing any of [small, normal, large, xlarge] and Features containing all of [android.hardware.FAKETOUCH, android.hardware.LOCATION, android.hardware.location.GPS, android.hardware.location.NETWORK, android.hardware.screen.PORTRAIT]. 

A device upgrading from API levels = 16 to API levels in range 17+ would become eligible to receive version 76, which is optimised for higher API levels, but would actually receive version 3000258 because it has a higher version code. This would occur when Release track containing any of [BETA] and Screen layouts containing any of [small, normal, large, xlarge] and Features containing all of [android.hardware.FAKETOUCH, android.hardware.LOCATION, android.hardware.location.GPS, android.hardware.location.NETWORK, android.hardware.screen.PORTRAIT]. 

Some devices are eligible to run multiple APKs. In such a scenario, the device will receive the APK with the higher version code. 

76 ist meine aktuelle Produktionsversion von 20. August 2015 (API Level 16+)

3.000.258 ist ein altes BETA von Dezember (API Stufe 16+)

3000328 meine letzte BETA ist von heute bauen (API Stufe 16+)

I 3.000.328 nur benutzen wollen, aber Google Play wird nicht lassen sie mich 3.000.258 deaktivieren, wenn ich das tue, sagt er ...

It is forbidden to downgrade devices which previously used M permissions (target SDK 23 and above) to APKs which use old style permissions (target SDK 22 and below). This occurs in the change from version 3000258 (target SDK 23) to version 76 (target SDK 0). 

Irgendwelche Ideen, warum ich nicht 3000258 deaktivieren? Dank

Antwort

1

Ich sehe, dass Sie die API-Ebenen aufgelistet haben, die (API Stufe 16+) verwendet wurden, gehe ich davon aus, dass dies der minSdkVersion ist aber die wichtige Eigenschaft zu überprüfen, und in diesem Fall eingestellt ist die targetSdkVersion.

Es ist ein Problem von Google/Androids neues Berechtigungssystem als von Android 6 verursacht. Im Wesentlichen, wenn die App mit einer targetSdkVersion von 23 veröffentlicht wurde gibt es eine newer method of permissions management, that is not backward compatible. Google gestattet Ihnen daher nicht, die Benutzer, die das ältere Berechtigungssystem von sdkVersion 23+ verwenden, auf eine niedrigere Version herabzustufen. ohne ausdrücklich besagt, es bei einer höheren SDK Version


Es scheint, dass die ionic build --release die höchste verfügbare sdk Version standardmäßig wählt, die den Grund sein können, dass Sie eine Version in der Vergangenheit in Ihrer config.xml abgegeben haben. Aus irgendeinem Grund verwenden Ihre Builds jetzt eine geringere SDK-Version und führen zu den Fehlern, die Sie sehen.

Die schnelle Lösung besteht darin, die targetSdkVersion für SDK v23 zu erzwingen, um sicherzustellen, dass es den Aktivierungsprozess besteht. Es bedeutet jedoch, dass nur Android 6+ Geräte können Sie die App herunterladen und verwenden.

Sie können diese sdk Version erzwingen config.xml in der Wurzel Ihrer Ionic Projekt von Zugabe <preference name="android-targetSdkVersion" value="23" />

Nach dem erneuten Ausführen der Build-Prozess, überprüfen Sie die Android-Manifest, um sicherzustellen, dass sie richtig in this format ausbreitet:

<uses-sdk android:minSdkVersion="16" 
      android:targetSdkVersion="23" 
      android:maxSdkVersion="23" /> 

all das Failing, ein Stackoverflow Benutzer hat a potential workaround berichtet, dass insgesamt beta-Test beinhaltet deaktivieren.

+0

Habe all das getan und als ich es auf Google play hochgeladen habe, heißt es 'API levels 14+ Target SDK 23'. Wenn ich versuche zu veröffentlichen, bekomme ich _Diese Konfiguration kann aus folgenden Gründen nicht veröffentlicht werden: Es ist verboten, Geräte, die zuvor M-Berechtigungen (Ziel-SDK 23 und höher) verwendet haben, auf APKs herunterzustufen, die alte Berechtigungen verwenden (Ziel-SDK 22) und darunter). Dies tritt bei der Änderung von Version 3000258 (Ziel-SDK 23) auf Version 76 (Ziel-SDK 0). – CarlRyds

1

Problem ist nicht über 3000258. Es gibt ein Problem über 76, wahrscheinlich über Target SDK-Version von dem, so müssen Sie auf 76 konzentrieren, lösen SDK Target Problem und dann können Sie 3000258 ich Quess deaktivieren.

Ich schrieb dies nur für den Fall, wenn Sie versuchen, 3000258 SDK Version zu ändern. Wenn Sie bereits versucht haben, SDK Target von 76 zu ändern, beachten Sie diese Antwort nicht.

+0

Version 76 hat 'API-Ebenen 17 +' und 'Target SDK- – CarlRyds

+0

Beide Fehler sagen, dass Version 76 niedrigere API-Ebenen hat als alte Versionen. Hast du es gut überprüft? – ReadyFreddy

Verwandte Themen