You should be able have a hybrid environment, but be aware that dependency
management will have significant changes in the near future.
We might support gtest, but probably not in the very short term. Please
file a feature request if you do not want it to get lost. Thanks.
On Friday, July 10, 2015 at 1:14:53 PM UTC-7, Steven Winston wrote:
>
> Hi Raymond,
>
> Thanks for taking the time. cppFlags +=
> "-DVERSION=\"${rootProject.getVersion().toString()}\"".toString() does
> indeed fix the problem. Some of the third party libs we depend upon aren't
> 64bit compatible, so I'll delay the full dive until 64 bit is working.
> I have a question, if I have a hybrid environment (i.e. the build.gradle
> for one of my modules (a library) uses the experimental gradle ndk, is
> there a way that this could work with the rest of the project using the
> more stable 1.3r2? Or does the entire dependency chain have to be one the
> same gradle?)
>
> Also, I did manage to get gtest (unit testing) working in the new
> experimental, it's using a custom task dependency. Are there plans on
> putting an official way of doing gtest in a nicely provided call?
>
> Thanks,
> Steve
>
> On Friday, July 10, 2015 at 8:55:25 AM UTC-7, Raymond Chiu wrote:
>>
>> Hi Steven,
>>
>> I work on the plugin. I made some of the trivial corrections in the
>> documentation and will correct the rest soon. Thanks for pointing them
>> out. I hope to address some of your other concerns
>>
>> "First it's still quite sad that there is no mechanism to use older
>> library builds with pre-existing .mk files. I get around this as I always
>> have by creating own task that calls ndk-build."
>>
>> We are working on it.
>>
>> "cppFlags += " -I" + file('../../../Common').absolutePath
>> will result in compiler errors that the file or directory <path>/Common
>> is not found and it wont compile. However, remove the space prior to the
>> -I flag and it's all good. I had to remove all spaces on front and back of
>> all cflags and do a separate flag per line with cppFlags += <newFlag>"
>>
>> Filed
>> https://code.google.com/p/android/issues/detail?id=179497&thanks=179497
>>
>> "android.buildTypes { } should include isDebuggable = true and
>> isJniDebuggable = true."
>>
>> There are some changes to the DSL that will address this in the next
>> minor release.
>>
>> "I can get gradlew to run the compiler, but the GUI doesn't actually run
>> the ndk build task. If I run the gradle task from the GUI :app:build then
>> it does build the ndk build task but F9 gives me everything but."
>>
>> I will look into this.
>>
>> "For the life of me I couldn't get cppFlags +=
>> "-DVERSION=\"${rootProject.getVersion().toString()}\"" to work. Am I doing
>> something wrong with it?"
>>
>> Is your error "org.codehaus.groovy.runtime.GStringImpl cannot be cast to
>> java.lang.String"? If so, you can workaround it by adding .toString() to
>> the GString for now. i.e. cppFlags +=
>> "-DVERSION=\"${rootProject.getVersion().toString()}\"".toString(). If not,
>> please let me know what error did you get.
>>
>> "Also should note that setting abiFilters has no barring on what will be
>> compiled. The NDK will try to compile all abiFilters no matter what."
>>
>> Known issue: https://code.google.com/p/android/issues/detail?id=177337
>>
>> Thanks again for the feedback!
>>
>> Raymond
>>
>> On Thursday, July 9, 2015 at 6:10:17 PM UTC-7, Steven Winston wrote:
>>>
>>> It's very pleasant to see Google finally release this.
>>>
>>> First it's still quite sad that there is no mechanism to use older
>>> library builds with pre-existing .mk files. I get around this as I always
>>> have by creating own task that calls ndk-build.
>>>
>>> Anyway, something I wanted to point out:
>>> http://tools.android.com/tech-docs/new-build-system/gradle-experimental
>>> says as an example to use toolchainVersion = 3.4 for clang and r10e for the
>>> ndk is required. There is no 3.4 toolchain version of clang in r10e.
>>>
>>> Next, should mention that if users wish to use more than one srcDir for
>>> jni, use the srcDirs property and an arrayList. (i.e.
>>> android.sources {
>>> main {
>>> jni {
>>> source {
>>> srcDirs = [file('../../Android').absolutePath,
>>> file('../../../Common').absolutePath ]
>>> }
>>> }
>>> }
>>> }
>>>
>>> Also, apply plugin: 'com.android.model.library' should be somewhere in
>>> there as an option in the docs.
>>>
>>> CFlags and cppFlags have very similar oddities:
>>> cppFlags += " -I" + file('../../../Common').absolutePath
>>> will result in compiler errors that the file or directory <path>/Common
>>> is not found and it wont compile. However, remove the space prior to the
>>> -I flag and it's all good. I had to remove all spaces on front and back of
>>> all cflags and do a separate flag per line with cppFlags += <newFlag>
>>>
>>> I can get gradlew to run the compiler, but the GUI doesn't actually run
>>> the ndk build task. If I run the gradle task from the GUI :app:build then
>>> it does build the ndk build task but F9 gives me everything but.
>>>
>>> armeabi-v7 should be armeabi-v7a
>>>
>>> android.buildTypes { } should include isDebuggable = true and
>>> isJniDebuggable = true.
>>>
>>> For the life of me I couldn't get cppFlags +=
>>> "-DVERSION=\"${rootProject.getVersion().toString()}\"" to work. Am I doing
>>> something wrong with it?
>>>
>>> splits should now be android.splits <-- not listed. It would be nice to
>>> have a better way of defining abiFilters to only include what's asked for
>>> (i.e. set universalAPK to false elsewhere). Also should note that setting
>>> abiFilters has no barring on what will be compiled. The NDK will try to
>>> compile all abiFilters no matter what.
>>>
>>> That's as far as I could test. Going back to deprecated ndk scheme
>>> until the next version. Thought I'd give feedback.
>>>
>>>
>> On Thursday, July 9, 2015 at 6:10:17 PM UTC-7, Steven Winston wrote:
>>>
>>> It's very pleasant to see Google finally release this.
>>>
>>> First it's still quite sad that there is no mechanism to use older
>>> library builds with pre-existing .mk files. I get around this as I always
>>> have by creating own task that calls ndk-build.
>>>
>>> Anyway, something I wanted to point out:
>>> http://tools.android.com/tech-docs/new-build-system/gradle-experimental
>>> says as an example to use toolchainVersion = 3.4 for clang and r10e for the
>>> ndk is required. There is no 3.4 toolchain version of clang in r10e.
>>>
>>> Next, should mention that if users wish to use more than one srcDir for
>>> jni, use the srcDirs property and an arrayList. (i.e.
>>> android.sources {
>>> main {
>>> jni {
>>> source {
>>> srcDirs = [file('../../Android').absolutePath,
>>> file('../../../Common').absolutePath ]
>>> }
>>> }
>>> }
>>> }
>>>
>>> Also, apply plugin: 'com.android.model.library' should be somewhere in
>>> there as an option in the docs.
>>>
>>> CFlags and cppFlags have very similar oddities:
>>> cppFlags += " -I" + file('../../../Common').absolutePath
>>> will result in compiler errors that the file or directory <path>/Common
>>> is not found and it wont compile. However, remove the space prior to the
>>> -I flag and it's all good. I had to remove all spaces on front and back of
>>> all cflags and do a separate flag per line with cppFlags += <newFlag>
>>>
>>> I can get gradlew to run the compiler, but the GUI doesn't actually run
>>> the ndk build task. If I run the gradle task from the GUI :app:build then
>>> it does build the ndk build task but F9 gives me everything but.
>>>
>>> armeabi-v7 should be armeabi-v7a
>>>
>>> android.buildTypes { } should include isDebuggable = true and
>>> isJniDebuggable = true.
>>>
>>> For the life of me I couldn't get cppFlags +=
>>> "-DVERSION=\"${rootProject.getVersion().toString()}\"" to work. Am I doing
>>> something wrong with it?
>>>
>>> splits should now be android.splits <-- not listed. It would be nice to
>>> have a better way of defining abiFilters to only include what's asked for
>>> (i.e. set universalAPK to false elsewhere). Also should note that setting
>>> abiFilters has no barring on what will be compiled. The NDK will try to
>>> compile all abiFilters no matter what.
>>>
>>> That's as far as I could test. Going back to deprecated ndk scheme
>>> until the next version. Thought I'd give feedback.
>>>
>>>
>> On Thursday, July 9, 2015 at 6:10:17 PM UTC-7, Steven Winston wrote:
>>>
>>> It's very pleasant to see Google finally release this.
>>>
>>> First it's still quite sad that there is no mechanism to use older
>>> library builds with pre-existing .mk files. I get around this as I always
>>> have by creating own task that calls ndk-build.
>>>
>>> Anyway, something I wanted to point out:
>>> http://tools.android.com/tech-docs/new-build-system/gradle-experimental
>>> says as an example to use toolchainVersion = 3.4 for clang and r10e for the
>>> ndk is required. There is no 3.4 toolchain version of clang in r10e.
>>>
>>> Next, should mention that if users wish to use more than one srcDir for
>>> jni, use the srcDirs property and an arrayList. (i.e.
>>> android.sources {
>>> main {
>>> jni {
>>> source {
>>> srcDirs = [file('../../Android').absolutePath,
>>> file('../../../Common').absolutePath ]
>>> }
>>> }
>>> }
>>> }
>>>
>>> Also, apply plugin: 'com.android.model.library' should be somewhere in
>>> there as an option in the docs.
>>>
>>> CFlags and cppFlags have very similar oddities:
>>> cppFlags += " -I" + file('../../../Common').absolutePath
>>> will result in compiler errors that the file or directory <path>/Common
>>> is not found and it wont compile. However, remove the space prior to the
>>> -I flag and it's all good. I had to remove all spaces on front and back of
>>> all cflags and do a separate flag per line with cppFlags += <newFlag>
>>>
>>> I can get gradlew to run the compiler, but the GUI doesn't actually run
>>> the ndk build task. If I run the gradle task from the GUI :app:build then
>>> it does build the ndk build task but F9 gives me everything but.
>>>
>>> armeabi-v7 should be armeabi-v7a
>>>
>>> android.buildTypes { } should include isDebuggable = true and
>>> isJniDebuggable = true.
>>>
>>> For the life of me I couldn't get cppFlags +=
>>> "-DVERSION=\"${rootProject.getVersion().toString()}\"" to work. Am I doing
>>> something wrong with it?
>>>
>>> splits should now be android.splits <-- not listed. It would be nice to
>>> have a better way of defining abiFilters to only include what's asked for
>>> (i.e. set universalAPK to false elsewhere). Also should note that setting
>>> abiFilters has no barring on what will be compiled. The NDK will try to
>>> compile all abiFilters no matter what.
>>>
>>> That's as far as I could test. Going back to deprecated ndk scheme
>>> until the next version. Thought I'd give feedback.
>>>
>>>
--
You received this message because you are subscribed to the Google Groups
"adt-dev" 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/d/optout.