• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Root [Discussion - Developers _ONLY_] Building ICS from source (Isaac's github).

You didn't buy one back at Black Friday? They had them for $139.

OT: I believe this was after black friday. As many people have already mentioned, VM has a pretty good replacement policy for up to 1 yr, free overnight & return shipping, even if one didn't buy it directly from them (just have to have an activated account, since they're prepaid, they know they can lose customers easily).
 
Okay.. I've googled and googled but came up with nothing, so I guess I'll post it here. My build errors at the end and the only reason is that it seems that my Java doesn't start up. I have the JRE AND JDK installed though.

Code:
running:  java -Xmx2048m -jar out/host/linux-x86/framework/signapk.jar -w build/target/product/security/testkey.x509.pem build/target/product/security/testkey.pk8 /tmp/tmp4kimb2 out/target/product/triumph/cm_triumph-ota-eng.root.zip
Could not create the Java virtual machine.

   ERROR: signapk.jar failed: return code 1

make: *** [out/target/product/triumph/cm_triumph-ota-eng.root.zip] Error 1
 
After overcoming the launcher2 overlay error, I now get this
error. It looks like it tries to compile the java Launcher2 app, but
cannot import android.support.v13.dreams.BasicDream;

The sdk java api docs don't even list this package, which is
weird.

Is Launcher2 even needed?


--------------------------------------------------
Code:
target Dex: LatinIME
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
target Java: Launcher2 (out/target/common/obj/APPS/Launcher2_intermediates/classes)
Copying: out/target/common/obj/JAVA_LIBRARIES/services_intermediates/noproguard.classes.dex
target Package: Bluetooth (out/target/product/triumph/obj/APPS/Bluetooth_intermediates/package.apk)
packages/apps/Launcher2/src/com/android/launcher2/RocketLauncher.java:31: package android.support.v13.dreams does not exist
import android.support.v13.dreams.BasicDream;
                                 ^
