2017-08-10 1 views
2

Bevor wir beginnen lassen Sie mich die Annahmen erklären:Make apk mit Aktivierte Paketnamen in Android Studio

  1. Ich weiß, es schlechte Konvention ist aktiviert Paketnamen zu haben. In meiner Situation haben wir es mit einer veröffentlichten Android-App von Drittanbietern zu tun, die einen Großbuchstaben-Namen hat, leider hat die App Millionen heruntergeladen, so dass die erneute Veröffentlichung keine Option ist.

  2. Ich habe umfangreiche Forschung getan und nicht Lösung finden, in der Nähe SO Fragen sind this und this und this.

Das Problem:

App wurde ursprünglich mit Eclipse entwickelt, die signierte App erstellen können, die Paketnamen aktiviert hat. Die App muss jetzt zu AS verschoben werden, was die Erzeugung signierter apk mit dem Großbuchstaben des Paketnamens verweigert. Siehe Fehler unter:

enter image description here

Hier sind relevante Teile meiner Manifest-Datei:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="TESTING.CAPITALIZED" 

... 

<meta-data 
     android:name="com.google.android.gms.version" 
     android:value="@integer/google_play_services_version" /> 

<activity 
     android:name="TESTING.CAPITALIZED.Activity_xxx" 
... 

Bitte beachten Sie, ich zu manifestieren Aktivität markiert Namenskonvention zu ändern versucht haben: (aber gleichen Fehler)

<activity 
     android:name=".Activity_xxx" 
... 

Die Frage:

Wir brauchen ein Methode/Hack in Android Studio, um darüber zu kommen. Es ist mir egal, wie oder ob es sich um Magie handelt, wie das Bearbeiten von DLLs, ich brauche eine signierte Apk in AS.

Weitere Ergebnisse: Es scheint, dass in Android Studio, solange der erste Buchstabe im Paket in Kleinbuchstaben ist, können wir apk kompilieren und generieren. In meinem Beispiel zum Beispiel, wenn ich mein Projekt zu zTESTING.CAPITALIZED umgestalte, kann ich apk erfolgreich generieren. Das behebt jedoch mein Problem nicht, da der Paketname meines Clients Großbuchstaben hat.

+0

Sie sollten kein Problem haben, das es in Android Studio kompiliert. Das offizielle Dokument https://developer.android.com/guide/topics/manifest/manifest-element.html besagt, dass der Paketname "Ein vollständiger Java-artiger Paketname für die Android-Anwendung sein kann. Der Name sollte eindeutig sein." Der Name darf Groß- und Kleinbuchstaben ('A' bis 'Z'), Ziffern und Unterstriche ('_') enthalten. Einzelne Paketnamen dürfen jedoch nur mit Buchstaben beginnen. " –

+0

@amod, ja ich weiß, dass ich kompilieren kann , aber meine Frage fragt nach dem Erzeugen signierter Apk. Wir müssen diese App aktualisieren, das Kompilieren auf einer Maschine ist nicht hilfreich. Apk erstellen und dann zum Laden hochladen ist unser Ziel. – Bqin1

+0

Laut offizielles Dokument sollte es kein Problem sein, ob wir Android Studio oder Eclilpse verwenden. Es ermöglicht die Kombination von Klein- oder Großbuchstaben. Können Sie den genauen Fehler posten, den Sie erhalten? –

Antwort

2

Wenn jemand nach einer Antwort sucht, wurde dieses Problem in Android Studio 3.0 RC1 behoben. Verweisen Sie auf Google Issue Tracker und aktualisieren Sie, wenn Sie Probleme haben https://issuetracker.google.com/issues/64595077

+0

Ich werde dies so schnell wie möglich versuchen, wenn ich komme Zuhause, wenn es funktioniert, wirst du definitiv als Antwort angenommen. Meine Finger sind gekreuzt! – Bqin1

+0

stellen Sie sicher, dass Sie die korrekte Version von Android Studio installiert haben, wie von Google in Google Issue Tracker erwähnt –

+1

yep es funktioniert !! Vielen Dank :) – Bqin1

Verwandte Themen