MoDaCo is undergoing planned maintenance. Site functionality may be reduced - follow @modaco or @paulobrien on Twitter for updates.

  • Announcements

    • Reminder - MoDaCo position on illegal content

      ILLEGAL CONTENT I'd like to just reaffirm MoDaCo's position regarding piracy and illegal content in the light of some recent questions / postings. Posts will be censored by myself or my moderation team if the contain or link to: Illegal / pirated / cracked software or sites that host such software
      Nintendo emulators / ROMs or sites hosting them (in light of Nintendo's legal stance)


      CUSTOM ROMS

      You may discuss and post links to custom device ROMs on MoDaCo, provided the following rules are adhered to: ROMs must not be hosted directly in topic via the MoDaCo attachment system
      ROMs must not contain any illegal 3rd party software (this includes trial versions included without permission)
      ROMs must give full credit to the original author
      This decision has been taken in light of the huge amount of interest in this area of device customisation within the community, and member feedback! Please note that custom ROM discussion should be kept in specific device sub-areas, (e.g. Kaiser.MoDaCo.com for Kaiser based devices). ISSUES If you have any issues with this policy, please contact me directly via PM. P
    • Support MoDaCo by signing up to a MoDaCo Silver or Gold membership

      To sign up to an annual MoDaCo Silver subscription which will eliminate all ads from the site (as well as giving you access to the MoDaCo Online Kitchens for Android) for only £9.99 using PayPal, Credit or Debit Card, ensure you are logged in to the site, and then click the link below, which will take you directly to the subscription store! You can also sign up to an annual MoDaCo Gold subscription for £29.99, which adds the benefits listed below! PURCHASE A MODACO SUBSCRIPTION - FREE Titanium Backup Mobile for Android worth $5.99! - FREE 1 year PrivateInternetAccess.com worth $39.95! - FREE 1 year LastPass Premium worth $12! - FREE CalcConvert for Pocket PC from Binaryfish worth $17.95! - FREE Calendar Bar for Pocket PC from OmegaOne worth $9.99! - FREE CamerAware for Pocket PC and Smartphone from MoDaCo worth £19.99 / $30! - FREE Chronos for Pocket PC from ActiveKitten worth $14.95! - FREE CodeWallet Pro for Smartphone and Pocket PC from DeveloperOne worth up to $24.95! - FREE Concentrix for Pocket PC from eSoft Interactive worth $9.95! - FREE FlexMail for Pocket PC and Smartphone from WebIS worth up to $59.90! - FREE FTouchSL for Pocket PC from Vekoff s.r.o. worth 10 euro / $12.50! - FREE Jewel Challenge for Pocket PC from eSoft Interactive worth $9.95! - FREE John Cody's Alerts Pro for Smartphone from Omnisoft worth $14.95! - FREE LingvoSoft Talking Dictionary 2008 English <-> Dutch for Pocket PC from Lingvosoft worth $49.95! - FREE LingvoSoft Talking Dictionary 2008 English <-> French for Pocket PC from Lingvosoft worth $49.95! - FREE LingvoSoft Talking Dictionary 2008 English <-> German for Pocket PC from Lingvosoft worth $49.95! - FREE LingvoSoft Talking Dictionary 2008 English <-> Italian for Pocket PC from Lingvosoft worth $49.95! - FREE LingvoSoft Talking Dictionary 2008 English <-> Spanish for Pocket PC from Lingvosoft worth $49.95! - FREE LingvoSoft Dictionary English <-> Dutch for Smartphone from Lingvosoft worth $49.95! - FREE LingvoSoft Dictionary English <-> French for Smartphone from Lingvosoft worth $49.95! - FREE LingvoSoft Dictionary English <-> German for Smartphone from Lingvosoft worth $49.95! - FREE LingvoSoft Dictionary English <-> Russian for Smartphone from Lingvosoft worth $49.95! - FREE LingvoSoft Dictionary English <-> Turkish for Smartphone from Lingvosoft worth $49.95! - FREE Note2Self for Pocket PC and Smartphone from WebIS worth up to $19.90! - FREE Opera 8.60 for Pocket PC and Smartphone from Opera Software worth up to $48! - FREE Pocket Informant for Pocket PC and Smartphone from WebIS worth up to $59.90! - FREE Pocket Launcher for Pocket PC and Smartphone from Conduits worth $9.95! - FREE PTab for Pocket PC and Smartphone from z4soft worth up to $60! - FREE Resco Explorer for Pocket PC and Smartphone from Resco worth up to $49.90! - FREE Safemode for Pocket PC from monocube worth $12.95 - FREE SplashPhoto for Pocket PC and Smartphone from SplashData worth up to $59.90! - FREE Sprite Backup for Pocket PC and Smartphone from Sprite Software worth $29.95! - FREE Teksoft Glyphs UI for Pocket PC and Smartphone from Teksoft €9.95! - FREE Teksoft HeadsetRemote for Pocket PC and Smartphone from Teksoft €4.95! - FREE Traffic Jam for Pocket PC from eSoft Interactive worth $9.95! - FREE unlock (1 per year) from imei-check.co.uk - DISCOUNT of 10% at MoDaCo FairDeal - DISCOUNT of 10% at Semsons.com - FORUM - AD FREE SITE - FORUM - custom rank / title - FORUM - double competition entries - FORUM - double post attachment space - FORUM - no search flood control - FORUM - priority event registration - FORUM - triple PM space
    • Reminder: Selling items on the forum directly is not allowed

      Please note that selling items on the forum directly is not allowed by the forum rules. There is a forum for eBay auctions whereby you can list the items on eBay and link to them there. This is the ONLY forum for this type of activity. You may also advertise links to the eBay forum in your signature. Please note that selling directly in contravention of these rules will result in a warning / suspensions / ban.

Cyanogen Mod 7 For Blade

235 posts in this topic

Posted · Report post

Has ZTE officially refused to disclose that code or are we just assuming they wouldnt?

0

Share this post


Link to post
Share on other sites

Posted · Report post

I'd be curious to know more details about how you know the telephony framework has changed? (i.e. things just don't compile?)

