mirror of git://sigrok.org/pulseview
Added files for building Android APK
This commit is contained in:
parent
9137928c9a
commit
a4ef39937e
|
@ -0,0 +1,16 @@
|
|||
/libs/
|
||||
/assets/
|
||||
/res/drawable/
|
||||
/res/values/bundled_libs.xml
|
||||
/res/*/strings.xml
|
||||
/res/xml/device_filter.xml
|
||||
/build.xml
|
||||
/project.properties
|
||||
/local.properties
|
||||
/proguard-project.txt
|
||||
/bin/
|
||||
/gen/
|
||||
/ant/build/
|
||||
/ant/tasks.jar
|
||||
/src/org/qtproject/
|
||||
/src/org/kde/
|
|
@ -0,0 +1,50 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="org.sigrok.pulseview"
|
||||
android:versionName="0.2.0"
|
||||
android:versionCode="20"
|
||||
android:installLocation="auto">
|
||||
<application android:hardwareAccelerated="true"
|
||||
android:name="org.sigrok.pulseview.PulseViewApplication"
|
||||
android:label="@string/pv_app_name"
|
||||
android:icon="@drawable/logo">
|
||||
<activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|locale|fontScale|keyboard|keyboardHidden|navigation"
|
||||
android:name="org.sigrok.pulseview.PulseViewActivity"
|
||||
android:label="@string/pv_app_name"
|
||||
android:screenOrientation="unspecified"
|
||||
android:launchMode="singleTop">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.app.lib_name" android:value="pulseview"/>
|
||||
<meta-data android:name="android.app.qt_sources_resource_id" android:resource="@array/qt_sources"/>
|
||||
<meta-data android:name="android.app.repository" android:value="default"/>
|
||||
<meta-data android:name="android.app.qt_libs_resource_id" android:resource="@array/qt_libs"/>
|
||||
<meta-data android:name="android.app.bundled_libs_resource_id" android:resource="@array/bundled_libs"/>
|
||||
<!-- Deploy Qt libs as part of package -->
|
||||
<meta-data android:name="android.app.bundle_local_qt_libs" android:value="0"/>
|
||||
<meta-data android:name="android.app.bundled_in_lib_resource_id" android:resource="@array/bundled_in_lib"/>
|
||||
<meta-data android:name="android.app.bundled_in_assets_resource_id" android:resource="@array/bundled_in_assets"/>
|
||||
<!-- Run with local libs -->
|
||||
<meta-data android:name="android.app.use_local_qt_libs" android:value="0"/>
|
||||
<meta-data android:name="android.app.libs_prefix" android:value="/data/local/tmp/qt/"/>
|
||||
<meta-data android:name="android.app.load_local_libs" android:value="plugins/platforms/android/libqtforandroid.so"/>
|
||||
<meta-data android:name="android.app.load_local_jars" android:value="jar/QtAndroid.jar:jar/QtAndroidAccessibility.jar:jar/QtAndroid-bundled.jar:jar/QtAndroidAccessibility-bundled.jar"/>
|
||||
<meta-data android:name="android.app.static_init_classes" android:value=""/>
|
||||
<!-- Messages maps -->
|
||||
<meta-data android:value="@string/ministro_not_found_msg" android:name="android.app.ministro_not_found_msg"/>
|
||||
<meta-data android:value="@string/ministro_needed_msg" android:name="android.app.ministro_needed_msg"/>
|
||||
<meta-data android:value="@string/fatal_error_msg" android:name="android.app.fatal_error_msg"/>
|
||||
<!-- Messages maps -->
|
||||
<!-- Splash screen -->
|
||||
<!--
|
||||
<meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/logo"/>
|
||||
-->
|
||||
<!-- Splash screen -->
|
||||
</activity>
|
||||
</application>
|
||||
<uses-sdk android:minSdkVersion="12" android:targetSdkVersion="14"/>
|
||||
<supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/>
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
||||
</manifest>
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources>
|
||||
<array name="bundled_libs">
|
||||
@bundled_libs@
|
||||
</array>
|
||||
</resources>
|
|
@ -0,0 +1,81 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
|
||||
This file is part of the PulseView project.
|
||||
|
||||
Copyright (C) 2014 Marcus Comstedt <marcus@mc.pp.se>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
-->
|
||||
<project>
|
||||
|
||||
<property name="pulseview-source-path" value="${basedir}/.."/>
|
||||
<property name="pulseview-build-path" value="${pulseview-source-path}"/>
|
||||
<property name="cmake-cache" value="${pulseview-build-path}/CMakeCache.txt"/>
|
||||
|
||||
<target name="-get-prefix">
|
||||
<loadproperties srcFile="${cmake-cache}" prefix="cmake">
|
||||
<filterchain>
|
||||
<replaceregex pattern=":[A-Z]*=" replace="=" />
|
||||
</filterchain>
|
||||
</loadproperties>
|
||||
<property name="prefix" value="${cmake.CMAKE_INSTALL_PREFIX}"/>
|
||||
</target>
|
||||
|
||||
<target name="-declare-anttasks" depends="-get-prefix">
|
||||
<taskdef resource="anttasks.properties"
|
||||
classpath="${prefix}/jar/sigrok-androidutils-anttasks.jar"/>
|
||||
</target>
|
||||
|
||||
<target name="-pre-build" depends="-get-prefix, -declare-anttasks">
|
||||
<copylibs todir="${native.libs.absolute.dir}" property="bundled_libs">
|
||||
<fileset dir="${pulseview-build-path}/libs" />
|
||||
<include name="libgnustl_shared.so"/>
|
||||
<exclude name="lib*.so"/>
|
||||
</copylibs>
|
||||
<copy file="${prefix}/jar/sigrok-androidutils.jar"
|
||||
tofile="${jar.libs.absolute.dir}/sigrok-androidutils.jar"/>
|
||||
<copy file="${prefix}/share/sigrok-androidutils/device_filter.xml"
|
||||
tofile="${resource.absolute.dir}/xml/device_filter.xml"/>
|
||||
<copy file="bundled_libs.xml.in"
|
||||
tofile="${resource.absolute.dir}/values/bundled_libs.xml">
|
||||
<filterset>
|
||||
<filter token="bundled_libs" value="${bundled_libs}"/>
|
||||
</filterset>
|
||||
</copy>
|
||||
<copy file="${pulseview-source-path}/icons/sigrok-logo-notext.png"
|
||||
tofile="${resource.absolute.dir}/drawable/logo.png" />
|
||||
<copy todir="${source.absolute.dir}">
|
||||
<fileset dir="${prefix}/src/android/java/src">
|
||||
<include name="org/qtproject/qt5/android/bindings/**"/>
|
||||
<include name="org/kde/necessitas/ministro/**"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
<copy todir="${resource.absolute.dir}">
|
||||
<fileset dir="${prefix}/src/android/java/res">
|
||||
<include name="**/strings.xml"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
<copy todir="${asset.absolute.dir}/libsigrokdecode">
|
||||
<fileset dir="${prefix}/share/libsigrokdecode" />
|
||||
</copy>
|
||||
<copy todir="${asset.absolute.dir}/python3.3">
|
||||
<fileset dir="${prefix}/lib/python3.3">
|
||||
<include name="**/*.py"/>
|
||||
<exclude name="**/test/**"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
</target>
|
||||
</project>
|
|
@ -0,0 +1,2 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" />
|
|
@ -0,0 +1,22 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources>
|
||||
<array name="qt_sources">
|
||||
<item>https://download.qt-project.org/ministro/android/qt5/qt-5.3</item>
|
||||
</array>
|
||||
|
||||
<array name="qt_libs">
|
||||
<!-- %%INSERT_QT_LIBS%% -->
|
||||
<item>Qt5Core</item>
|
||||
<item>Qt5Gui</item>
|
||||
<item>Qt5Widgets</item>
|
||||
<item>Qt5Svg</item>
|
||||
</array>
|
||||
|
||||
<array name="bundled_in_lib">
|
||||
<!-- %%INSERT_BUNDLED_IN_LIB%% -->
|
||||
</array>
|
||||
<array name="bundled_in_assets">
|
||||
<!-- %%INSERT_BUNDLED_IN_ASSETS%% -->
|
||||
</array>
|
||||
|
||||
</resources>
|
|
@ -0,0 +1,4 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources>
|
||||
<string name="pv_app_name">PulseView</string>
|
||||
</resources>
|
|
@ -0,0 +1,51 @@
|
|||
/*
|
||||
* This file is part of the PulseView project.
|
||||
*
|
||||
* Copyright (C) 2014 Marcus Comstedt <marcus@mc.pp.se>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.sigrok.pulseview;
|
||||
|
||||
import org.qtproject.qt5.android.bindings.QtActivity;
|
||||
import org.sigrok.androidutils.UsbSupplicant;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
public class PulseViewActivity extends QtActivity
|
||||
{
|
||||
private UsbSupplicant supplicant;
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
supplicant = new UsbSupplicant(getApplicationContext(), R.xml.device_filter);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStart()
|
||||
{
|
||||
super.onStart();
|
||||
supplicant.start();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStop()
|
||||
{
|
||||
supplicant.stop();
|
||||
super.onStop();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
/*
|
||||
* This file is part of the PulseView project.
|
||||
*
|
||||
* Copyright (C) 2014 Marcus Comstedt <marcus@mc.pp.se>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.sigrok.pulseview;
|
||||
|
||||
import org.qtproject.qt5.android.bindings.QtApplication;
|
||||
import org.sigrok.androidutils.Environment;
|
||||
import org.sigrok.androidutils.UsbHelper;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
public class PulseViewApplication extends QtApplication
|
||||
{
|
||||
@Override
|
||||
public void onCreate()
|
||||
{
|
||||
Environment.initEnvironment(getApplicationInfo().sourceDir);
|
||||
UsbHelper.setContext(getApplicationContext());
|
||||
super.onCreate();
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue