2010-09-03 16 views
61

Pobrałem i skompilowałem wersję Androida 2.1 z obrazem signed-google_ion-ota-14721.zip dla mojego telefonu HTC. Kompilacja zakończyła się powodzeniem, a więc obraz systemu miga. Jak mogę podpisać własną aplikację na Androida z podpisem systemowym?Jak podpisać aplikację na system Android z podpisem systemowym?

Czy ktoś może opisać cały proces podpisywania aplikacji użytkownika podpisem systemowym, ponieważ jestem całkowicie nowy w procesie podpisywania.

Odpowiedz

105

W końcu udało mi się znaleźć sposób na podpisanie aplikacji z podpisem platformy. Musisz użyć kluczy znajdujących się pod numerem <root-of-android-source-tree>/build/target/product/security/ i dodać android:sharedUserId="android.uid.system" do pliku AndroidManifest.xml.

Szczegóły od this google groups thread:

On top of signing Android 1.6 for Dream with certificates generated by myself, I've also managed to sign my app with the platform certificate and run it with the system sharedUserId. These are the steps I took:

  • Build and flash to your Dream your own Android using https://web.archive.org/web/20081211205758/http://source.android.com:80/documentation/building-for-dream . Use the mkkey.sh script on https://web.archive.org/web/20091213215940/http://pdk.android.com/online-pdk/guide/release_keys.html to create new certificates, including x509 certificates before you do 'make'.
  • In the AndroidManifest.xml of your application: under the <manifest> element, add the attribute android:sharedUserId="android.uid.system" .
  • Export an unsigned version of your Android application using Eclipse: right-click on the project >> Android Tools >> Export Unsigned Application Package.
  • Use <root-of-android-source-tree>/out/host/<your-host>/framework/signapk.jar to sign your app using platform.x509.pem and platform.pk8 in <root-of-android-source-tree>/build/target/product/security generated earlier:

    java -jar signapk.jar platform.x509.pem platform.pk8 YourApp-unsigned.apk YourApp-signed.apk. 
    
  • Install the app to your device:

    adb install YourApp-signed.apk 
    
  • Run your app
  • Use adb shell ps to confirm that your app is running as system.
+0

Możesz zaakceptować własną odpowiedź, aby zasygnalizować, że znalazłeś rozwiązanie tego problemu. ;) –

+1

Ale/build/target/product/security/gdzie mogę uzyskać tę ścieżkę? – Ahmed

+2

@ user1155908: jest w kodzie źródłowym systemu Android. Musisz pobrać Android Open Source Project (AOSP): http://source.android.com/source/downloading.html –

8

Procedura działa dobrze Próbowałem go. Tak długo, jak nie zapomnisz uruchomić zipalign po podpisaniu, proces podpisywania pozostawia niezmodyfikowany pakiet APK i NIE zostanie zainstalowany. Musisz zainstalować wyrównany plik APK.

zipalign -fv 4 YourApplication-signed.apk YourApplication-aligned.apk 
Powiązane problemy