packages/apps/Launcher2/src/com/android/launcher2/RocketLauncher.java:56: cannot find symbol
symbol: class BasicDream
public class RocketLauncher extends BasicDream {
                                    ^
 'out/target/common/obj/APPS/Bluetooth_intermediates/classes.dex' as 'classes.dex'...
packages/apps/Launcher2/src/com/android/launcher2/RocketLauncher.java:407: cannot find symbol
symbol  : variable super
location: class com.android.launcher2.RocketLauncher
        super.onStart();
        ^
packages/apps/Launcher2/src/com/android/launcher2/RocketLauncher.java:410: cannot find symbol
symbol  : method getWindowManager()
location: class com.android.launcher2.RocketLauncher
        getWindowManager().getDefaultDisplay().getMetrics(metrics);
        ^
packages/apps/Launcher2/src/com/android/launcher2/RocketLauncher.java:414: cannot find symbol
symbol  : constructor Board(com.android.launcher2.RocketLauncher,<nulltype>)
location: class com.android.launcher2.RocketLauncher.Board
        Board b = new Board(this, null);
                  ^
packages/apps/Launcher2/src/com/android/launcher2/RocketLauncher.java:415: cannot find symbol
symbol  : method setContentView(com.android.launcher2.RocketLauncher.Board,android.view.ViewGroup.LayoutParams)
location: class com.android.launcher2.RocketLauncher
        setContentView(b, new ViewGroup.LayoutParams(longside, longside));
        ^
packages/apps/Launcher2/src/com/android/launcher2/RocketLauncher.java:405: method does not override or implement a method from a supertype
    @Override
    ^
packages/apps/Launcher2/src/com/android/launcher2/RocketLauncher.java:423: cannot find symbol
symbol  : method finish()
location: class com.android.launcher2.RocketLauncher
            finish();
            ^
packages/apps/Launcher2/src/com/android/launcher2/RocketLauncher.java:420: method does not override or implement a method from a supertype
    @Override
    ^
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: packages/apps/Launcher2/src/com/android/launcher2/LauncherModel.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
9 errors
make: *** [out/target/common/obj/APPS/Launcher2_intermediates/classes-full-debug.jar] Error 41
make: *** Waiting for unfinished jobs....
 
After overcoming the launcher2 overlay error, I now get this
error. It looks like it tries to compile the java Launcher2 app, but
cannot import android.support.v13.dreams.BasicDream;

The sdk java api docs don't even list this package, which is
weird.

Is Launcher2 even needed?


--------------------------------------------------
Code:
target Dex: LatinIME
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
target Java: Launcher2 (out/target/common/obj/APPS/Launcher2_intermediates/classes)
Copying: out/target/common/obj/JAVA_LIBRARIES/services_intermediates/noproguard.classes.dex
target Package: Bluetooth (out/target/product/triumph/obj/APPS/Bluetooth_intermediates/package.apk)
packages/apps/Launcher2/src/com/android/launcher2/RocketLauncher.java:31: package android.support.v13.dreams does not exist
import android.support.v13.dreams.BasicDream;
                                 ^
packages/apps/Launcher2/src/com/android/launcher2/RocketLauncher.java:56: cannot find symbol
symbol: class BasicDream
public class RocketLauncher extends BasicDream {
                                    ^
 'out/target/common/obj/APPS/Bluetooth_intermediates/classes.dex' as 'classes.dex'...
packages/apps/Launcher2/src/com/android/launcher2/RocketLauncher.java:407: cannot find symbol
symbol  : variable super
location: class com.android.launcher2.RocketLauncher
        super.onStart();
        ^
packages/apps/Launcher2/src/com/android/launcher2/RocketLauncher.java:410: cannot find symbol
symbol  : method getWindowManager()
location: class com.android.launcher2.RocketLauncher
        getWindowManager().getDefaultDisplay().getMetrics(metrics);
        ^
packages/apps/Launcher2/src/com/android/launcher2/RocketLauncher.java:414: cannot find symbol
symbol  : constructor Board(com.android.launcher2.RocketLauncher,<nulltype>)
location: class com.android.launcher2.RocketLauncher.Board
        Board b = new Board(this, null);
                  ^
packages/apps/Launcher2/src/com/android/launcher2/RocketLauncher.java:415: cannot find symbol
symbol  : method setContentView(com.android.launcher2.RocketLauncher.Board,android.view.ViewGroup.LayoutParams)
location: class com.android.launcher2.RocketLauncher
        setContentView(b, new ViewGroup.LayoutParams(longside, longside));
        ^
packages/apps/Launcher2/src/com/android/launcher2/RocketLauncher.java:405: method does not override or implement a method from a supertype
    @Override
    ^
packages/apps/Launcher2/src/com/android/launcher2/RocketLauncher.java:423: cannot find symbol
symbol  : method finish()
location: class com.android.launcher2.RocketLauncher
            finish();
            ^
packages/apps/Launcher2/src/com/android/launcher2/RocketLauncher.java:420: method does not override or implement a method from a supertype
    @Override
    ^
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: packages/apps/Launcher2/src/com/android/launcher2/LauncherModel.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
9 errors
make: *** [out/target/common/obj/APPS/Launcher2_intermediates/classes-full-debug.jar] Error 41
make: *** Waiting for unfinished jobs....

Yes, Launcher2 is the homescreens, launcher, etc. It's a necessary thing.

The dream packages are the screensaver-like things introduced in ICS. I'll look and see what's causing the issue.
 
I am starting over from scratch and I will try to apply your wifi fix tonight.
I kept getting repo errors abot the framework and I would get it to fully sync but then I would re sync and the error would come back.

So hopefully with a fresh sync I can get a build that actaully boots.

Thanks for everything Isaac it means alot man.
 
@rb64: Alright, it turns out the CM Launcher2 repo hasn't received the 4.0.3 merge yet. I switched over the nebkat's Launcher2 repo for the time being.

Just repo sync (do not clean the build dir) and try building again.
 
Ok guys I synced the report and I'm building now. I'm at "Dex: framework " I hope the build finishes successfully
 
Repo sync, build and

Code:
 File "./device/motorola/triumph/releasetools/triumph_ota_from_target_files", line 739, in main
    WriteFullOTAPackage(input_zip, output_zip)
  File "./device/motorola/triumph/releasetools/triumph_ota_from_target_files", line 366, in WriteFullOTAPackage
    script.RunModelidCfg()
AttributeError: 'EdifyGenerator' object has no attribute 'RunModelidCfg'
make: *** [out/target/product/triumph/cm_triumph-ota-eng.root.zip] Error 1
 
Repo sync, build and

Code:
 File "./device/motorola/triumph/releasetools/triumph_ota_from_target_files", line 739, in main
    WriteFullOTAPackage(input_zip, output_zip)
  File "./device/motorola/triumph/releasetools/triumph_ota_from_target_files", line 366, in WriteFullOTAPackage
    script.RunModelidCfg()
AttributeError: 'EdifyGenerator' object has no attribute 'RunModelidCfg'
make: *** [out/target/product/triumph/cm_triumph-ota-eng.root.zip] Error 1


Yeah, the triumph_edify_generator.py file in the device/motorola/triumph/releasetools/ directory of the ics repo seems to be missing that function. I copied the old file from the cm7 repo that had the function and it is building now.

Edit: Finished!! Now to see if it will boot...
 
Yeah, the triumph_edify_generator.py file in the device/motorola/triumph/releasetools/ directory of the ics repo seems to be missing that function. I copied the old file from the cm7 repo that had the function and it is building now.

Edit: Finished!! Now to see if it will boot...

It needs to be removed. It serves no purpose and causes annoying, useless errors in recovery. I'll check and see why it doesn't work after this commit: https://github.com/ikarosdev/androi...mmit/bdaa8e4aa13d7dd2b93d884fdc279e2dca5dc7e6
 
It needs to be removed. It serves no purpose and causes annoying, useless errors in recovery. I'll check and see why it doesn't work after this commit: https://github.com/ikarosdev/androi...mmit/bdaa8e4aa13d7dd2b93d884fdc279e2dca5dc7e6


Here's the full error log:
Code:
  running:  mkbootimg --kernel /tmp/targetfiles-7zlqdr/RECOVERY/kernel --cmdline console=ttyMSM1 androidboot.hardware=triumph --base 0x00200000 --pagesize 4096 --ramdisk /tmp/tmpVDrjnq --output /tmp/tmp9Vaukj
Traceback (most recent call last):
  File "./device/motorola/triumph/releasetools/triumph_ota_from_target_files", line 764, in <module>
    main(sys.argv[1:])
  File "./device/motorola/triumph/releasetools/triumph_ota_from_target_files", line 739, in main
    WriteFullOTAPackage(input_zip, output_zip)
  File "./device/motorola/triumph/releasetools/triumph_ota_from_target_files", line 366, in WriteFullOTAPackage
    script.RunModelidCfg()
AttributeError: 'EdifyGenerator' object has no attribute 'RunModelidCfg'
 
Here's the full error log:
Code:
  running:  mkbootimg --kernel /tmp/targetfiles-7zlqdr/RECOVERY/kernel --cmdline console=ttyMSM1 androidboot.hardware=triumph --base 0x00200000 --pagesize 4096 --ramdisk /tmp/tmpVDrjnq --output /tmp/tmp9Vaukj
Traceback (most recent call last):
  File "./device/motorola/triumph/releasetools/triumph_ota_from_target_files", line 764, in <module>
    main(sys.argv[1:])
  File "./device/motorola/triumph/releasetools/triumph_ota_from_target_files", line 739, in main
    WriteFullOTAPackage(input_zip, output_zip)
  File "./device/motorola/triumph/releasetools/triumph_ota_from_target_files", line 366, in WriteFullOTAPackage
    script.RunModelidCfg()
AttributeError: 'EdifyGenerator' object has no attribute 'RunModelidCfg'

Alright, this should fix it: https://github.com/ikarosdev/androi...mmit/318bb4c618a4d1d50e41c8688a9a77a57ebd6ff0
 
There was a updater-script and binary mismatch between when it was trying to format during the install--the usual "expected 3 arguments and got 4 instead" message.

I had to copy the updater-binary from cm7 into the cm9 package. I wonder if that edify generator update you just did would fix that.
 
Does the recovery usb mount work for y'all?
I have to boot into a rom to get my usb mount to come up. On both ubuntu and windows7
 
There was a updater-script and binary mismatch between when it was trying to format during the install--the usual "expected 3 arguments and got 4 instead" message.

I had to copy the updater-binary from cm7 into the cm9 package. I wonder if that edify generator update you just did would fix that.

Yeah, I did a re-write on the releasetools for ICS. The ones for CM7 won't work. https://github.com/ikarosdev/android_device_motorola_triumph/commits/ics/releasetools

They should work now.

EDIT: To answer your question, I fixed that awhile back: https://github.com/ikarosdev/androi...mmit/ba37090b0f90083fa849c8fb3e62ee689545187a
 
It BOOTS!!

Get force closes on just about everything but it booted!

sweet i hope mine builds successfully! im still at target "DEX: framework"

ugg... this might be awhile. :(

oh and a question to anyone who can answer: if a build fails, and you go fix the reason it failed. can you resume the build, or do you have to start over from scratch? thanks in advanced guys
 
sweet i hope mine builds successfully! im still at target "DEX: framework"

ugg... this might be awhile. :(

oh and a question to anyone who can answer: if a build fails, and you go fix the reason it failed. can you resume the build, or do you have to start over from scratch? thanks in advanced guys

Yes, for most cases. I usually don't need to clean the build dir unless I make a change to BoardConfig.mk. When I'm working on stuff, I usually build once and then go make fixes and keep rebuilding.
 
Yes, for most cases. I usually don't need to clean the build dir unless I make a change to BoardConfig.mk. When I'm working on stuff, I usually build once and then go make fixes and keep rebuilding.

oh ok thanks for the answer :D i started building like and hour and a half ago, and i see you put up new fixes since then. so if my build fails, i just re-sync (to grab your fixes) and then rebuild? it sounds easy enough.

also, what does that app that you told mantera to remove do? is it important?
 
oh ok thanks for the answer :D i started building like and hour and a half ago, and i see you put up new fixes since then. so if my build fails, i just re-sync (to grab your fixes) and then rebuild? it sounds easy enough.

also, what does that app that you told mantera to remove do? is it important?

Yeah, that's what you do.

The Pinyinime app is a chinese keyboard. Google Pinyin - Wikipedia, the free encyclopedia

When I first started working on ICS, I couldn't figure out why I kept getting FCs. After I removed that app, which has no use for us, the FCs stopped. You can remove it from the build makefile to stop it from being built. I actually removed it and pushed the change to my forked repo, but didn't add it to my manifest because I'm already maintaining so many repos.
 
Yeah, that's what you do.

The Pinyinime app is a chinese keyboard. Google Pinyin - Wikipedia, the free encyclopedia

When I first started working on ICS, I couldn't figure out why I kept getting FCs. After I removed that app, which has no use for us, the FCs stopped. You can remove it from the build makefile to stop it from being built. I actually removed it and pushed the change to my forked repo, but didn't add it to my manifest because I'm already maintaining so many repos.

oh i see now, i guess i could have just google for that lol. :D thanks though!
 
my build seems to be stuck at "target DEX: framework" although my computer is gruntin' and grindin' away... i will leave it go till tomorrow and see if it works
 
Back
Top Bottom