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.

Reply via email to