Panorama - Alpe Devero
Panorama - Crampiolo
[Free-SkyGO] protezione dei contenuti
Stavo pensando….
Io prima, col tablet rootato, riuscivo tranquillamente a usare skygo. Bastava disabilitare temporaneamente il root con SuperSU e via….
Ora questo secondo metodo pare non funzionare….vuoi vedere che oltre a quello controlla anche che rom si sta usando?
Indagare….indagare
[Free-SkyGO] Un piccolo passo per l’uomo….
Data l’impossibilità di usare la versione 2.0 dell’applicazione, ho deciso di scaricarmi la versione per smartphone da un galaxy S2.
Effettivamente la versione in oggetto è diversa da quella usata fino ad ora. Trattasi di una it.sky.go.apk versione 1.4.2, mentre fino ad ora avevo usato un it.sky.anywhere 2.0 (versione specifica per tablet)
La versione 1.4.2 è adatta a tutti i device e a tutte le risoluzioni, quindi vuoi vedere che sul motorola Defy con CM 10.0 funziona?
E infatti funziona. Si avvia e riesco a vedere senza problemi SkyTG 24. Il resto non va a causa di problemi di superSu (non riesco a disabilitarlo…). Ma non mi interessa…pretendere di vedere skygo su un telefono così lento e piccolo è davvero ridicolo.
Allora ho provato a installare la stessa versione sul tablet. Tutto fila liscio. La UI fa pena (è una UI per smartphone, non per un 10 pollici) e lo streaming va che è un piacere.
Unico neo: nonostante disabiliti superSU, l’applicazione si lamenta che il mio device è compromesso, e non mi fa vedere alcun canale….ma ho già in mente un paio di cosette da fare….
[Free-SkyGO] Il fallimento del piano C
Non potrà mai funzionare….non ha le risorse per il motorola Defy. I layout sono tutti per schermi xlarge, compresa l’icona del launcher.
Per quello non va :(
Dovrò cercare di capire come mai non parte sul Tablet con Android 4.2.1, è l’unica strada percorribile
[Free-SkyGO] Piano C
Il piano C era testare il metodo di installazione su un device con Android 4.1.x. La scelta è caduta sull’altro muletto con su la CM 10, un motorola Defy.
La cosa strana è che l’applicazione si installa (quindi il metodo con la libreria com.samsung.device funziona) ma l’applicativo non parte. Anche in questo caso pare che le risorse si siano sputtanate. Ma si tratta dello stesso APK!!!! Come diavolo è possibile?
java.lang.RuntimeException: Unable to start activity ComponentInfo{it.sky.anywhere/it.sky.anywhere.SkyAnywhere}: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2187) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2212) at android.app.ActivityThread.access$600(ActivityThread.java:144) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1210) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4966) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:558) at dalvik.system.NativeStart.main(Native Method) Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f030026 at android.content.res.Resources.getValue(Resources.java:1013) at android.content.res.Resources.loadXmlResourceParser(Resources.java:2127) at android.content.res.Resources.getLayout(Resources.java:852) at android.view.LayoutInflater.inflate(LayoutInflater.java:394) at android.view.LayoutInflater.inflate(LayoutInflater.java:352) at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:275) at android.app.Activity.setContentView(Activity.java:1867) at it.sky.anywhere.SkyAnywhere.onCreate(Unknown Source) at android.app.Activity.performCreate(Activity.java:5008) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2141) … 11 more
[Free-SkyGO] Un passo alla volta…
Allora, ho rimesso la libreria com.samsung.device sul tablet, in /system/frameworks. Ho anche messo il relativo file .xml in /etc/permissions.
Poi ho installato it.sky.anywhere.apk, versione 2.0.
L’apk si installa benissimo. Il tablet si avvia normalmente. L’apk parte perfettamente….MA….
E/AndroidRuntime( 2881): FATAL EXCEPTION: main E/AndroidRuntime( 2881): java.lang.IllegalArgumentException: Cannot draw recycled bitmaps E/AndroidRuntime( 2881): at android.view.GLES20Canvas.drawBitmap(GLES20Canvas.java:789) E/AndroidRuntime( 2881): at android.view.GLES20RecordingCanvas.drawBitmap(GLES20RecordingCanvas.java:118) E/AndroidRuntime( 2881): at android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:393) E/AndroidRuntime( 2881): at android.view.View.draw(View.java:13692) E/AndroidRuntime( 2881): at android.view.View.getDisplayList(View.java:12645) E/AndroidRuntime( 2881): at android.view.View.getDisplayList(View.java:12689) E/AndroidRuntime( 2881): at android.view.View.draw(View.java:13423) E/AndroidRuntime( 2881): at android.view.ViewGroup.drawChild(ViewGroup.java:2928) E/AndroidRuntime( 2881): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2797) E/AndroidRuntime( 2881): at android.view.View.getDisplayList(View.java:12643) E/AndroidRuntime( 2881): at android.view.View.getDisplayList(View.java:12689) E/AndroidRuntime( 2881): at android.view.View.draw(View.java:13423) E/AndroidRuntime( 2881): at android.view.ViewGroup.drawChild(ViewGroup.java:2928) E/AndroidRuntime( 2881): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2797) E/AndroidRuntime( 2881): at android.view.View.getDisplayList(View.java:12643) E/AndroidRuntime( 2881): at android.view.View.getDisplayList(View.java:12689) E/AndroidRuntime( 2881): at android.view.View.draw(View.java:13423) E/AndroidRuntime( 2881): at android.view.ViewGroup.drawChild(ViewGroup.java:2928) E/AndroidRuntime( 2881): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2797) E/AndroidRuntime( 2881): at android.view.View.getDisplayList(View.java:12643) E/AndroidRuntime( 2881): at android.view.View.getDisplayList(View.java:12689) E/AndroidRuntime( 2881): at android.view.View.draw(View.java:13423) E/AndroidRuntime( 2881): at android.view.ViewGroup.drawChild(ViewGroup.java:2928) E/AndroidRuntime( 2881): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2797) E/AndroidRuntime( 2881): at android.view.View.getDisplayList(View.java:12643) E/AndroidRuntime( 2881): at android.view.View.getDisplayList(View.java:12689) E/AndroidRuntime( 2881): at android.view.View.draw(View.java:13423) E/AndroidRuntime( 2881): at android.view.ViewGroup.drawChild(ViewGroup.java:2928) E/AndroidRuntime( 2881): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2797) E/AndroidRuntime( 2881): at android.view.View.getDisplayList(View.java:12643) E/AndroidRuntime( 2881): at android.view.View.getDisplayList(View.java:12689) E/AndroidRuntime( 2881): at android.view.View.draw(View.java:13423) E/AndroidRuntime( 2881): at android.view.ViewGroup.drawChild(ViewGroup.java:2928) E/AndroidRuntime( 2881): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2797) E/AndroidRuntime( 2881): at android.view.View.draw(View.java:13710) E/AndroidRuntime( 2881): at android.widget.FrameLayout.draw(FrameLayout.java:467) E/AndroidRuntime( 2881): at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2211) E/AndroidRuntime( 2881): at android.view.View.getDisplayList(View.java:12645) E/AndroidRuntime( 2881): at android.view.View.getDisplayList(View.java:12689) E/AndroidRuntime( 2881): at android.view.HardwareRenderer$GlRenderer.draw(HardwareRenderer.java:1198) E/AndroidRuntime( 2881): at android.view.ViewRootImpl.draw(ViewRootImpl.java:2173) E/AndroidRuntime( 2881): at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2045) E/AndroidRuntime( 2881): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1854) E/AndroidRuntime( 2881): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:989) E/AndroidRuntime( 2881): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4351) E/AndroidRuntime( 2881): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749) E/AndroidRuntime( 2881): at android.view.Choreographer.doCallbacks(Choreographer.java:562) E/AndroidRuntime( 2881): at android.view.Choreographer.doFrame(Choreographer.java:532) E/AndroidRuntime( 2881): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735) E/AndroidRuntime( 2881): at android.os.Handler.handleCallback(Handler.java:725) E/AndroidRuntime( 2881): at android.os.Handler.dispatchMessage(Handler.java:92) E/AndroidRuntime( 2881): at android.os.Looper.loop(Looper.java:137) E/AndroidRuntime( 2881): at android.app.ActivityThread.main(ActivityThread.java:5191) E/AndroidRuntime( 2881): at java.lang.reflect.Method.invokeNative(Native Method) E/AndroidRuntime( 2881): at java.lang.reflect.Method.invoke(Method.java:511) E/AndroidRuntime( 2881): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795) E/AndroidRuntime( 2881): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562) E/AndroidRuntime( 2881): at dalvik.system.NativeStart.main(Native Method)
Uffa….pare sia un problema noto con JB
Lo stato dell’arte [free-SkyGO]
Allora, ho provato a decompilare l’apk e togliere dal manifest il riferimento alla libreria com.samsung.device (requisito per l’installazione). Poi ho rifirmato l’apk e lo ho installato. L’installazione va a buon fine…..ma c’é qualcosa che non va….le risorse sono tutte sputtanate….anche l’icona di avvio é corrotta….e ovviamente l’applicazione, conciata così, non parte ……
Tool usato per giocare con apk: apktool
Il piano B consisteva nel prendere un com.samsung.device.jar da un samsung galaxy e metterlo in /system/framework, col relativo file xml da mettere tra i permission…..
Il risultato é che il tablet non si avviava più….rimaneva in loop durante il boot, e indagando col cavo usb, si vedevano una serie di bestemmie in logcat. Visto che era tardi e avevo sonno ho evitato di indagare….
Oggi ho decompilato quel file jar per scoprire che alla fine é abbastanza inutile (vedere poat precedenti), quindi mi sa che per ora proverò questa strada.
Stay tuned
Dimenticavo l’ambiente di lavoro
Tablet Samsung Galaxy GT-P7500
Rom CyanogenMod 10.1 compilata a manina
SkyGo 2.0
SuperSU per disabilitare temporaneamente i permessi di root
public static boolean isSamsungDevice() {
return true;
}

