6

I bought a lot (500+) cheap China tablet with AllWinner processor and Android 4.0.3. All tablets expose the same serial number. I can't deploy my application simultaneously on several devices (with a USB hub) using ADB.EXE because it can't distinguish them.

I'm thinking about a pre-deploy process that change the internal serial number, is it possible? Where is the serial number stored?

Note: tablets are rooted

0

3 Answers 3

14

You need to populate /sys/class/android_usb/android0/iSerial sysfs file with unique values for every device. Most vendors do it with custom init script, which would read the value from a persistent system property or a regular file and put it in sysfs on every power up.

Sign up to request clarification or add additional context in comments.

11 Comments

I can successfully edit the file and set another serial number, but if I reboot the tablet, the original serial number is restored.
yes. that's how sysfs works usually. that's why the custom init script is needed. I mean it could be done differently but with the init script is the easiest way.
obviously you won't be able to do anything with multiple devices using standard android tools until you fix this issue. depending on your goal - you might prefer to modify the tools (namely adb and fastboot binaries) to use let's say USB DEVPATH instead of USB iSerial as a unique id
It's actually quite easy to fix: stackoverflow.com/a/22824288/21009. With this fix you can run 10 devices at once from eclipse.
|
1

Try editing /data/misc/wifi/serialno then reboot, it worked as a permanent solution for me

The location of this number may differ between android versions

The serial number should be stored in a file with only the serial number inside and no \n

Comments

0

build number etc by editing the 'build.prop' file in /system. The serial number can be changed by adding the property 'ro.serialno=' to build.prop file

1 Comment

I changed this by remounting the system partition into read/write but after rebooting it got stuck loading the logo. After another reboot it was back to original value. Using an emulator

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.