You can de-compile the framework, I guess someone has done this and spotted changes. Someone posted that they were working on differencing the zte framework against AOSP but nothing since.

0

Share this post


Link to post
Share on other sites

Posted · Report post

If anyone can tell me how to go about diff'ing the two frameworks then I could put some time into doing it.

0

Share this post


Link to post
Share on other sites

Posted · Report post

You can de-compile the framework, I guess someone has done this and spotted changes. Someone posted that they were working on differencing the zte framework against AOSP but nothing since.

Apparently there are too many changes and so this doesn't work (just repeating what I've read). Or it's very difficult...

There was some reason anyway :/

0

Share this post


Link to post
Share on other sites

Posted (edited) · Report post

If anyone can tell me how to go about diff'ing the two frameworks then I could put some time into doing it.

You can use dex2jar to convert the .dex files inside the apk files to .class files, then use jd-gui to view the source. Jd-gui has a feature to save the source files but this crashes making it difficult to get hold of all of the source in a form suitable to differencing. NB also that due to optimisations performed when compiling the source, the sequence of statements in the decompiled version may be incorrect, however the same incorrect sequence is likely to be found in the decompiled stock version and zte version so differencing will ignore that unless there are actual differences in which case you would have to use judgement to work out the correct flow.

Another option is to use APKTool to decompile to smali (I think that's the name), it the "assembly" language used by the "java"/Dalvik virtual machine (I think), I haven't worked out how to get that output yet though.

In order to compare you obviously have to get the stock framework, I did this by getting from the appropriate AOSP branch for FRF91 (the version of android on the blade) "android2.2-rel1" or something similar ( I can't remember off hand).

We don't really need ALL changes that ZTE made, just the ones that make RIL work, these are thought to be in Phone.apk and the framework jar file.

Edited by rjm2k
0

Share this post


Link to post
Share on other sites

Posted · Report post

Another option is to use APKTool to decompile to smali (I think that's the name), it the "assembly" language used by the "java"/Dalvik virtual machine (I think), I haven't worked out how to get that output yet though.

apktool.bat d Phone.apk

After that a folder named "Phone" will be created in the current directory and you will find smali code in "smali" folder.

0

Share this post


Link to post
Share on other sites

Posted · Report post

Is it a very time consuming process? Has noone just had enough time to do it?

0

Share this post


Link to post
Share on other sites

Posted · Report post

apktool.bat d Phone.apk

After that a folder named "Phone" will be created in the current directory and you will find smali code in "smali" folder.

Thanks, I assume it works for Jar files too?

0

Share this post


Link to post
Share on other sites

Posted · Report post

We were listening. (Or at least I was). From what I gleamed from your posts : Android's Radio Interface Layer (RIL) provides an abstraction layer between Android telephony services (android.telephony) and radio hardware. You can see from the diagram that the Kernel and the RIL are quite separate.

telephony.gif

While the Kernel is open-source large parts of Android can be modified without releasing source or information. I think from reading normally the hardware customisation is done only in the vendor RIL (system/libs/libril_vendor.so) but on the Blade for some reason ZTE have modified the telephony framework (java/android/telephony). This makes telephony and RIL interfaces for the Blade different to AOSP used by CM.

If we could work out why and how they changed the telephony framework then we could modify AOSP but that is a difficult task unless ZTE developers give us the information.

Is that right?

I'd be curious to know more details about how you know the telephony framework has changed? (i.e. things just don't compile?)

actually, i would also be interested to know what exactly the problem is.

i assume that the vendor RIL library is not compiled into the kernel (for GPL reasons) but rather in a separate library and that we can use the pre-compiled library with our own modified kernels. ditto for the ril daemon.

the last link is then the application framework and how this interfaces the ril daemon. i guess it's not as simple as compiling the rest of android and substituting the telephony and gsm from the ZTE versions otherwise someone would have done this already. am i right?

then is it a case of having to write a layer to translate either the telephony part or gsm part?

0

Share this post


Link to post
Share on other sites

Posted · Report post

Yeah CM7 is based on 2.3... We won't get ports of any other roms until we get RIL working properly.

On a side note where is your username from?

Me?

Well my username is a name from an ice fairy called Cirno, why :D?

0

Share this post


Link to post
Share on other sites

Posted · Report post

The RIL problems have nothing to do with kernel source (I don't know why I bother repeating this, no one listens).
0

Share this post


Link to post
Share on other sites

Posted · Report post

I don't know much about how RIL work

Some people mentioned Phone.apk , AFAIK in flibblesan latest rom he used the AOSP dailer. I don't know if he complied himself . I think he is used RIL with aosp code.

0

Share this post


Link to post
Share on other sites

Posted · Report post

Would it be too difficult then to compile our own version of ril so that it would work with aosp? Or could we not use the ril version from the HTC legend roms as they both use the same chipset?

0

Share this post


Link to post
Share on other sites

Posted · Report post

Thanks, I assume it works for Jar files too?

That's correct :D

0

Share this post


Link to post
Share on other sites

Posted (edited) · Report post

apktool.bat d Phone.apk

I just get this error on ubuntu, probably wrong version of java, maybe I'll try windows instead - nope that gives the same error.

Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file

at java.lang.ClassLoader.defineClass1(Native Method)

at java.lang.ClassLoader.defineClass(ClassLoader.java:620)

at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)

at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)

at java.net.URLClassLoader.access$100(URLClassLoader.java:56)

at java.net.URLClassLoader$1.run(URLClassLoader.java:195)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:188)

