Android Market på emulatorn med 2.2 / FroYo

Diskussion i 'Allmänt' startad av bernard, 28 aug 2010.

  1. bernard

    bernard Droidmin Moderator

    Blev medlem:
    14 maj 2009
    Inlägg:
    42 307
    Mottagna gillanden:
    47 393
    Operatör:
    Tre+Fello
    Telefon:
    Pixel 9 Pro+iPhone 13 mini

    MINA ENHETER

    Operatör:
    Tre+Fello
    Telefon:
    Pixel 9 Pro+iPhone 13 mini
    ROM:
    Stock
    Platta:
    Watch Series 7
    Övrigt:
    Huawei Watch GT (2019)
    Hittade ingen guide för Android 2.2/Froyo. Har fått igång det hyggligt efter lite experimenterade undantaget att Gmail och Gtalk inte fungerar. Utrymmet för förbättringar är med andra ord stort. Håller guiden kompakt.

    (En vettig guide dyker upp i wikin när allting fungerar)

    Hämta hem Googles APK-filer härifrån (Google Addon HDPI-20100816): http://forum.cyanogenmod.com/index.php?/files/category/2-nexus-one/

    1. Skapa en AVD för Android 2.2

    2. Boota AVD:n med utökad partitionsstorlek (min kallas för droid):

    emulator -avd droid -partition-size 128

    3. Skapa en fil och döp den till endast hosts innehållandes:

    74.125.93.113 android.clients.google.com
    127.0.0.1 localhost

    4. Pusha filen till enheten

    adb remount
    adb push hosts /system/etc/hosts

    5. Installera nödvändiga APK:er. Nu installerade jag en massa, men tror bara dessa behövs:

    adb install GoogleServicesFramework.apk
    adb install GooglePartnerSetup.apk
    adb install MarketUpdater.apk
    adb install Vending.apk

    6. Klart!

    Övriga APK:er jag drog in utan att få Gtalk/Gmail att lira (force close):

    adb install GoogleServicesFramework.apk
    adb install GoogleFeedback.apk
    adb install GoogleBackupTransport.apk
    adb install OneTimeInitializer.apk
    adb install kickback.apk
    adb install MediaUploader.apk
    adb install GoogleCalendarSyncAdapter.apk
    adb install GoogleContactsSyncAdapter.apk
    adb install Talk.apk
    adb install talkback.apk
    adb install GooglePartnerSetup.apk
    adb install SetupWizard.apk
    adb install MarketUpdater.apk
    adb install Vending.apk

    [​IMG]
     
  2. dekadans

    dekadans Adult Droid Medlem

    Blev medlem:
    6 jan 2010
    Inlägg:
    986
    Mottagna gillanden:
    6

    MINA ENHETER

    Tack! Ska testa detta grundligt och sedan införliva detta med min guide (den i signaturen) för emulatorn med 1.6.
     
  3. bernard

    bernard Droidmin Moderator

    Blev medlem:
    14 maj 2009
    Inlägg:
    42 307
    Mottagna gillanden:
    47 393
    Operatör:
    Tre+Fello
    Telefon:
    Pixel 9 Pro+iPhone 13 mini

    MINA ENHETER

    Operatör:
    Tre+Fello
    Telefon:
    Pixel 9 Pro+iPhone 13 mini
    ROM:
    Stock
    Platta:
    Watch Series 7
    Övrigt:
    Huawei Watch GT (2019)
    Utmärkt! Vi kan använda den här tråden för test/felsökning. Återkom om något strular.
     
  4. dekadans

    dekadans Adult Droid Medlem

    Blev medlem:
    6 jan 2010
    Inlägg:
    986
    Mottagna gillanden:
    6

    MINA ENHETER

    Hmm, jag får det att fungera, nästan. Jag kommer in på Market och jag ser betalapps, men det saknas massor med apps, verkligen mängder med applikationer, både gratis och betal syns av någon anledning inte.
     
  5. bernard

    bernard Droidmin Moderator

    Blev medlem:
    14 maj 2009
    Inlägg:
    42 307
    Mottagna gillanden:
    47 393
    Operatör:
    Tre+Fello
    Telefon:
    Pixel 9 Pro+iPhone 13 mini

    MINA ENHETER

    Operatör:
    Tre+Fello
    Telefon:
    Pixel 9 Pro+iPhone 13 mini
    ROM:
    Stock
    Platta:
    Watch Series 7
    Övrigt:
    Huawei Watch GT (2019)
    Det går nog att lösa med att ändra i build.prop: https://swedroid.se/forum/showthread.php?t=15959&highlight=build.prop

    Problemet är att alla ändringar man pushar nollställs efter att man startar om emulatorn, man skulle behöva göra en egen system.img utifrån den befintliga som följer med emulatorn enligt instruktionerna här: http://discuz-android.blogspot.com/2008/01/customize-google-android-systemimg-for.html

    Kortfattat: Pusha in hela google-paketet (adb push system /system), ändra hosts-filen respektive build.prop-filen och sedan bygga en ny system.img att boota emulatorn med.

    Någon som har tid/lust?
     
  6. dekadans

    dekadans Adult Droid Medlem

    Blev medlem:
    6 jan 2010
    Inlägg:
    986
    Mottagna gillanden:
    6

    MINA ENHETER

    Testade att skapa en system.img nu, men av någon anledning vägrar emulatorn att starta med den. Tror jag använde fel mkfs.yaffs2, är för trött för detta nu, återkommer imorgon :)
     
  7. dekadans

    dekadans Adult Droid Medlem

    Blev medlem:
    6 jan 2010
    Inlägg:
    986
    Mottagna gillanden:
    6

    MINA ENHETER

    Hm, jag kunde inte släppa det...

    Jag har testat med både mkfs.yaffs2.arm och mkfs.yaffs2.x86.
    ARM-versionen bygger imagen som den ska, däremot bootar inte emulatorn med den.
    x86-versionen fungerar inte, oavsett vart ifrån jag laddar ner den:
     
  8. Lullebulle

    Lullebulle Adult Droid Medlem

    Blev medlem:
    18 jan 2010
    Inlägg:
    823
    Mottagna gillanden:
    49

    MINA ENHETER

    /system är ju readonly såvida du inte mountat om den till rw.
     
  9. bernard

    bernard Droidmin Moderator

    Blev medlem:
    14 maj 2009
    Inlägg:
    42 307
    Mottagna gillanden:
    47 393
    Operatör:
    Tre+Fello
    Telefon:
    Pixel 9 Pro+iPhone 13 mini

    MINA ENHETER

    Operatör:
    Tre+Fello
    Telefon:
    Pixel 9 Pro+iPhone 13 mini
    ROM:
    Stock
    Platta:
    Watch Series 7
    Övrigt:
    Huawei Watch GT (2019)
    Hur stor blir IMG-filen? Har du provat att bara plocka ut den och sedan köra, dvs utan några ändringar/vanilla?

    Du skall inte behöva köra med x86-versionen som jag förstått det.
     
  10. dekadans

    dekadans Adult Droid Medlem

    Blev medlem:
    6 jan 2010
    Inlägg:
    986
    Mottagna gillanden:
    6

    MINA ENHETER

    Det har jag självklart gjort^^

    Den blir runt 50MB. Har testat att skapa en system.img från en helt nygjord emulator, ingen skillnad.

    Utöver mkfs.yaffs2 som gjorts specifikt för Android hittade jag också ett par linux-binaries vid namn mkyaffs2image, dessa gav dock samma felmeddelande som mkfs.yaffs2.x86, dvs: "1: Syntax error: "(" unexpected"

    Inga framsteg än alltså.
     
  11. bernard

    bernard Droidmin Moderator

    Blev medlem:
    14 maj 2009
    Inlägg:
    42 307
    Mottagna gillanden:
    47 393
    Operatör:
    Tre+Fello
    Telefon:
    Pixel 9 Pro+iPhone 13 mini

    MINA ENHETER

    Operatör:
    Tre+Fello
    Telefon:
    Pixel 9 Pro+iPhone 13 mini
    ROM:
    Stock
    Platta:
    Watch Series 7
    Övrigt:
    Huawei Watch GT (2019)
    Haha, det var som attans. Pinsamt nog verkar system.img bara vara skrivskyddad...

    Det fungerar fint för min del att skriva och att spara ändringar till system.img-filen om jag flyttar den från "\platforms\android-8\images" till rotkatalogen för den AVD-konfiguration jag kör.
     
  12. bernard

    bernard Droidmin Moderator

    Blev medlem:
    14 maj 2009
    Inlägg:
    42 307
    Mottagna gillanden:
    47 393
    Operatör:
    Tre+Fello
    Telefon:
    Pixel 9 Pro+iPhone 13 mini

    MINA ENHETER

    Operatör:
    Tre+Fello
    Telefon:
    Pixel 9 Pro+iPhone 13 mini
    ROM:
    Stock
    Platta:
    Watch Series 7
    Övrigt:
    Huawei Watch GT (2019)
    Det här blev plötsligt väldigt enkelt:

    1. adb push system /system + ändra hosts-filen etc

    2. Kör sedan en wipe vid första boot: emulator -avd droid -wipe-data

    3. Vid uppstartsskärmen, välj den setup som heter något med SDK i namnet.

    Market, Gmail, Kontakter och synk - hela rubbet funkar!

    Då återstår att koka ihop en build.prop som listar alla applikationer. Att klämma in busybox hade förstås inte varit helt fel heller.
     
  13. bernard

    bernard Droidmin Moderator

    Blev medlem:
    14 maj 2009
    Inlägg:
    42 307
    Mottagna gillanden:
    47 393
    Operatör:
    Tre+Fello
    Telefon:
    Pixel 9 Pro+iPhone 13 mini

    MINA ENHETER

    Operatör:
    Tre+Fello
    Telefon:
    Pixel 9 Pro+iPhone 13 mini
    ROM:
    Stock
    Platta:
    Watch Series 7
    Övrigt:
    Huawei Watch GT (2019)
  14. dekadans

    dekadans Adult Droid Medlem

    Blev medlem:
    6 jan 2010
    Inlägg:
    986
    Mottagna gillanden:
    6

    MINA ENHETER

    Det kanske är jag som är trött efter högskolans "mjukstart", men jag hängde inte riktigt med vad du gjorde där. Skulle du kunna förklara lite mer ingående bara? :)
     
  15. bernard

    bernard Droidmin Moderator

    Blev medlem:
    14 maj 2009
    Inlägg:
    42 307
    Mottagna gillanden:
    47 393
    Operatör:
    Tre+Fello
    Telefon:
    Pixel 9 Pro+iPhone 13 mini

    MINA ENHETER

    Operatör:
    Tre+Fello
    Telefon:
    Pixel 9 Pro+iPhone 13 mini
    ROM:
    Stock
    Platta:
    Watch Series 7
    Övrigt:
    Huawei Watch GT (2019)
    Det blev helt klart rörigt, nedan en sammanfattning:

    Android Market med Android 2.2 i emulatorn:

    1. Skapa en AVD för Android 2.2

    2. Gå till följande sökväg (SDK:n) och kopiera system.img:

    AndroidSDK\platforms\android-8\images\

    3. Lägg system.img-filen i roten på den mapp som korresponderar mot den AVD du skapade i steg 1. OBS! Se till att filen (system.img) inte är skrivskyddad.

    \.android\avd\droid.avd\

    4. Boota AVD:n med utökad partitionsstorlek (min kallas för droid):

    emulator -avd droid -partition-size 128

    5. Skapa en fil och döp den till endast hosts innehållandes:

    74.125.93.113 android.clients.google.com
    127.0.0.1 localhost

    6. Pusha filen till enheten

    adb remount
    adb push hosts /system/etc/hosts

    7. Installera Googles applikationer (Google Addon HDPI-20100816): http://forum.cyanogenmod.com/index.p...y/2-nexus-one/

    adb push system /system

    8. Stäng av emulatorn och starta den sedan med detta kommando:

    emulator -avd droid -wipe-data

    9. Vid uppstart ser du ett fönster som frågar vilken installationsguide du vill köra, välj den som har "SDK" i namnet.

    10. Klart, nu är det bara till att starta emulatorn som vanligt i fortsättningen.

    builds.prop för att hitta alla appar på Market återstår som sagt, det är lite klurigt. Jag provade med att dumpa builds.prop-filen från dels en Nexus One och dels en Galaxy S. Det gjorde varken till eller från om jag körde med dessa eller med den som följer med emulatorn. Testade även med Market Access för att byta provider, det gav ingen skillnad heller.
     
  16. dekadans

    dekadans Adult Droid Medlem

    Blev medlem:
    6 jan 2010
    Inlägg:
    986
    Mottagna gillanden:
    6

    MINA ENHETER

    Ah, lösningen med att hämta system.img från SDKn var lite för enkel för att jag skulle hitta den.
     
  17. bernard

    bernard Droidmin Moderator

    Blev medlem:
    14 maj 2009
    Inlägg:
    42 307
    Mottagna gillanden:
    47 393
    Operatör:
    Tre+Fello
    Telefon:
    Pixel 9 Pro+iPhone 13 mini

    MINA ENHETER

    Operatör:
    Tre+Fello
    Telefon:
    Pixel 9 Pro+iPhone 13 mini
    ROM:
    Stock
    Platta:
    Watch Series 7
    Övrigt:
    Huawei Watch GT (2019)
    Vilka parametrar kollar Market på, är det uteslutande vad som framgår av build.prop som gäller? Det måste nästan vara något mer. Om den bara tittar på build.prop borde väl ändå en dump från valfri telefon fungera?

    Hur såg build.prop-filen ut i emulatorhacket med Market och Android 1.6 där man bootade den där system.img-filen för HTC ION?

    EDIT: För att inte tappa nätverket med build.prop dumpad från telefoner, så kommentera ut saker som (skiljer sig lite från build.prop till build-prop):
    #ro.ril.hsxpa=1
    #ro.ril.gprsclass=10
    #ro.telephony.default_network=4

    Emulator build.prop
    Bli medlem eller för att visa innehållet!

    Galaxy S 2.2 build.prop
    Bli medlem eller för att visa innehållet!

    Nexus One CyanogenMOD 6 2.2 build.prop
    Bli medlem eller för att visa innehållet!