scala-android / sbt-android-protify

Live-coding and hot-deploy for Android
Apache License 2.0
136 stars 8 forks source link

Multidex support in Protify? #3

Closed aafa closed 9 years ago

aafa commented 9 years ago

It looks like protify doesnt like multidex.

Got this

UNEXPECTED TOP-LEVEL ERROR:
java.io.FileNotFoundException: / (Is a directory)
        at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.<init>(FileInputStream.java:146)
        at java.io.FileInputStream.<init>(FileInputStream.java:101)
        at java.io.FileReader.<init>(FileReader.java:58)
        at com.android.dx.command.dexer.Main.readPathsFromFile(Main.java:388)
        at com.android.dx.command.dexer.Main.runMultiDex(Main.java:331)
        at com.android.dx.command.dexer.Main.run(Main.java:244)
        at com.android.dx.command.dexer.Main.main(Main.java:215)
        at com.android.dx.command.Main.main(Main.java:106)
[trace] Stack trace suppressed: run last app/protify:dex for the full output.
[error] (app/protify:dex) com.android.ide.common.process.ProcessException: error code: 3

Protify ver 0.6

It works with disabled multidex thou.

pfn commented 9 years ago

I haven't built nor tested for any multidex support at the moment.

Sent from my phone On Sep 6, 2015 9:44 AM, "Alex Afanasev" notifications@github.com wrote:

It looks like protify doesnt like multidex.

Got this

UNEXPECTED TOP-LEVEL ERROR: java.io.FileNotFoundException: / (Is a directory) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.(FileInputStream.java:146) at java.io.FileInputStream.(FileInputStream.java:101) at java.io.FileReader.(FileReader.java:58) at com.android.dx.command.dexer.Main.readPathsFromFile(Main.java:388) at com.android.dx.command.dexer.Main.runMultiDex(Main.java:331) at com.android.dx.command.dexer.Main.run(Main.java:244) at com.android.dx.command.dexer.Main.main(Main.java:215) at com.android.dx.command.Main.main(Main.java:106) [trace] Stack trace suppressed: run last app/protify:dex for the full output. error com.android.ide.common.process.ProcessException: error code: 3

Protify ver 0.6

It works with disabled multidex thou.

— Reply to this email directly or view it on GitHub https://github.com/pfn/protify/issues/3.

pfn commented 9 years ago

last app/protify:dex would be useful to see if it can be fixed

Sent from my phone On Sep 6, 2015 9:47 AM, "Perry Nguyen" pfnguyen@hanhuy.com wrote:

I haven't built nor tested for any multidex support at the moment.

Sent from my phone On Sep 6, 2015 9:44 AM, "Alex Afanasev" notifications@github.com wrote:

It looks like protify doesnt like multidex.

Got this

UNEXPECTED TOP-LEVEL ERROR: java.io.FileNotFoundException: / (Is a directory) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.(FileInputStream.java:146) at java.io.FileInputStream.(FileInputStream.java:101) at java.io.FileReader.(FileReader.java:58) at com.android.dx.command.dexer.Main.readPathsFromFile(Main.java:388) at com.android.dx.command.dexer.Main.runMultiDex(Main.java:331) at com.android.dx.command.dexer.Main.run(Main.java:244) at com.android.dx.command.dexer.Main.main(Main.java:215) at com.android.dx.command.Main.main(Main.java:106) [trace] Stack trace suppressed: run last app/protify:dex for the full output. error com.android.ide.common.process.ProcessException: error code: 3

Protify ver 0.6

It works with disabled multidex thou.

— Reply to this email directly or view it on GitHub https://github.com/pfn/protify/issues/3.

aafa commented 9 years ago

Oh, I see.

Here is the logs

> last app/protify:dex 
[debug] Invalidated cache because: List()
[info] Generating dex, incremental=false, multidex=true
[debug] Dex inputs: List(/Users/aafa/Projects/github/sbt-multiproject/apps/app/target/android-bin/classes.proguard.jar)
[debug] DEX IN: List(/Users/aafa/Projects/github/sbt-multiproject/apps/app/target/android-bin/classes.proguard.jar)
[debug] PRE-DEXED: List()
com.android.ide.common.process.ProcessException: error code: 3
        at android.Plugin$$anonfun$allPluginSettings$105$$anon$3$$anon$4.assertNormalExitValue(rules.scala:597)
        at android.Plugin$$anonfun$allPluginSettings$105$$anon$3$$anon$4.assertNormalExitValue(rules.scala:595)
        at com.android.builder.core.AndroidBuilder.convertByteCode(AndroidBuilder.java:1276)
        at android.Dex$$anonfun$dex$1.apply(proguard.scala:266)
        at android.Dex$$anonfun$dex$1.apply(proguard.scala:237)
        at sbt.FileFunction$$anonfun$cached$1.apply(Tracked.scala:235)
        at sbt.FileFunction$$anonfun$cached$1.apply(Tracked.scala:235)
        at sbt.FileFunction$$anonfun$cached$2$$anonfun$apply$3$$anonfun$apply$4.apply(Tracked.scala:249)
        at sbt.FileFunction$$anonfun$cached$2$$anonfun$apply$3$$anonfun$apply$4.apply(Tracked.scala:245)
        at sbt.Difference.apply(Tracked.scala:224)
        at sbt.Difference.apply(Tracked.scala:206)
        at sbt.FileFunction$$anonfun$cached$2$$anonfun$apply$3.apply(Tracked.scala:245)
        at sbt.FileFunction$$anonfun$cached$2$$anonfun$apply$3.apply(Tracked.scala:244)
        at sbt.Difference.apply(Tracked.scala:224)
        at sbt.Difference.apply(Tracked.scala:200)
        at sbt.FileFunction$$anonfun$cached$2.apply(Tracked.scala:244)
        at sbt.FileFunction$$anonfun$cached$2.apply(Tracked.scala:242)
        at android.Dex$.dex(proguard.scala:271)
        at android.protify.Keys$$anonfun$38.apply(plugin.scala:493)
        at android.protify.Keys$$anonfun$38.apply(plugin.scala:482)
        at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
        at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
        at sbt.std.Transform$$anon$4.work(System.scala:63)
        at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
        at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
        at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
        at sbt.Execute.work(Execute.scala:235)
        at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
        at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
        at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
        at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
[error] (app/protify:dex) com.android.ide.common.process.ProcessException: error code: 3
> 
pfn commented 9 years ago

Fixed the error, however multi-dex remains unsupported. Protify will now warn and fallback to normal dex.