This can be verified by following these steps: sbt clean android:run # will fail sbt android:run # will succeed if it re-dexes (might require a slight code change, add a blank line) sbt clean android:run # will fail again # use a new scala interface, force full proguard again sbt android:run # will fail, because it is a full proguard
On Wed, Jan 8, 2014 at 10:20 AM, Perry Nguyen <[email protected]> wrote: > No, the problem you're encountering is not what's the difference between > release and debug proguard, the problem here is a full proguard run vs. a > cache-hit. > > Your first debug package build will always fail, because proguard > processes all of your code and removes your native callbacks(?) > > Subsequent debug runs /work/ because your code does not get adulterated by > proguard, it effectively links your code against pre-processed libraries. > > Release builds always fail because they are always a full proguard run. > > The solution, is to properly set up proguard, it looks like you need to > add -keepclassmembers class * { native **; } as I mentioned just before. > > > On Wed, Jan 8, 2014 at 10:16 AM, Daniel Skinner <[email protected]> wrote: > >> yeah so im inexperienced with proguard but that was my first notion and >> source of my original question, being, what's the diff on debug and release >> proguard? Answer being nothing. I'm unsure of how/where to dive into >> proguard issues from there. >> >> >> On Wed, Jan 8, 2014 at 12:13 PM, Perry Nguyen <[email protected]> wrote: >> >>> Come to think of it, that's a likely scenario; native interfaces >>> probably got removed. proguard-cache hits bypass proguarding your code; so >>> all your code is dex'd unadulterated (only scala libraries get >>> proguarded/reduced). >>> >>> >>> On Wed, Jan 8, 2014 at 10:12 AM, Perry Nguyen <[email protected]>wrote: >>> >>>> Alternatively, it's possible because your jni interfaces (java-side) >>>> are getting proguarded/obfuscated, if you have those rules. >>>> >>>> >>>> On Wed, Jan 8, 2014 at 10:11 AM, Perry Nguyen <[email protected]>wrote: >>>> >>>>> It's a red-herring >>>>> >>>>> >>>>> On Wed, Jan 8, 2014 at 10:10 AM, Daniel Skinner <[email protected]>wrote: >>>>> >>>>>> as noted previously, only works in debug when i get debug message on >>>>>> classes.dex regen. I dont think its related to this but that's the only >>>>>> visual difference that identifies when it works >>>>>> >>>>>> >>>>>> On Wed, Jan 8, 2014 at 12:09 PM, Perry Nguyen <[email protected]>wrote: >>>>>> >>>>>>> And this time it worked, seems quite random >>>>>>> >>>>>>> >>>>>>> On Wed, Jan 8, 2014 at 10:08 AM, Perry Nguyen <[email protected]>wrote: >>>>>>> >>>>>>>> just android:run >>>>>>>> >>>>>>>> implicitly does package-debug >>>>>>>> >>>>>>>> >>>>>>>> On Wed, Jan 8, 2014 at 10:08 AM, Daniel Skinner <[email protected]>wrote: >>>>>>>> >>>>>>>>> are you building like this? >>>>>>>>> >>>>>>>>> > compile >>>>>>>>> > android:package-debug >>>>>>>>> > android:install >>>>>>>>> ... >>>>>>>>> [shows debug message indicating regen of classes.dex] >>>>>>>>> ... >>>>>>>>> >>>>>>>>> >>>>>>>>> On Wed, Jan 8, 2014 at 12:07 PM, Perry Nguyen >>>>>>>>> <[email protected]>wrote: >>>>>>>>> >>>>>>>>>> Your app crashes for me regardless of whether it's a debug or >>>>>>>>>> release build. >>>>>>>>>> >>>>>>>>>> I/DEBUG ( 177): 75105aa8 74f71dc0 >>>>>>>>>> /data/app-lib/com.example.radio-2/libaacarray.so >>>>>>>>>> I/DEBUG ( 177): 75105aac 74f42a53 >>>>>>>>>> /data/app-lib/com.example.radio-2/libaacarray.so >>>>>>>>>> (Java_com_spoledge_aacplayer_ArrayDecoder_nativeStart+94) >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Wed, Jan 8, 2014 at 10:06 AM, Perry Nguyen <[email protected] >>>>>>>>>> > wrote: >>>>>>>>>> >>>>>>>>>>> Then it's unrelated to proguard, or dex files. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Wed, Jan 8, 2014 at 10:04 AM, Daniel Skinner >>>>>>>>>>> <[email protected]>wrote: >>>>>>>>>>> >>>>>>>>>>>> from a clean unzip with a signing key of previous attachment >>>>>>>>>>>> >>>>>>>>>>>> ~ $ sbt >>>>>>>>>>>> > compile >>>>>>>>>>>> ... >>>>>>>>>>>> > android:package-release >>>>>>>>>>>> ... >>>>>>>>>>>> >>>>>>>>>>>> ~ $ rm ./target/android-bin/classes.dex >>>>>>>>>>>> >>>>>>>>>>>> > android:install >>>>>>>>>>>> ... >>>>>>>>>>>> [indicates regen of classes.dex] >>>>>>>>>>>> ... >>>>>>>>>>>> >>>>>>>>>>>> Start the app and still fails. >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Wed, Jan 8, 2014 at 11:45 AM, Perry Nguyen < >>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> And you have never indicated whether removing classes.dex works >>>>>>>>>>>>> >>>>>>>>>>>>> a release has nothing to do with a debug build, particularly >>>>>>>>>>>>> in 1.2.5 >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> On Wed, Jan 8, 2014 at 9:45 AM, Perry Nguyen < >>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> bad file, cannot be unpacked. >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Wed, Jan 8, 2014 at 9:09 AM, Daniel Skinner < >>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> bleh, link that works >>>>>>>>>>>>>>> https://www.dropbox.com/s/xfhd7r05vgdtaj6/share.tar.gz >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Wed, Jan 8, 2014 at 11:05 AM, Daniel Skinner < >>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Thanks, was a busy week for me last. I tried 1.2.5 but it >>>>>>>>>>>>>>>> doesn't resolve anything. I tried a local install/fork of the >>>>>>>>>>>>>>>> android sdk >>>>>>>>>>>>>>>> plugin to do similar without much luck, but as promised >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> https://drive.google.com/a/dasa.cc/file/d/0B6hxg-gC2Uz_SDhMMFlpUHZSMnc/edit?usp=sharing >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> There's an archive demonstrating the exact problem. The >>>>>>>>>>>>>>>> archive is still pointing to 1.2.4 in the plugins file. Setup >>>>>>>>>>>>>>>> a key for >>>>>>>>>>>>>>>> signing and such. To produce a clean build >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> ~ $ sbt >>>>>>>>>>>>>>>> android:package-debug >>>>>>>>>>>>>>>> android:install >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Producing a release build doesn't work and manually signing >>>>>>>>>>>>>>>> seems to *not* be much of an option b/c im seeing issues on >>>>>>>>>>>>>>>> similar >>>>>>>>>>>>>>>> devices, different networks, where some users can upgrade and >>>>>>>>>>>>>>>> other's >>>>>>>>>>>>>>>> can't. So random reader beware .. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On Monday, January 6, 2014 7:07:27 AM UTC-6, pfn wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> anyway, I've released 1.2.5 which will also force a clean >>>>>>>>>>>>>>>>> dex on every release build >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On Wed, Jan 1, 2014 at 12:06 PM, Perry Nguyen < >>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> indeed, I suppose the dex file might need to be removed >>>>>>>>>>>>>>>>>> for a release build (when switching back and forth) >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> On Wed, Jan 1, 2014 at 10:52 AM, Daniel Skinner < >>>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> I'm guessing this is related here >>>>>>>>>>>>>>>>>>> https://github.com/pfn/android-sdk-plugin/blob/ >>>>>>>>>>>>>>>>>>> master/src/tasks.scala#L947 >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> On Wednesday, January 1, 2014 12:35:40 PM UTC-6, pfn >>>>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> same rules are applied regardless of build type >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> On Wed, Jan 1, 2014 at 10:23 AM, Daniel Skinner < >>>>>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> I'm using the pfn/android-sdk-plugin and I don't think >>>>>>>>>>>>>>>>>>>>> this is any fault of the plugin but i have an app that >>>>>>>>>>>>>>>>>>>>> depends on >>>>>>>>>>>>>>>>>>>>> https://code.google.com/p/aacdecoder-android/ which i >>>>>>>>>>>>>>>>>>>>> already have compiled into a jar and dropped into libs. >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> Debug builds work just fine but release builds cause >>>>>>>>>>>>>>>>>>>>> the native lib to seg fault and having previously carried >>>>>>>>>>>>>>>>>>>>> this over from a >>>>>>>>>>>>>>>>>>>>> non-proguard project, I was thinking there are differing >>>>>>>>>>>>>>>>>>>>> options set by the >>>>>>>>>>>>>>>>>>>>> plugin based on build type (debug/release). >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> I only noticed this single file in the repo for >>>>>>>>>>>>>>>>>>>>> configuring proguard: https://github.com/p >>>>>>>>>>>>>>>>>>>>> fn/android-sdk-plugin/blob/master/resources/android- >>>>>>>>>>>>>>>>>>>>> proguard.config >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> but might i be on the right track here? Or does the >>>>>>>>>>>>>>>>>>>>> plugin apply the same rules regardless of build type? >>>>>>>>>>>>>>>>>>>>> Digging into the >>>>>>>>>>>>>>>>>>>>> source now >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>> You received this message because you are subscribed >>>>>>>>>>>>>>>>>>>>> to the Google Groups "scala-on-android" group. >>>>>>>>>>>>>>>>>>>>> To unsubscribe from this group and stop receiving >>>>>>>>>>>>>>>>>>>>> emails from it, send an email to scala-on-andro...@ >>>>>>>>>>>>>>>>>>>>> googlegroups.com. >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> For more options, visit https://groups.google.com/grou >>>>>>>>>>>>>>>>>>>>> ps/opt_out. >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>> You received this message because you are subscribed to >>>>>>>>>>>>>>>>>>> the Google Groups "scala-on-android" group. >>>>>>>>>>>>>>>>>>> To unsubscribe from this group and stop receiving emails >>>>>>>>>>>>>>>>>>> from it, send an email to scala-on-andro...@ >>>>>>>>>>>>>>>>>>> googlegroups.com. >>>>>>>>>>>>>>>>>>> For more options, visit https://groups.google.com/ >>>>>>>>>>>>>>>>>>> groups/opt_out. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>> You received this message because you are subscribed to a >>>>>>>>>>>>>>>> topic in the Google Groups "scala-on-android" group. >>>>>>>>>>>>>>>> To unsubscribe from this topic, visit >>>>>>>>>>>>>>>> https://groups.google.com/d/topic/scala-on-android/y_O8oSwDDTo/unsubscribe >>>>>>>>>>>>>>>> . >>>>>>>>>>>>>>>> To unsubscribe from this group and all its topics, send an >>>>>>>>>>>>>>>> email to [email protected]. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> For more options, visit >>>>>>>>>>>>>>>> https://groups.google.com/groups/opt_out. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>>>>>>> Google Groups "scala-on-android" group. >>>>>>>>>>>>>>> To unsubscribe from this group and stop receiving emails >>>>>>>>>>>>>>> from it, send an email to >>>>>>>>>>>>>>> [email protected]. >>>>>>>>>>>>>>> For more options, visit >>>>>>>>>>>>>>> https://groups.google.com/groups/opt_out. >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> You received this message because you are subscribed to a >>>>>>>>>>>>> topic in the Google Groups "scala-on-android" group. >>>>>>>>>>>>> To unsubscribe from this topic, visit >>>>>>>>>>>>> https://groups.google.com/d/topic/scala-on-android/y_O8oSwDDTo/unsubscribe >>>>>>>>>>>>> . >>>>>>>>>>>>> To unsubscribe from this group and all its topics, send an >>>>>>>>>>>>> email to [email protected]. >>>>>>>>>>>>> For more options, visit >>>>>>>>>>>>> https://groups.google.com/groups/opt_out. >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>>>> Google Groups "scala-on-android" group. >>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from >>>>>>>>>>>> it, send an email to >>>>>>>>>>>> [email protected]. >>>>>>>>>>>> For more options, visit >>>>>>>>>>>> https://groups.google.com/groups/opt_out. >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> You received this message because you are subscribed to a topic >>>>>>>>>> in the Google Groups "scala-on-android" group. >>>>>>>>>> To unsubscribe from this topic, visit >>>>>>>>>> https://groups.google.com/d/topic/scala-on-android/y_O8oSwDDTo/unsubscribe >>>>>>>>>> . >>>>>>>>>> To unsubscribe from this group and all its topics, send an email >>>>>>>>>> to [email protected]. >>>>>>>>>> For more options, visit https://groups.google.com/groups/opt_out. >>>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> You received this message because you are subscribed to the Google >>>>>>>>> Groups "scala-on-android" group. >>>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>>> send an email to [email protected]. >>>>>>>>> For more options, visit https://groups.google.com/groups/opt_out. >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> -- >>>>>>> You received this message because you are subscribed to a topic in >>>>>>> the Google Groups "scala-on-android" group. >>>>>>> To unsubscribe from this topic, visit >>>>>>> https://groups.google.com/d/topic/scala-on-android/y_O8oSwDDTo/unsubscribe >>>>>>> . >>>>>>> To unsubscribe from this group and all its topics, send an email to >>>>>>> [email protected]. >>>>>>> For more options, visit https://groups.google.com/groups/opt_out. >>>>>>> >>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "scala-on-android" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to [email protected]. >>>>>> For more options, visit https://groups.google.com/groups/opt_out. >>>>>> >>>>> >>>>> >>>> >>> -- >>> You received this message because you are subscribed to a topic in the >>> Google Groups "scala-on-android" group. >>> To unsubscribe from this topic, visit >>> https://groups.google.com/d/topic/scala-on-android/y_O8oSwDDTo/unsubscribe >>> . >>> To unsubscribe from this group and all its topics, send an email to >>> [email protected]. >>> For more options, visit https://groups.google.com/groups/opt_out. >>> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "scala-on-android" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> For more options, visit https://groups.google.com/groups/opt_out. >> > > -- You received this message because you are subscribed to the Google Groups "scala-on-android" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
