[Interest] AndroidManifest Minimum required API not working as expected

Nuno Santos nunosantos at imaginando.pt
Tue May 10 12:58:48 CEST 2016


From what I can see in the compile output window in QtCreator is:

1) QtCreator calls make on the shadow build directory. This will execute the Makefile generated by qmake and compile the C++ code.
2) QtCreator calls "/Users/nsantos/Qt/5.6/android_armv7/bin/androiddeployqt" --input /tmp/build-drc-Android_for_armeabi_v7a_GCC_4_9_Qt_5_6_0-Release/android-libDRC.so-deployment-settings.json --output /tmp/build-drc-Android_for_armeabi_v7a_GCC_4_9_Qt_5_6_0-Release/android-build --deployment bundled --android-platform android-23 --jdk /Library/Java/JavaVirtualMachines/jdk1.7.0_65.jdk/Contents/Home —gradle

This makes me believe that there is no relation between the Makefile and gradle and/or ant build process

> On 10 May 2016, at 11:33, Gian Maxera <gmaxera at gmail.com> wrote:
> 
> I suppose that qmake is generating different Makefiles depending on what is using for build the java part.
> 
> So, my supposition is:
>  - when you select “ant” as java builder, then Qt Creator generate a Makefile for using “ant” … and this may contain some bugs that doesn’t allow to change the Qt app name and the Android SDKs
>  - when you select “gradle” as java builder, then Qt Creator generate a (different) Makefile for using “gradle” … and this may be bug-free (because I didn’t have any problem on setting Android SDKs) … and using “gradle” allow to change other aspect of java building overriding gradle.properties.
> 
> 
>> On 10 May 2016, at 11:18, Nuno Santos <nunosantos at imaginando.pt <mailto:nunosantos at imaginando.pt>> wrote:
>> 
>> Who generates the Makefile for C++ code compiling? Is grade involved? My conviction is that grade is only involved in the java related parts.
>> 
>>> On 10 May 2016, at 10:50, Gian Maxera <gmaxera at gmail.com <mailto:gmaxera at gmail.com>> wrote:
>>> 
>>> I don’t think the problem is on makefile … but on the tool are using.
>>> I want to insist on check if you are using gradle … because I don’t have any of your problem with default settings of Qt Creator and using gradle.
>>> 
>>> When I create a new project with Qt Creator and I set to use gradle … the app name is correct and I can change the sdks.
>>> 
>>> 
>>>> On 10 May 2016, at 10:00, NoRulez <norulez at me.com <mailto:norulez at me.com>> wrote:
>>>> 
>>>> I think this too, because I can't override the android-23 nor the QtApp name
>>>> 
>>>> Am 10.05.2016 um 10:06 schrieb Nuno Santos <nunosantos at imaginando.pt <mailto:nunosantos at imaginando.pt>>:
>>>> 
>>>>> I think this problem is on qmake because the Qt Makefile is using android-9 instead of android-21. I need API 21 for NDK things and not for Java things, and that must be specified on the Qt Makefile which is generated by qmake.
>>>>> 
>>>>>> On 10 May 2016, at 07:38, Gianluca <gmaxera at gmail.com <mailto:gmaxera at gmail.com>> wrote:
>>>>>> 
>>>>>> If you use gradle and there is some problems on setting properly it using Qt Creator, you can override some settings adding the gradle.properties file to your Android source directory.
>>>>>> 
>>>>>> I got problem on selecting the right Java version for compile java code and this is my gradle.properties that solved the issue … I think you can change and select also the sdk to use easily:
>>>>>> 
>>>>>> org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home
>>>>>> 
>>>>>> androidBuildToolsVersion=22.0.1
>>>>>> androidCompileSdkVersion=23
>>>>>> buildDir=build
>>>>>> qt5AndroidDir=__qt5__android__files__
>>>>>> 
>>>>>> I do not put this into the repository, but I maintain them on machine basis, so that each machine has it’s own gradle.properties to use
>>>>>> 
>>>>>> Ciao,
>>>>>> Gianluca.
>>>>>> 
>>>>>> 
>>>>>> Il giorno 10/mag/2016, alle ore 07:33, Nuno Santos <nunosantos at imaginando.pt <mailto:nunosantos at imaginando.pt>> ha scritto:
>>>>>> 
>>>>>>> I have been using Gradle all the time for more than 6 months now. 
>>>>>>> 
>>>>>>> I have been noticing some random problems, but lately I have been having the need to change the API more regularly and the problem become evident.
>>>>>>> 
>>>>>>>> On 10 May 2016, at 07:26, Gianluca <gmaxera at gmail.com <mailto:gmaxera at gmail.com>> wrote:
>>>>>>>> 
>>>>>>>> Please, can you tell us if all these problems appear using “ant” or using “gradle” ?
>>>>>>>> (Old Android build was with “ant”, now ant is deprecated and you should use only “gradle” … but Qt still support both)
>>>>>>>> 
>>>>>>>> Il giorno 10/mag/2016, alle ore 05:04, NoRulez <norulez at me.com <mailto:norulez at me.com>> ha scritto:
>>>>>>>> 
>>>>>>>>> Hello,
>>>>>>>>> 
>>>>>>>>> I've the same problem when building with CMake on the command line. I want target android-21 but android-23 is used. It seems that there is maybe a bug somewhere.
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> Am 09.05.2016 um 23:17 schrieb Igor Mironchik <igor.mironchik at gmail.com <mailto:igor.mironchik at gmail.com>>:
>>>>>>>>> 
>>>>>>>>>> Really weird...
>>>>>>>>>> 
>>>>>>>>>> What is command lines when you compiling?
>>>>>>>>>> 
>>>>>>>>>> Is there android-9 or android-23 in pathes?
>>>>>>>>>> 
>>>>>>>>>> On 10.05.2016 00:12, Nuno Santos wrote:
>>>>>>>>>>> Even more weird...
>>>>>>>>>>> 
>>>>>>>>>>> ➜  ~ cat app.pro.user | grep Sdk
>>>>>>>>>>>       <value type="QString" key="BuildTargetSdk">android-23</value>
>>>>>>>>>>>       <value type="QString" key="BuildTargetSdk">android-23</value>
>>>>>>>>>>>       <value type="QString" key="BuildTargetSdk">android-23</value>
>>>>>>>>>>> ➜  ~
>>>>>>>>>>> 
>>>>>>>>>>>> On 09 May 2016, at 22:03, Igor Mironchik < <mailto:igor.mironchik at gmail.com>igor.mironchik at gmail.com <mailto:igor.mironchik at gmail.com>> wrote:
>>>>>>>>>>>> 
>>>>>>>>>>>> Can you open *.user file and search for android record like this:
>>>>>>>>>>>> 
>>>>>>>>>>>> <value type="QString" key="BuildTargetSdk">android-9</value>
>>>>>>>>>>>> 
>>>>>>>>>>>> If you will see here android-9 then you project will be built with API 9, I guess...
>>>>>>>>>>>> 
>>>>>>>>>>>> On 09.05.2016 23:35, Nuno Santos wrote:
>>>>>>>>>>>>> That doesn’t seem to be true. At least with the following Qt Creator:
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Qt Creator 3.6.1
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Based on Qt 5.6.0 (Clang 7.0 (Apple), 64 bit)
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Built on Mar 14 2016 09:38:07
>>>>>>>>>>>>> 
>>>>>>>>>>>>> From revision 53b8ca08bf
>>>>>>>>>>>>> 
>>>>>>>>>>>>> <Mail Attachment.png>
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> I had to open the generated Makefile and make a global replace of android-9 for android-21 to be able to build with API 21
>>>>>>>>>>>>> 
>>>>>>>>>>>>>> On 09 May 2016, at 21:10, Igor Mironchik <igor.mironchik at gmail.com <mailto:igor.mironchik at gmail.com>> wrote:
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> Do you build with QtCreator? If so then when QtCreator configures project it invokes tools/android Android NDK tool and select highest API available and build with such settings.
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> On 09.05.2016 22:47, Nuno Santos wrote:
>>>>>>>>>>>>>>> Nuno Santos
>>>>>>>>>>>>>>> Founder / CEO / CTO
>>>>>>>>>>>>>>> www.imaginando.pt <http://www.imaginando.pt/>
>>>>>>>>>>>>>>> +351 91 621 69 62
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> I’m selecting Android 5.0 (API 21) in Android Manifest and it is compiling against 17.
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> I have deleted all the build directories as well as all the project .pro.user and selected API 21 again. Hit qmake and builded. It is now building against 9:
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> -isystem /Users/nsantos/android/ndk/platforms/android-9
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> Why is this happening? What does control Android NDK API usage?
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> Nuno
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>> Interest mailing list
>>>>>>>>>>>>>>> Interest at qt-project.org <mailto:Interest at qt-project.org>
>>>>>>>>>>>>>>> http://lists.qt-project.org/mailman/listinfo/interest <http://lists.qt-project.org/mailman/listinfo/interest>
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>> Interest mailing list
>>>>>>>>>>>>>> Interest at qt-project.org <mailto:Interest at qt-project.org>
>>>>>>>>>>>>>> http://lists.qt-project.org/mailman/listinfo/interest <http://lists.qt-project.org/mailman/listinfo/interest>
>>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Interest mailing list
>>>>>>>>>> Interest at qt-project.org <mailto:Interest at qt-project.org>
>>>>>>>>>> http://lists.qt-project.org/mailman/listinfo/interest <http://lists.qt-project.org/mailman/listinfo/interest>
>>>>>>>>> _______________________________________________
>>>>>>>>> Interest mailing list
>>>>>>>>> Interest at qt-project.org <mailto:Interest at qt-project.org>
>>>>>>>>> http://lists.qt-project.org/mailman/listinfo/interest <http://lists.qt-project.org/mailman/listinfo/interest>
>>>>>>>> 
>>>>>>>> _______________________________________________
>>>>>>>> Interest mailing list
>>>>>>>> Interest at qt-project.org <mailto:Interest at qt-project.org>
>>>>>>>> http://lists.qt-project.org/mailman/listinfo/interest <http://lists.qt-project.org/mailman/listinfo/interest>
>>>>>>> 
>>>>>> 
>>>>> 
>>> 
>> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20160510/26f9ec50/attachment.html>


More information about the Interest mailing list