Question

NOTE: with a little modification to the project I was able to build again using this: https://github.com/imsizon/ant-android-scala . For anyone having trouble building Scala on Android it's a good start.

I was building scala in revision 12 of the Android SDK using ant (followed the instructions here: http://www.assembla.com/wiki/show/scala-ide/Developing_for_Android.) All was going well until I upgraded to the latest Android SDK (revision 14.) now I get the following output:

Buildfile: /Users/matt/Documents/workspace/ScalaEclipseAndroid/build.xml
-set-mode-check:
-set-debug-files:
-set-debug-mode:
-debug-obfuscation-check:
-setup:
     [echo] Gathering info for ScalaEclipseAndroid...
    [setup] Android SDK Tools Revision 14
    [setup] Project Target: Google APIs
    [setup] Vendor: Google Inc.
    [setup] Platform Version: 2.1
    [setup] API level: 7
    [setup] ------------------
    [setup] Resolving library dependencies:
    [setup] No library dependencies.
    [setup] ------------------
    [setup] WARNING: Attribute minSdkVersion in AndroidManifest.xml (4) is lower than the project target API level (7)
-build-setup:
     [echo] Creating output directories if needed...
-pre-build:
-code-gen:
     [echo] ----------
     [echo] Handling aidl files...
     [aidl] No aidl files to compile.
     [echo] ----------
     [echo] Handling RenderScript files...
[renderscript] No renderscript files to compile.
     [echo] ----------
     [echo] Handling Resources...
     [aapt] No changed resources. R.java and Manifest.java untouched.
-pre-compile:
-compile:
   [scalac] Compiling 0 scala and 1 java source files to /Users/matt/Documents/workspace/ScalaEclipseAndroid/bin/classes
    [javac] /Development/android-sdk-mac_x86/tools/ant/build.xml:615: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
   [scalac] Compiling 0 scala and 1 java source files to /Users/matt/Documents/workspace/ScalaEclipseAndroid/bin/classes
-post-compile:
-obfuscate:
-dex:
      [dex] Converting compiled files and external libraries into /Users/matt/Documents/workspace/ScalaEclipseAndroid/bin/classes.dex...
       [dx] UNEXPECTED TOP-LEVEL ERROR:
       [dx] java.lang.AssertionError
       [dx]     at com.android.dx.dex.code.OutputFinisher.findExpandedOpcodeForInsn(OutputFinisher.java:525)
       [dx]     at com.android.dx.dex.code.OutputFinisher.calculateReservedCount(OutputFinisher.java:466)
       [dx]     at com.android.dx.dex.code.OutputFinisher.reserveRegisters(OutputFinisher.java:402)
       [dx]     at com.android.dx.dex.code.OutputFinisher.finishProcessingAndGetList(OutputFinisher.java:358)
       [dx]     at com.android.dx.dex.code.DalvCode.finishProcessingIfNecessary(DalvCode.java:108)
       [dx]     at com.android.dx.dex.code.DalvCode.getInsns(DalvCode.java:185)
       [dx]     at com.android.dx.dex.file.CodeItem.place0(CodeItem.java:223)
       [dx]     at com.android.dx.dex.file.OffsettedItem.place(OffsettedItem.java:242)
       [dx]     at com.android.dx.dex.file.MixedItemSection.placeItems(MixedItemSection.java:312)
       [dx]     at com.android.dx.dex.file.DexFile.toDex0(DexFile.java:543)
       [dx]     at com.android.dx.dex.file.DexFile.toDex(DexFile.java:216)
       [dx]     at com.android.dx.command.dexer.Main.writeDex(Main.java:574)
       [dx]     at com.android.dx.command.dexer.Main.run(Main.java:218)
       [dx]     at com.android.dx.command.dexer.Main.main(Main.java:174)
       [dx]     at com.android.dx.command.Main.main(Main.java:95)

BUILD FAILED
/Development/android-sdk-mac_x86/tools/ant/build.xml:772: The following error occurred while executing this line:
/Development/android-sdk-mac_x86/tools/ant/build.xml:774: The following error occurred while executing this line:
/Development/android-sdk-mac_x86/tools/ant/build.xml:786: The following error occurred while executing this line:
/Development/android-sdk-mac_x86/tools/ant/build.xml:248: null returned: 3

The error itself doesn't contian much info and I'm not the best with Ant. If anyone can shed some light on the issue it would be much appreciated.

Was it helpful?

Solution 2

From Question: With a little modification to the project I was able to build again using this: https://github.com/imsizon/ant-android-scala. For anyone having trouble building Scala on Android it's a good start.

OTHER TIPS

You might be running into the 65,535 limit on the total number of methods in a dex file: Android issue 20814. In that case, shrinking and optimizing the compiled code with ProGuard may help, as suggested on the pages that you mention.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top