diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2018-08-16 15:02:05 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2018-08-27 12:29:06 +0000 |
commit | 7ddbc5997e123c60c45865bae2df380174caf72c (patch) | |
tree | ee9ddd6532e0501c5dce5471cb8e0d706ae8085e /tests | |
parent | dd61fdb5017dcd9521ec389b0b40dad9a93bfd21 (diff) |
Android: Properly support the aidl tool
We now pull in the AIDL framework file and let the user set search paths
for imports.
Change-Id: I93460a77b064fa87849b93c0b0e4bd3bbfd7459f
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Diffstat (limited to 'tests')
6 files changed, 59 insertions, 1 deletions
diff --git a/tests/auto/blackbox/testdata-android/aidl/AndroidManifest.xml b/tests/auto/blackbox/testdata-android/aidl/AndroidManifest.xml new file mode 100644 index 000000000..e8a950847 --- /dev/null +++ b/tests/auto/blackbox/testdata-android/aidl/AndroidManifest.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="io.qbs.aidltest"> + <application android:label="AidlTest"> + <activity android:name="MainActivity"> + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> +</manifest> diff --git a/tests/auto/blackbox/testdata-android/aidl/aidl.qbs b/tests/auto/blackbox/testdata-android/aidl/aidl.qbs new file mode 100644 index 000000000..6e827099f --- /dev/null +++ b/tests/auto/blackbox/testdata-android/aidl/aidl.qbs @@ -0,0 +1,8 @@ +Application { + name: "io.qbs.aidltest" + Android.sdk.aidlSearchPaths: path + files: [ + "AndroidManifest.xml", + "io/qbs/aidltest/*", + ] +} diff --git a/tests/auto/blackbox/testdata-android/aidl/io/qbs/aidltest/Interface1.aidl b/tests/auto/blackbox/testdata-android/aidl/io/qbs/aidltest/Interface1.aidl new file mode 100644 index 000000000..34fb0386c --- /dev/null +++ b/tests/auto/blackbox/testdata-android/aidl/io/qbs/aidltest/Interface1.aidl @@ -0,0 +1,7 @@ +package io.qbs.aidltest; + +import io.qbs.aidltest.Interface2; + +interface Interface1 { + void doSomething(in Interface2 param1, in Bundle param2); +} diff --git a/tests/auto/blackbox/testdata-android/aidl/io/qbs/aidltest/Interface2.aidl b/tests/auto/blackbox/testdata-android/aidl/io/qbs/aidltest/Interface2.aidl new file mode 100644 index 000000000..815d44f23 --- /dev/null +++ b/tests/auto/blackbox/testdata-android/aidl/io/qbs/aidltest/Interface2.aidl @@ -0,0 +1,5 @@ +package io.qbs.aidltest; + +interface Interface2 { + void someFunc(in Bundle params); +} diff --git a/tests/auto/blackbox/testdata-android/aidl/io/qbs/aidltest/MainActivity.java b/tests/auto/blackbox/testdata-android/aidl/io/qbs/aidltest/MainActivity.java new file mode 100644 index 000000000..e38cfa55b --- /dev/null +++ b/tests/auto/blackbox/testdata-android/aidl/io/qbs/aidltest/MainActivity.java @@ -0,0 +1,18 @@ +package io.qbs.aidltest; + +import android.app.Activity; +import android.os.Bundle; +import android.widget.TextView; + +public class MainActivity extends Activity +{ + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + TextView label = new TextView(this); + label.setText("Hello world!"); + + setContentView(label); + } +} diff --git a/tests/auto/blackbox/tst_blackboxandroid.cpp b/tests/auto/blackbox/tst_blackboxandroid.cpp index 705bc6b7e..b4c431902 100644 --- a/tests/auto/blackbox/tst_blackboxandroid.cpp +++ b/tests/auto/blackbox/tst_blackboxandroid.cpp @@ -197,7 +197,7 @@ void TestBlackboxAndroid::android_data() const QByteArrayList commonFiles = expandArchs(archs, { "AndroidManifest.xml", "META-INF/ANDROIDD.RSA", "META-INF/ANDROIDD.SF", - "META-INF/MANIFEST.MF", "classes.dex", "resources.arsc" + "META-INF/MANIFEST.MF", "classes.dex" }); QTest::addColumn<QString>("projectDir"); @@ -206,6 +206,7 @@ void TestBlackboxAndroid::android_data() QTest::newRow("teapot") << "teapot" << QStringList("TeapotNativeActivity") << (QList<QByteArrayList>() << commonFiles + expandArchs(archs, { + "resources.arsc", "assets/Shaders/ShaderPlain.fsh", "assets/Shaders/VS_ShaderPlain.vsh", "lib/${ARCH}/gdbserver", @@ -216,6 +217,7 @@ void TestBlackboxAndroid::android_data() << "no-native" << QStringList("com.example.android.basicmediadecoder") << (QList<QByteArrayList>() << commonFiles + expandArchs(archs, { + "resources.arsc", "res/drawable-hdpi-v4/ic_action_play_disabled.png", "res/drawable-hdpi-v4/ic_action_play.png", "res/drawable-hdpi-v4/ic_launcher.png", @@ -232,24 +234,30 @@ void TestBlackboxAndroid::android_data() "res/menu/action_menu.xml", "res/menu-v11/action_menu.xml", "res/raw/vid_bigbuckbunny.mp4"})); + QTest::newRow("aidl") << "aidl" << QStringList("io.qbs.aidltest") + << QList<QByteArrayList>{commonFiles}; QTest::newRow("multiple libs") << "multiple-libs-per-apk" << QStringList("twolibs") << (QList<QByteArrayList>() << commonFiles + expandArchs(archs, { + "resources.arsc", "lib/${ARCH}/gdbserver", "lib/${ARCH}/liblib1.so", "lib/${ARCH}/liblib2.so", "lib/${ARCH}/libstlport_shared.so"})); QByteArrayList expectedFiles1 = (commonFiles + expandArchs(QByteArrayList{"mips", "x86"}, { + "resources.arsc", "lib/${ARCH}/gdbserver", "lib/${ARCH}/libp1lib1.so", "lib/${ARCH}/libstlport_shared.so"}) + expandArchs(QByteArrayList{archs}, { + "resources.arsc", "lib/${ARCH}/gdbserver", "lib/${ARCH}/libp1lib2.so", "lib/${ARCH}/libstlport_shared.so"})).toSet().toList(); QByteArrayList expectedFiles2 = commonFiles + expandArchs(archs, { + "resources.arsc", "lib/${ARCH}/gdbserver", "lib/${ARCH}/libp2lib1.so", "lib/${ARCH}/libp2lib2.so", |