at java.lang.ClassLoader.loadClass(ClassLoader.java:306)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)

at java.lang.ClassLoader.loadClass(ClassLoader.java:251)

at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)

Edited by rjm2k
0

Share this post


Link to post
Share on other sites

Posted (edited) · Report post

I just get this error on ubuntu, probably wrong version of java, maybe I'll try windows instead - nope that gives the same error.

Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file

at java.lang.ClassLoader.defineClass1(Native Method)

at java.lang.ClassLoader.defineClass(ClassLoader.java:620)

at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)

at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)

at java.net.URLClassLoader.access$100(URLClassLoader.java:56)

at java.net.URLClassLoader$1.run(URLClassLoader.java:195)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:188)

at java.lang.ClassLoader.loadClass(ClassLoader.java:306)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)

at java.lang.ClassLoader.loadClass(ClassLoader.java:251)

at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)

I had no problems baksmaling Phone.apk.

EDIT: Have you installed the framework files for apktool to use?

Edited by pellen
0

Share this post


Link to post
Share on other sites

Posted · Report post

I just get this error on ubuntu, probably wrong version of java, maybe I'll try windows instead - nope that gives the same error.

Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file

at java.lang.ClassLoader.defineClass1(Native Method)

at java.lang.ClassLoader.defineClass(ClassLoader.java:620)

