Hi Dror, Would you happen to be using clang? If so, we have a bug with clang and we plan to release a fix soon. Raymond
On Friday, September 18, 2015 at 6:46:38 PM UTC-7, Dror Smolarsky wrote: > > Hi > > I'm still issues with the apk missing so file in 0.3.0-alpha. > I have a pure java library project, and an app project that has minimal > native code. > Although the native code is compiled, and an so file generated into > build/intermediates/binaries/debug/obj/<platform>, there is no so in > build/intermediates/binaries/debug/lib/<platform>. and no so in the > generated apk. > > Thanks > > On Monday, September 14, 2015 at 3:05:11 PM UTC-4, Raymond Chiu wrote: >> >> We have an alpha version (0.3.0-alpha3) released >> https://bintray.com/android/android-tools/com.android.tools.build.gradle-experimental/view. >> >> I forgot if 0.2.1 contains the fix or not. >> >> On Tuesday, September 8, 2015 at 5:40:31 AM UTC-7, Wes Cook wrote: >>> >>> Is 0.3.1 in a maven repo somewhere (it's not in mvnrepository or jcenter >>> as far as I can tell) or do I have to build it from source? >>> >>> On Wednesday, September 2, 2015 at 1:24:04 AM UTC-6, Thasso Griebel >>> wrote: >>>> >>>> I tried with the 0.3.1 release of the experimental plugin and it was >>>> working for me. It is independent of Android Studio. >>>> >>>> On Tuesday, September 1, 2015 at 7:17:38 PM UTC+2, Wes Cook wrote: >>>>> >>>>> Will this be in a release of the plugin, or do we have to wait for a >>>>> new version of Android Studio? >>>>> >>>>> On Wednesday, August 26, 2015 at 11:52:57 AM UTC-6, Raymond Chiu wrote: >>>>>> >>>>>> I am sorry for the experiences. There are a number of fixes for the >>>>>> upcoming release relating to library module. It should be ready soon. >>>>>> Please give it another try when it is released. Thanks. >>>>>> >>>>>> >>>>>> On Tuesday, August 25, 2015 at 1:42:02 PM UTC-7, Mark Melling wrote: >>>>>>> >>>>>>> I also had the same problem. >>>>>>> >>>>>>> As an experiment I built the library module as an application (using >>>>>>> com.android.model.application), but leaving the build.gradle the same >>>>>>> (as >>>>>>> when building the library) and in this case the .so file was include in >>>>>>> the >>>>>>> built apk. >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Friday, 7 August 2015 17:00:26 UTC+1, Florent Brunet wrote: >>>>>>>> >>>>>>>> Hi! >>>>>>>> >>>>>>>> I am investigating the new support of the NDK with the official 1.3 >>>>>>>> release of Android Studio. More precisely, I am trying to make a >>>>>>>> library >>>>>>>> module which uses both Java code and native C code (interfaced with >>>>>>>> JNI). I >>>>>>>> followed the explanations provided in this doc: >>>>>>>> http://tools.android.com/tech-docs/new-build-system/gradle-experimental >>>>>>>> >>>>>>>> (Unfortunately, it doesn't say much about libraries). So basically I >>>>>>>> have >>>>>>>> an Android Studio project with two modules: >>>>>>>> - a main application (which uses com.android.model.application >>>>>>>> plugin) >>>>>>>> - a library module (which uses com.android.model.library plugin) >>>>>>>> (The main application does not have any native C code, only the >>>>>>>> library module has.) >>>>>>>> >>>>>>>> Here are the problems I've got: >>>>>>>> >>>>>>>> *First case: I put all the NDK stuff in the build.gradle file of >>>>>>>> the library module.* >>>>>>>> - The library seems to compile fine (Java and native parts -> the >>>>>>>> .so files are present in the intermediate outputs) >>>>>>>> - An AAR file is built but it does not contain the .so files >>>>>>>> - The whole project does not compile: it stops on the >>>>>>>> compileDebugJavaWithJavac task of the main app module complaining that >>>>>>>> it >>>>>>>> cannot find the symbols defined in the library module. >>>>>>>> >>>>>>>> *Second case: I remove all the NDK stuff from the build.gradle file >>>>>>>> of the library module.* >>>>>>>> That's silly considering what my final goal is, I did that just for >>>>>>>> testing purposes. >>>>>>>> In this case, the compilation is successful: When the main app >>>>>>>> module is compiled, the symbols defined in the library module are >>>>>>>> properly >>>>>>>> found (-> from what I deduce that the dependencies configuration in >>>>>>>> the >>>>>>>> gradle files should be OK...) >>>>>>>> The generated APK runs properly on the device (as long as the >>>>>>>> native code from the library module is not used of course) >>>>>>>> >>>>>>>> I spent a lot of time trying to make that work without any >>>>>>>> success... It's definitely not impossible that I'm doing something >>>>>>>> wrong >>>>>>>> but I've got the feeling that there is something buggy and/or missing >>>>>>>> in >>>>>>>> the gradle-experimental 0.2.0 plugin. >>>>>>>> >>>>>>>> The full source code of the minimal project I used to test the >>>>>>>> creation of an AAR library containing native code is here: >>>>>>>> https://gitlab.com/FlorentBrunet/trials-gradleexpe-lib-jni/tree/master >>>>>>>> >>>>>>>> And here are my build.gradle files: >>>>>>>> *- for the main app module:* >>>>>>>> >>>>>>>> apply plugin: 'com.android.model.application' >>>>>>>> >>>>>>>> model { >>>>>>>> android { >>>>>>>> compileSdkVersion = 22 >>>>>>>> buildToolsVersion = "22.0.1" >>>>>>>> >>>>>>>> defaultConfig.with { >>>>>>>> applicationId = "com.ubleam.trialswithlib" >>>>>>>> minSdkVersion.apiLevel = 11 >>>>>>>> targetSdkVersion.apiLevel = 22 >>>>>>>> versionCode = 1 >>>>>>>> versionName = "1.0" >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> android.buildTypes { >>>>>>>> release { >>>>>>>> minifyEnabled = false >>>>>>>> proguardFiles += file('proguard-rules.pro') >>>>>>>> } >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> dependencies { >>>>>>>> compile fileTree(dir: 'libs', include: ['*.jar']) >>>>>>>> compile 'com.android.support:appcompat-v7:22.2.1' >>>>>>>> compile project(':mylibrary') >>>>>>>> } >>>>>>>> >>>>>>>> >>>>>>>> *- for the library module:* >>>>>>>> >>>>>>>> apply plugin: 'com.android.model.library' >>>>>>>> >>>>>>>> model { >>>>>>>> android { >>>>>>>> compileSdkVersion = 22 >>>>>>>> buildToolsVersion = "22.0.1" >>>>>>>> >>>>>>>> defaultConfig.with { >>>>>>>> applicationId = "com.ubleam.mylibrary" >>>>>>>> minSdkVersion.apiLevel = 11 >>>>>>>> targetSdkVersion.apiLevel = 22 >>>>>>>> versionCode = 1 >>>>>>>> versionName = "1.0" >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> android.ndk { >>>>>>>> moduleName = "dummylib" >>>>>>>> } >>>>>>>> >>>>>>>> android.buildTypes { >>>>>>>> release { >>>>>>>> minifyEnabled = false >>>>>>>> proguardFiles += file('proguard-rules.pro') >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> android.productFlavors { >>>>>>>> // for detailed abiFilter descriptions, refer to "Supported >>>>>>>> ABIs" @ >>>>>>>> // https://developer.android.com/ndk/guides/abis.html#sa >>>>>>>> create("arm") { >>>>>>>> ndk.abiFilters += "armeabi" >>>>>>>> } >>>>>>>> create("arm7") { >>>>>>>> ndk.abiFilters += "armeabi-v7a" >>>>>>>> } >>>>>>>> create("arm8") { >>>>>>>> ndk.abiFilters += "arm64-v8a" >>>>>>>> } >>>>>>>> create("x86") { >>>>>>>> ndk.abiFilters += "x86" >>>>>>>> } >>>>>>>> create("x86-64") { >>>>>>>> ndk.abiFilters += "x86_64" >>>>>>>> } >>>>>>>> create("mips") { >>>>>>>> ndk.abiFilters += "mips" >>>>>>>> } >>>>>>>> create("mips-64") { >>>>>>>> ndk.abiFilters += "mips64" >>>>>>>> } >>>>>>>> // To include all cpu architectures, leaves abiFilters empty >>>>>>>> create("all") >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> dependencies { >>>>>>>> compile fileTree(dir: 'libs', include: ['*.jar']) >>>>>>>> compile 'com.android.support:appcompat-v7:22.2.1' >>>>>>>> } >>>>>>>> >>>>>>>> >>>>>>>> Really hope that this could help improving the Android tools >>>>>>>> because, except for these few problems, Android Studio 1.3 and the >>>>>>>> integration of the NDK is amazing! >>>>>>>> >>>>>>> -- 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.
