Not actually seeing this result in a build that works, but i had to change
the example config you provided as (in project/build.scala)
proguardOptions in Android ++= Seq("-keep class com.spoledge**",
"-keepclassmembers class * {native <methods>;}")
On Wed, Jan 8, 2014 at 12:22 PM, Daniel Skinner <[email protected]> wrote:
> finally something that makes sense :D checking it out now
>
>
> On Wed, Jan 8, 2014 at 12:21 PM, Perry Nguyen <[email protected]> wrote:
>
>> 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/
>>>>>>>>>>>>>>>>>>>>>>> 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 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 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.