at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)

at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)

at java.net.URLClassLoader.access$100(URLClassLoader.java:56)

at java.net.URLClassLoader$1.run(URLClassLoader.java:195)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:188)

at java.lang.ClassLoader.loadClass(ClassLoader.java:306)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)

at java.lang.ClassLoader.loadClass(ClassLoader.java:251)

at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)

I had no problems baksmaling Phone.apk.

EDIT: Have you installed the framework files for apktool to use?

How's the decompiling going? Is this anyone can do? Just after tonight I have 5 days off and nought to do

0

Share this post


Link to post
Share on other sites

Posted · Report post

How's the decompiling going? Is this anyone can do? Just after tonight I have 5 days off and nought to do

With APKtool it's easy to decompile, but then fiddling about with the decompiled files isn't my cup of tea, I suck at programming :D

0

Share this post


Link to post
Share on other sites

Posted · Report post

APKTool or just Baksmali which is what i use. It's easy on windows.

0

Share this post


Link to post
Share on other sites

Posted · Report post

With APKtool it's easy to decompile, but then fiddling about with the decompiled files isn't my cup of tea, I suck at programming :D

I am ok at it, I have time on my hands so would be glad to help and try and hopefully port an AOSP android to the blade. When the files are decompiled what needs to be done with them? What language are they in? Which files whould I be looking at?

(sorry for all the questions)

0

Share this post


Link to post
Share on other sites

Posted (edited) · Report post

... What language are they in? ...

I gather that the idea is to disassembe (baksmali) the ZTE ril layer to smali which is the assembler for Android's Java Virtual Machine "Dalvik".

So that's what that territory entails.

But I'm not sure exactly what the problem definition is.

Seems to be -

There's a complete AOSP source. But that doesn't talk to our radio hardware.

Our kernel source does talk to our radio hardware, but the radio part of the open source build doesn't talk to our kernel, and thus cannot talk to our hardware.

{Please feel free to correct or amplify this, I'm just trying to set it out plainly}

Precisely how that is best tackled, I don't think people have agreed upon.

Is it modifying the ZTE layer that talks to the kernel?

Or trying to translate the AOSP calls into things our kernel knows about?

Or looking at the working kernel source together with the AOSP kernel source to accept the calls that AOSP makes ...

Edited by oh!dougal
0

Share this post


Link to post
Share on other sites

Posted · Report post

Anyone just asked zte for the RIL library source code? lol

0

Share this post


Link to post
Share on other sites

Posted · Report post

I gather that the idea is to disassembe (baksmali) the ZTE ril layer to smali which is the assembler for Android's Java Virtual Machine "Dalvik".

So that's what that territory entails.

But I'm not sure exactly what the problem definition is.

Seems to be -

There's a complete AOSP source. But that doesn't talk to our radio hardware.

Our kernel source does talk to our radio hardware, but the radio part of the open source build doesn't talk to our kernel, and thus cannot talk to our hardware.

{Please feel free to correct or amplify this, I'm just trying to set it out plainly}

Precisely how that is best tackled, I don't think people have agreed upon.

Is it modifying the ZTE layer that talks to the kernel?

Or trying to translate the AOSP calls into things our kernel knows about?

Or looking at the working kernel source together with the AOSP kernel source to accept the calls that AOSP makes ...

the framework.jar seems to have been modified kn some way to setup ril. without that modification aosp framework.jar wont setup ril so its a matter of spoting those changes and copying thrm to an aosp build.

0

Share this post


Link to post
Share on other sites

Posted · Report post

Anyone just asked zte for the RIL library source code? lol

zte struggle to release code they are obliged to, ril belongs to qualcomm and is closed source so no way it will be released.

0

Share this post


Link to post
Share on other sites

Posted · Report post

What about the HTC Legend RIL? Would that not be compatible?

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

MoDaCo is part of the MoDaCo.network, © Paul O'Brien 2002-2015. MoDaCo uses IntelliTxt technology.