![]() |
|
ROMs y desarrollo Xperia Z1 ROMs y desarrollo Xperia Z1 |
«
Tema Anterior
|
Siguiente tema
»
|
Herramientas |
#1
|
Portar aplicaciones
hola compañeros,voy a explicar los pasos más sencillos de como portar una aplicación
Portar una aplicación es poder hacer uso de aplicaciones exclusivas para un modelo de teléfono en otro. ------------------------------------------------------------------------------------------- Necesitamos tener una rom completa y deodexada..al igual que la rom receptora del port debe estar también deodexada. 1-La aplicación a portar (apk) Lo primero es tener a mano la aplicación extraída de la rom Usaremos apk Manager para decompilarla.lo recomendable es volverla a compilar y firmarla,para poder instalarla con el instalador del movil en data-app si es una aplicación de systema la colocamos hay. "system-app" 2-Librerias. Una vez decompilada en "AndroidManifest.xml" Tenemos toda la información necesaria de los permisos necesarios y las librerías.. Ejemplo:.......................................... .................................................. .............. </activity> <uses-library android:name="com.sonyericsson.cameraextension.api " /> <uses-library android:name="com.sonyericsson.privateapis_1p" /> <uses-library android:name="com.sonymobile.camera.addon.api" /> <uses-library android:name="com.sonyericsson.navigationbar" android:required="false" /> <uses-library android:name="com.sonymobile.imageprocessor.superr esolution.api" android:required="false" /> </application> </manifest> .................................................. .................................................. ........... Nos esta indicando las librerías necesarias para que funcione. Las buscaremos en " system-lib"en la rom y las meteremos en el misma ruta(system-lib) en la nuestra vía zip flaseable o con un explorador root. 3- Permisos muy importantes,sin ellos no funcionara. usamos el mismo método en "AndroidManifest.xml" podemos ver los permisos que necesita..aunque suele bastar con un permiso con el nombre de la apk(haciendo referencia a ella) ejemplo........................................... .................................................. .................... com.sonymobile.album.xml Este es el permiso del álbum,con extensión "xml" .................................................. .................................................. ........................... Los buscamos en "system-etc-permissions" y los introducimos en la nuestra rom de la misma forma anterior (yo suelo portar la carpeta permissions entera cuando voy a portar varias apks..pesa muy poco (60-70k) 4-framework Mira en "system-framework" si hay alguna aplicación con extension "jar."con el mismo nombre que el permiso..o alguna que puede estar relacionada directamente con la aplicación a portar ejemplo........................................... .................................... com.sonymobile.album.jar .................................................. ......................................... de la misma manera la introducimos en nuestra rom. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ La mejor manera de introducir en nuestra rom el port es por medio de un flaseable a través del recovery. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Aquí os dejo un zip con el system del Xperia_Z3 Android4.4.4 (Xperia Z3 23.0.A.2.93 system) deodexada Descarga: https://mega.co.nz/#!Gc1X3TwK!BnlT6X...mIrTOPOqR9Pb3o ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Ademas de aplicaciones,tambien se pueden portar características de otras roms pero hará falta decompilarla y editar el código (smali)..etc...pero eso ya es complicado,se lo dejamos a los expertos. Última edición por ikaos Día 18/11/14 a las 17:32:07 |
Los siguientes 13 usuarios han agradecido a Jechus su comentario: | ||
|
#4
|
excelente tuto jechus
![]() |
#5
|
||||
|
||||
Gracias por el aporte. Saludos
|
#6
|
||||
|
||||
Bueno ahora que ya sabemos algo mas de esto gracias a ti, me he puesto manos a la obra para aprender un poquito mas. Ahora me gustaria me ayudaras a saber que puede estar fallando con uno de mis intentos de portar la aplicacion de desenfoque (backgrounddfocus.apk). He hecho lo siguiente:
1 Decompilar la aplicacion con advance apktool. 2. Miro Android manifiest.xml y veo dentro esto <?xml version="1.0" encoding="utf-8" standalone="no"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.sonymobile.backgrounddefocus"> <uses-permission android:name="android.permission.CAMERA"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_ST ORAGE"/> <uses-permission android:name="com.sonymobile.permission.CAMERA_ADD ON"/> <uses-permission android:name="com.sonymobile.permission.SYSTEM_UI_ VISIBILITY_EXTENSIONS"/> <application android:debuggable="false" android:icon="@drawable/cam_app_shortcut_bokeh_icn" android:label="@string/mode_selector_selector_label" android:supportsRtl="true" android:theme="@android:style/Theme.DeviceDefault.NoActionBar.Fullscreen"> <activity android:configChanges="orientation|screenSize" android:label="@string/mode_selector_selector_label" android:launchMode="singleTask" android:name="com.sonymobile.backgrounddefocus.Vie wFinderActivity" android:screenOrientation="landscape" android:windowSoftInputMode="stateAlwaysHidden"> <intent-filter> <action android:name="android.intent.action.MAIN"/> </intent-filter> <intent-filter> <action android:name="com.sonymobile.camera.addon.action.R EGISTER_MODE"/> </intent-filter> <meta-data android:name="com.sonymobile.camera.addon.MODE_ATT RIBUTES" android:resource="@xml/sample_mode_attributes"/> </activity> <activity android:configChanges="keyboardHidden|orientation| screenSize" android:name="com.sonymobile.backgrounddefocus.Aut oReviewActivity" android:screenOrientation="landscape" android:windowSoftInputMode="stateAlwaysHidden"/> <uses-library android:name="com.sonymobile.camera.addon.api" android:required="true"/> </application> </manifest> 3.Creo una carpeta system y creo tres subcarpetas. etc/permissions , framework, priv-app dentro de etc/permissions he metido com.sonymobile.camera.addon.xml. dentro de framework he puesto el archivo com.sonymobile.camera.addon_impl.jar estos arhivos los he sacado del ultimo firmware del z3 y luego dentro de priv-app he metido la aplicacion bgdefocus.apk ya de nuevo compilada y firmada. 4 He creado el zip y he modificado un updater script para flashear estos archivos y el zip funciona perfectamente pero al reiniciar la camara me da fc y cierra. A ver si me puedes decir que puede estar fallando. Saludos y gracias de antemano. |
Los siguientes 2 usuarios han agradecido a juanpirulo su comentario: | ||
#7
|
||||
|
||||
Creo recordar juan o lei por ahi que no se podía meter como app de sistema. Y en verdad ni se el por que. Ojala lo consigas.
|
#8
|
||||
|
||||
En el firmware del z3 viene en esa carpeta pero probaré con data/App. Gracias por la sugerencia
|
Gracias de parte de: | ||
#9
|
||||
|
||||
Al final lo he conseguido pero solo he necesitado meter la aplicación pero sin los archivos de permisos y librerías. La he metido en system/priv-app con permisos 0644 y he borrado la aplicación bgdefocusport.apk de data/App. Saludos
https://mega.co.nz/#!i0IUVYgS!LdnGRS...7jDsBAim8xjpYc ![]() Última edición por juanpirulo Día 12/10/14 a las 14:56:00 |
#10
|
JHola compañero, centrate sólo en la apk.esta necesita el lib( libmorpho_defocus_jni.so)
Puedes hacer una carpeta lib/ armeabi-v7a/y dentro de esta última el lib..luego la firmas y prueba |
Los siguientes 2 usuarios han agradecido a Jechus su comentario: | ||
#12
|
Ok.Juan, ya veo que lo has conseguido, estas hecho un campeón.
Cuando instalamos una aplicación nos crea(no siempre) una carpeta en sistem/data/app-lib....ejemplo. com.sonymobile.backgrounddefocus-1..y dentro los libs. Si queremos mover la aplicación a sistem/app o priv-app...además de mover la apk, también movernos la carpeta renombrada « com.sonymobile.backgrounddefocus»(quitando el -1 al final)y la metemos en sistem/lib... Un saludo compañero. |
Los siguientes 2 usuarios han agradecido a Jechus su comentario: | ||
#13
|
||||
|
||||
Ahhhhhhhh he reiniciado y ahora da fc el défocus que helecho mal?
|
#14
|
Al instalarla en data/app a creado las librerías que al pasarla a sistem han desaparecido al reiniciar...tienes que ponerlas en sistem/lib
|
#15
|
Aquí tienes un ejemplo
AR_effect_for_line ![]() Descarga https://mega.co.nz/#!fRMRAYoa!6tnUCn...BlOtT1MZUe1FUQ |
Gracias de parte de: | ||
#16
|
Aquí te dejo también el bgdefocus..vamos Juan que estas haciendo una rom cojonuda y todos te estamos muy agradecidos
Bgdfocus https://mega.co.nz/#!7NtxmTbQ!4wpC7R...8hS4K2wZNZhqFA |
Gracias de parte de: | ||
#17
|
Os dejo...que me miran de reojo
|
#18
|
||||
|
||||
He conseguido que funcione pero hay algo que no entiendo. La primera aplicación défocus que tenia que era de un port hecho en xda no funcionaba pero si me crea la carpeta con la librería y el archivo correspondiente la segunda défocus que he portado yo la instalo ne crea la lcarpeta de la librería pero dentro no está el archivo. Al final funciona con el port mio pero con la librería creada por el otro?????
|
#19
|
|
Cita:
En el zip que e puesto de bgdefocus la apk es la original(sistem/ptiv-app), con las librerías en sistem/lib. Última edición por Jechus Día 12/10/14 a las 17:08:11 |
Gracias de parte de: | ||
|
#20
|
||||
|
||||
De la segunda manera ya he conseguido que funcione, tal y como tienes tu el zip que has mandado. Pero la otra no, he decompilado la apk, en la carpeta out de la apk decompilada he creado las carpetas que me has dicho lib/armeavi-v7a y ahí he metido la librería y he vuelto a compilar (es asi no?) pero no me creaba las librerías al instalar la aplicación. Volvere a probar en otro momento, ahora me vale al menos con el zip. Saludos y gracias de nuevo.
![]() ![]() PD hay algo para resetear el disco duro de mi cabeza, creo que ya lo tengo casi lleno. Me hace falta también un organizador de librerías ya que tengo un desorden de aupa. |
Respuesta |
![]() |
||||||
|
«
Tema Anterior
|
Siguiente tema
»
|
|
Hora actual: 16:13:14 (GMT +2)
HTCMania: líderes desde el 2007