Pianetatech


Pagina 1 di 11 12345 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 108
  1. #1
    [f@livio ~] # L'avatar di technofab
    Registrato dal
    Jul 2010
    Sesso
    Uomo
    Dispositivo
    Vedi firma :)
    Operatore
    H3G
    Città
    Firenze
    Messaggi
    10,311
    Grazie!
    76
    Ringraziato 351 volte in 309 post

    [Guida] Pubblicare le App create con App Inventor sul Market

    Visto che la guida in beta presente qui:
    App Inventor e Market

    Ha avuto successo ecco la guida che dovrebbe esser definitiva.

    Quelle che sto per descrivere sono informazioni nate per ovviare all'impossibilità di postare sul market applicazioni create tramite App Inventor.

    Prerequisiti:


    • Java Development Kit 1.6 e Runtime Environment 1.6 già installate sul PC
    • Android SDK già installato e funzionante
    • Appinventor Extras
    • APKTool
    • Auto-Sign 6.5
    • .Tanta Pazienza


    Punto 1) Creazione delle chiavi di firma delle applicazioni.

    Questa procedura è una tantum, non occorre ogni volta che faremo una applicazione, ma la faremo solo la prima volta, e riutilizzeremo la chiave generata per le applicazioni che realizzeremo.

    Dunque grazie alla JAVA SDK ci creeremo una chiave privata, che sarà utilizzata da qui in avanti per la pubblicazione delle applicazioni.

    Dalla Cartella BIN delle Java SDK eseguire (attenzione il comando è tutto di seguito su di una riga soltanto):
    codice:
     keytool.exe -genkey -v -keystore my-release-key.keystore -alias aliasname -keyalg RSA -keysize 2048 -validity 10000
    my-release-key.keystore e aliasname sono di fantasia, si può usare cosa si vuole, tenendo conto che aliasname al massimo sarà di 8 caratteri.

    Il Market richiede che per pubblicare le applicazioni occorre la chiave privata abbia una durata successiva al 22 ottobre 2033, di conseguenza si usa un valore di validity di 10000 giorni ovvero oltre 27 anni!!!

    Punto 2 Personalizzazione dell’Icona della applicazione

    A questo punto scaricare l'APK, che avrà nome ad esempio nomeapk.apk, in locale su di una cartella del computer.

    Tramite AutoSigner eseguire la seguente procedura (grazie a Marcor Online info@marcoronline.tk per la guida al programma Auto-Signer).
    Aprite con 7zip il file nomeapk.apk che volete modificare.
    Eliminate totalmente la cartella META-INF (che è la cartella dove sono contenuti i certificati dell’applicazione, non più validi dopo la modifica).
    Le immagini generalmente sono quasi tutte contenute nella cartella res\drawable, e in particolare l'icona del programma è quella che si chiama ya.png. Estrate tutte le immagini che volete modificare e tramite il programma che preferite fate tutte le modifiche.
    State attenti a non cambiare le dimensioni in pixel dell'immagine e a non cambiare nome ed estensione.
    Una volta che avete terminato le modifiche andate a rimettere i file dentro l'apk tramite 7zip) semplicemente trascinandole e sovrascrivendole alle originali.
    Chiudete 7zip e rinominate il vostro programma in Launcher.apk.
    Estraete il contenuto dell'archivio Auto-Sign v0.65 e copiate il file Launcher.apk dentro alla cartella Auto-Sign\update\app.
    Lanciate il tool tramite l'eseguibile Auto-Sign v0.65.exe e nella finestra che compare, dal menu a tendina selezionate Launcher.apk. (Attenzione: se tutto è stato fatto in modo corretto, la scritta Launcher.apk sotto il menu a tendina sarà verde. Se non lo dovesse essere avete rinominato male il file oppure lo avete messo nella cartella sbagliata)
    Adesso cliccate su Autosign e in pochi secondi in una nuova finestra vi verrà comunicato che il file è stato ricertificato.
    All’interno della cartella Auto-Sign\update\app è stato creato il nuovo file Launcher_signed.apk. Potete buttare il vecchio Launcher.apk e rinominare l’apk ottenuto in pre-nomeapk.apk

    Punto 3) Modifica dell’APK per essere compatibile col Market


    Decompiliamo il nostro APK

    codice:
      apktool d -s pre-nomeapk.apk
    nella cartella creata dal nome pre-nomeapk, andiamo a modificare il file AndroidManifest.xml che è un po' il cuore della parametrizzazione delle applicazioni.

    Anzitutto indichiamo la versione dell'applicazione aggiungendo gli le keyword "android:versionCode" e "android:versionName" nella keyword "package", come nel seguente esempio::

    codice:
    <?xml version="1.0" encoding="UTF-8"?>
     <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="appinventor.xyz.xyz"
     android:versionCode="1"
     android:versionName="1.0">
    Specifichiamo adesso la versione minima di Android necessaria per far girare l'applicazione. Attenzione però il Market ha un bug al momento, e non supporta le applicazioni rilasciate per FroYo ovvero Android 2.2. Consideriamo la seguente tabella:

    API Level -> Android Platform Version
    1 -> 1.0
    2 -> 1.1
    3 -> 1.5
    4 -> 1.6
    5 -> 2.0
    6 -> 2.0.1
    7 -> 2.1
    8 -> 2.2

    In caso quindi di una applicazione che può girare su Eclair dovremo inserire la seguente Keyword.

    codice:
     <uses-sdk android:minSdkVersion="7" />
    Infine sistemiamo le ultime cose necessarie per rendere compatibile l'apk per il Market

    Rimuovere la keyord android:icon su questa riga:

    codice:
    <activity android:label="123" android:icon="@drawable/ya" android:name=".Screen1">
    ed inserirlo su questa riga:

    codice:
     <application android:label="XXXXX" android:debuggable="true">
    Sempre sulla riga relativa all'elemento "application", rimuovere la key "android_:debuggable"

    Il file AndroidManifest.xml risultante sarà qualcosa di molto simile a questo

    codice:
    <?xml version="1.0" encoding="UTF-8"?>
     <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="appinventor.xyz.xyz"
     android:versionCode="1"
     android:versionName="1.0">
     <uses-sdk android:minSdkVersion="3" />
     ......
     <application android:label="XXXX" android:icon="@drawable/ya" >
     <activity android:label="123" android:name=".Screen1">
     ....
     </activity>
     </application>
     </manifest>
    Non rimane altro, una volta effettuate queste modifiche ricompilare il nostro APK

    codice:
      apktool b pre-nomeapk
    Con 7Zip, aprire l'APK e andare nella cartella META-INF dove rimuovere i files presenti, ad esempio

    ANDROIDK.SF
    ANDROIDK.RSA
    File allegati File allegati
    Ultima modifica di technofab; 29-09-2010 a 17: 56
    Galaxy Nexus yakju JRO03C Jelly Bean 4.1.1
    Galaxy S
    Cyanogenmode 9 - Nightly 13/07/2012
    Asus Transformer TF101
    Ice Cream Sandwich 4.0.3

  2. I seguenti 2 utenti hanno ringraziato technofab per aver trovato utile questo post:

    AlePC (20-04-2011), WAR (03-01-2011)

  3. #2
    [f@livio ~] # L'avatar di technofab
    Registrato dal
    Jul 2010
    Sesso
    Uomo
    Dispositivo
    Vedi firma :)
    Operatore
    H3G
    Città
    Firenze
    Messaggi
    10,311
    Grazie!
    76
    Ringraziato 351 volte in 309 post
    Punto 4) Firma dell'applicazione e ottimizzazione per il Market

    Dalla Cartella BIN delle JDK eseguire:

    codice:
     jarsigner.exe -verbose -keystore my-release-key.keystore pre-nomeapk.apk aliasname
    Verrà richiesto di inserire la password della chiave privata ed una volta inserita, l'applicazione verrà firmata con la nostra chiave privata.
    Potremmo verifare che la firma è andata a buon fine col comando

    codice:
     jarsigner.exe -verify -verbose -certs pre-nomeapk.apk
    Spostiamoci nella cartella dell'SDK di Android e diamo il comando

    codice:
     zipalign -v 4 pre-nomeapk.apk nome.apk
    Punto 5 Pubblicare

    Il file nome.apk è pronto per essere pubblicato sul Market.




















    Ringraziamenti


    Sono doverosi i seguenti ringraziamenti:

    Lo staff di Androidworld.it che mi sopportano ogni giorno ed in particolare ciso, Il Dottore e mitico303. Qui mi hanno permesso prima di altri di pubblicare anche se in beta la mia guida e grazie a questa pubblicazione ho trovato la cavia per provarla...

    Alessio70, la cavia ed anche l'inventore di Itandroid, sito che a breve aprirà e il suo topic principale sarà lo sviluppo Android attraverso sia la programmazione tradizionale che App Inventor.

    Verix, moderatore di Android-dev.it, senza il quale non avremmo capito come modificare il Manifest.

    Marcor, del sito Marcoronline.tk, che ha fornito una guida esaustiva per la personalizzazione della icona dell'applicazione.


    Realizzata in data 29 Settembre 2010, by technofab rintracciabile su Androidworld.it e su Twitter

    FINE
    Ultima modifica di technofab; 29-09-2010 a 17: 57
    Galaxy Nexus yakju JRO03C Jelly Bean 4.1.1
    Galaxy S
    Cyanogenmode 9 - Nightly 13/07/2012
    Asus Transformer TF101
    Ice Cream Sandwich 4.0.3

  4. I seguenti utenti hanno ringraziato technofab per aver trovato utile questo post:

    WAR (03-01-2011)

  5. #3
    [f@livio ~] # L'avatar di technofab
    Registrato dal
    Jul 2010
    Sesso
    Uomo
    Dispositivo
    Vedi firma :)
    Operatore
    H3G
    Città
    Firenze
    Messaggi
    10,311
    Grazie!
    76
    Ringraziato 351 volte in 309 post
    Vi allego anche la guida in formato PDF per una maggiore facilità di lettura.
    File allegati File allegati
    Galaxy Nexus yakju JRO03C Jelly Bean 4.1.1
    Galaxy S
    Cyanogenmode 9 - Nightly 13/07/2012
    Asus Transformer TF101
    Ice Cream Sandwich 4.0.3

  6. I seguenti 4 utenti hanno ringraziato technofab per aver trovato utile questo post:

    gipo (15-02-2011), loddolo (05-04-2011), Uno (28-03-2011), WAR (03-01-2011)

  7. #4
    Android Senior
    Registrato dal
    Sep 2010
    Sesso
    Uomo
    Dispositivo
    ,
    Operatore
    Vodafone
    Città
    Milano
    Messaggi
    112
    Grazie!
    0
    Ringraziato 3 volte in 3 post
    ragazzi sono senza parole!! davvero complimenti mi avete risolto un grosso problema!!

  8. #5
    [f@livio ~] # L'avatar di technofab
    Registrato dal
    Jul 2010
    Sesso
    Uomo
    Dispositivo
    Vedi firma :)
    Operatore
    H3G
    Città
    Firenze
    Messaggi
    10,311
    Grazie!
    76
    Ringraziato 351 volte in 309 post

    Progetto AppInventor2Market

    Ecco alla release prealpha AppInventor2Market...

    appinventor2market.jpg



    L'applicazione penso che capiate a cosa serve
    Galaxy Nexus yakju JRO03C Jelly Bean 4.1.1
    Galaxy S
    Cyanogenmode 9 - Nightly 13/07/2012
    Asus Transformer TF101
    Ice Cream Sandwich 4.0.3

  9. I seguenti utenti hanno ringraziato technofab per aver trovato utile questo post:

    WAR (03-01-2011)

  10. #6
    Android Senior
    Registrato dal
    Sep 2010
    Sesso
    Uomo
    Dispositivo
    ,
    Operatore
    Vodafone
    Città
    Milano
    Messaggi
    112
    Grazie!
    0
    Ringraziato 3 volte in 3 post
    sei un idolo.. io sto ancora lavorando sulla mia prima applicazione (uno yahtzee) che presto postero' in maniera tale che chi ha voglia possa cominciare a fare un po' di testing

    non appena sara' pronto non vedo l'ora di testare questa procedura :P

  11. #7
    [f@livio ~] # L'avatar di technofab
    Registrato dal
    Jul 2010
    Sesso
    Uomo
    Dispositivo
    Vedi firma :)
    Operatore
    H3G
    Città
    Firenze
    Messaggi
    10,311
    Grazie!
    76
    Ringraziato 351 volte in 309 post
    Il mio gioco preferitooooooooooooooooooooooooooooo
    Galaxy Nexus yakju JRO03C Jelly Bean 4.1.1
    Galaxy S
    Cyanogenmode 9 - Nightly 13/07/2012
    Asus Transformer TF101
    Ice Cream Sandwich 4.0.3

  12. #8
    Baby Android
    Registrato dal
    Oct 2010
    Sesso
    Uomo
    Dispositivo
    droid
    Operatore
    Vodafone
    Città
    Virginia Beach , VA,USA
    Messaggi
    5
    Grazie!
    0
    Ringraziato 0 volte in 0 post
    Ciao, cerco di ricostruire il file xml dopo l'editing e ottengo un errore









    A cura di
    [CODE] <? Xml version = "1.0" encoding = "UTF-8"?>
    </ Manifesto
    xmlns: androide = "http://schemas.android.com/apk/res/android"
    pacchetto = "appinventor.ai_Jernigan52.Auto testo di risposta"
    Android: versionCode = "1"
    Android: versionName = "1.0">
    <uses-sdk android:minSdkVersion="2" />
    android:name="android.permission.SEND_SMS" <uses-permission />
    android:name="android.permission.INTERNET" <uses-permission />
    android:name="android.permission.RECEIVE_SMS" <uses-permission />
    <application android:label="Auto Testo Reply" android:icon="@drawable/ya">
    <activity android:label="Auto Testo Reply" android:name=".Screen1">
    <intent-filter>
    android:name="android.intent.action.MAIN" <action />
    android:name="android.intent.category.LAUNCHER" <category />
    </ Intent-filtro>
    android:name="ai_Jernigan52.Texting_responder" <activity>

    <Manifest> [/ CODE]


    Originale
    [CODE] <? Xml version = "1.0" encoding = "UTF-8"?>
    pacchetto <manifesto = "appinventor.ai_Jernigan52.Texting_responder"
    xmlns: androide = "http://schemas.android.com/apk/res/android">
    android:name="android.permission.SEND_SMS" <uses-permission />
    android:name="android.permission.INTERNET" <uses-permission />
    android:name="android.permission.RECEIVE_SMS" <uses-permission />
    android:label="Texting_responder" <application android:debuggable="true">
    <activity android:label="Texting_responder" android:icon="@drawable/ya" android:name=".Screen1">
    <intent-filter>
    android:name="android.intent.action.MAIN" <action />
    android:name="android.intent.category.LAUNCHER" <category />
    </ Intent-filtro>
    </ Attività>
    android:name="com.google.devtools.simple.runtime.c omponents.android.ListPickerActivity" <activity />
    </ Application>
    </ Manifesto> [/ CODE]
    errore nel apktool [CODE] C: \ apktools \ altri apktool b> pre-nomeapk2
    I: Verifica se le risorse è cambiato ...
    I: Costruire le risorse ...
    C: \ apktools \ other \ pre-nomeapk2 \ AndroidManifest.xml: 19: errore: Errore parsing XML:
    tag non corrispondenti
    Eccezione in brut.androlib.AndrolibException thread "main": brut.common.BrutExce
    ption: non poteva comando exec: aapt [, p,-F, C: \ Users \ Jacob \ AppData \ Local \ Temp \ A
    PKTOOL7776034713094328570.tmp,-I, C: \ Users \ Jacob \ apktool \ Framework \ 1.apk,-S, C
    : \ Apktools \ other \ pre-nomeapk2 \ res,-M, C: \ apktools \ other \ pre-nomeapk2 \ AndroidMan
    ] Ifest.xml
    a brut.androlib.res.AndrolibResources.aaptPackage (Unknown Source)
    a brut.androlib.Androlib.buildResourcesFull (Unknown Source)
    a brut.androlib.Androlib.buildResources (Unknown Source)
    a brut.androlib.Androlib.build (Unknown Source)
    a brut.androlib.Androlib.build (Unknown Source)
    a brut.apktool.Main.cmdBuild (Unknown Source)
    a brut.apktool.Main.main (Unknown Source)
    Causati da: brut.common.BrutException: non potrebbe comando exec: aapt [, p,-F, C: \ U
    SERS \ Jacob \ AppData \ Local \ Temp \ APKTOOL7776034713094328570.tmp,-I, C: \ Users \ Giacobbe
    \ Apktool \ Framework \ 1.apk,-S, C: \ apktools \ other \ pre-nomeapk2 \ res,-M, C: \ apktool
    s \ altri \ pre-nomeapk2 \ AndroidManifest.xml]
    a brut.util.OS.exec (Unknown Source)
    ... Altri 7

    C: apktool \ apktools \ altri> b pre-nomeapk2
    I: Verifica se le risorse è cambiato ...
    I: Costruire le risorse ...
    C: \ apktools \ other \ pre-nomeapk2 \ AndroidManifest.xml: 19: errore: Errore parsing XML:
    tag non corrispondenti
    Eccezione in brut.androlib.AndrolibException thread "main": brut.common.BrutExce
    ption: non poteva comando exec: aapt [, p,-F, C: \ Users \ Jacob \ AppData \ Local \ Temp \ A
    PKTOOL6247712400446693200.tmp,-I, C: \ Users \ Jacob \ apktool \ Framework \ 1.apk,-S, C
    : \ Apktools \ other \ pre-nomeapk2 \ res,-M, C: \ apktools \ other \ pre-nomeapk2 \ AndroidMan
    ] Ifest.xml
    a brut.androlib.res.AndrolibResources.aaptPackage (Unknown Source)
    a brut.androlib.Androlib.buildResourcesFull (Unknown Source)
    a brut.androlib.Androlib.buildResources (Unknown Source)
    a brut.androlib.Androlib.build (Unknown Source)
    a brut.androlib.Androlib.build (Unknown Source)
    a brut.apktool.Main.cmdBuild (Unknown Source)
    a brut.apktool.Main.main (Unknown Source)
    Causati da: brut.common.BrutException: non potrebbe comando exec: aapt [, p,-F, C: \ U
    SERS \ Jacob \ AppData \ Local \ Temp \ APKTOOL6247712400446693200.tmp,-I, C: \ Users \ Giacobbe
    \ Apktool \ Framework \ 1.apk,-S, C: \ apktools \ other \ pre-nomeapk2 \ res,-M, C: \ apktool
    s \ altri \ pre-nomeapk2 \ AndroidManifest.xml]
    a brut.util.OS.exec (Unknown Source)
    ... Altri 7
    [/ CODE]
    Qualsiasi aiuto sarebbe apprezzato!

  13. #9
    [f@livio ~] # L'avatar di technofab
    Registrato dal
    Jul 2010
    Sesso
    Uomo
    Dispositivo
    Vedi firma :)
    Operatore
    H3G
    Città
    Firenze
    Messaggi
    10,311
    Grazie!
    76
    Ringraziato 351 volte in 309 post
    Non che sia molto leggibile, ma leggo un Errore parsing XML: tag non corrispondenti

    Hai sicuramente confuso/commesso qualche errore modificando il file di manifesto.
    Galaxy Nexus yakju JRO03C Jelly Bean 4.1.1
    Galaxy S
    Cyanogenmode 9 - Nightly 13/07/2012
    Asus Transformer TF101
    Ice Cream Sandwich 4.0.3

  14. #10
    Baby Android L'avatar di Mariux
    Registrato dal
    Oct 2010
    Sesso
    Uomo
    Dispositivo
    Samsung Galaxy SII
    Operatore
    Wind
    Città
    Milano
    Messaggi
    29
    Grazie!
    0
    Ringraziato 0 volte in 0 post
    ciao ho seguito la tua guida, ho provato a fare l'apktool del file apk già firmato ma l'unica cosa che mi genera è una cartella contenente un unico file apktool.yml. Dove ho sbagliato?

Pagina 1 di 11 12345 ... ultimoultimo

Discussioni simili

  1. Risposte: 1
    Ultimo messaggio: 06-01-2011, 18: 12
  2. App inventor e market
    Da technofab nel forum Problemi con il forum e Segnalazioni
    Risposte: 17
    Ultimo messaggio: 30-09-2010, 14: 31
  3. App Inventor e Market
    Da technofab nel forum App Inventor
    Risposte: 7
    Ultimo messaggio: 29-09-2010, 09: 32

Segnalibri

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •