
类型:其他 版本:2.3.3大小:8.4MB更新:2025/11/26 15:38:14 语言:简体中文等级:平台:Android
软件介绍
AutoTools是一款功能强大的安卓系统自动化工具,它能够帮助用户轻松实现各种复杂的系统操作和任务自动化。作为Tasker的增强组件,AutoTools为专业用户提供了更便捷的操作方式和更丰富的功能选项。无论是系统设置调整、应用自动化还是界面定制,AutoTools都能完美胜任。通过简单的配置,用户就可以实现诸如自动切换网络、定时任务执行、界面元素控制等高级功能。特别适合那些希望深度定制安卓系统体验的技术爱好者,让复杂的自动化操作变得触手可及。
AutoTools是一款能够帮助Tasker完成很多自动化功能的工具。它提供了丰富的API接口和可视化配置选项,大大降低了自动化任务的实现门槛。无论是简单的定时任务还是复杂的系统级操作,都可以通过AutoTools轻松实现。该工具支持多种触发条件和执行动作,能够完美适配各种安卓设备,是提升手机使用效率的利器。

autotools教程:用automake搞出来实际可用的玩意
在开始之前
这里我们用Vala语言和GTK+来展示如何使用Automake。Vala是一种面向对象的编程语言,它能够编译成高效的C代码,非常适合开发GTK+应用程序。GTK+是一个跨平台的图形用户界面工具包,广泛应用于Linux桌面环境开发。通过这个教程,你将学习如何利用Automake工具链来构建一个完整的应用程序项目。
首先创建src/sp-gui.vala:
usingGtk;
intmain(string[]args)
{
Gtk.init(refargs);
varwin=newGtk.Window(WindowType.TOPLEVEL);
win.destroy.connect(Gtk.main_quit);
win.title=SalamatPagi;
win.show_all();
Gtk.main();
return0;
}
这段代码会生成一个标题为SalamatPagi的空白窗口。这段代码可以使用以下命令测试:
>valacsp-gui.vala--pkggtk+-3.0
>./sp-gui
开始折腾Automake
首先创建Makefile.am文件:
SUBDIRS=src
然后创建src/Makefile.am文件:
bin_PROGRAMS=sp-gui
sp_gui_SOURCES=sp-gui.vala
#很遗憾我还没找到有什么好办法把这个VALAFLAGS消除掉
sp_gui_VALAFLAGS=--pkggtk+-3.0
sp_gui_CFLAGS=$(GTK_CFLAGS)
sp_gui_LDADD=$(GTK_LIBS)
我们已经知道,Automake是把Makefile.am转换成Makefile.in的东西,理论上来说automake是增强autoconf功能的程序,所以我们不得不把autoconf和automake放在一起来讲。不信的话,你现在试试,automake会报错configure.ac缺少一些命令。
现在我们把configure.ac改成下面的样子:
AC_INIT([SalamatPagi],[0.1],[bug-report@address])
AM_INIT_AUTOMAKE
AM_PROG_VALAC
AC_PROG_CC
PKG_CHECK_MODULES([GTK],[gtk+-3.0])
AC_SUBST([GTK_CFLAGS])
AC_SUBST([GTK_LIBS])
AC_CONFIG_FILES([Makefilesrc/Makefile])
AC_OUTPUT
然后依次执行aclocal,autoconf,automake-a--foreign。值得注意的是,这里必须要有AC_PROG_CC,因为Vala实际上是将代码编译成C代码的,所以C语言需要的配置这里也要有(这正是我选择Vala为示例的原因,不用Vala的话,完全可以自己修改为C语言版本),如果你以后要用Vala编程,应该注意。
automake的参数
--add-missing(-a)可以为你自动安装一些必须的脚本。
--foreign则不强求你安装一些无聊的文档文件,比如README,INSTALL,NEWS之类的。
现在你可以试试make和makeclean了。
同时生成多个可执行文件
我们这里提供一个小型CLI版本SalamatPagi程序,创建文件src/sp-cli.c:
#include
intmain(intargc,char*argv[])
{
printf(SalamatPagi!n);
return0;
}
按着上面的办法,我们在src/Makefile.am中添加:
bin_PROGRAMS+=sp-cli
sp_cli_SOURCES=sp-cli.c
响应configure参数
这里把CLI作为可选项。configure.ac中添加:
AC_ARG_WITH([cli],
[ --with-cli Commandlineinterface],
[case${withval}in
yes)cli=true;;
no) cli=false;;
*)AC_MSG_ERROR([badvalue${withval}for--with-cli]);;
esac],[cli=false])
AM_CONDITIONAL([WITH_CLI],[testx$cli=xtrue])
--with-xx的value是withval,那么--enable-xx的value就是enableval。
Makefile.am中原有sp-cli的内容改为:
ifWITH_CLI
bin_PROGRAMS+=sp-cli
sp_cli_SOURCES=sp-cli.c
endif
现在,要编译CLI版本,就不得不configure--with-cli=yes了。
如果你想让GUI版本成为可选,想想应该修改哪些文件?没错,正是configure.ac和src/Makefile.am。首先configure.ac中应该按照需求进行PKG_CHECK_MODULES,然后再在src/Makefile.am中按需要编译GUI版本程序,甚至你可以让AM_PROG_VALAC按需求调用!
编译命令很长很烦?
automake有silentrules,可以把很长的命令缩短到CCxx.c!有两个办法,一个是在configure的时候提供--enable-silent-rules,另一个是在configure.ac里面提供AM_SILENT_RULES([yes])。这个功能特别适合在持续集成环境中使用,可以让构建日志更加简洁明了。
一些测试程序?
有些程序是我们用来测试的,并不打算被makeinstall安装到系统中,那么我们这时会使用noinst_PROGRAMS而不是bin_PROGRAMS。这种方式特别适合开发过程中的单元测试程序,既不会污染系统安装目录,又能方便地进行各种测试。
V1.9.991
修复android11无法保存设置的问题。此版本还优化了内存管理机制,减少了后台资源占用,提升了在低配置设备上的运行效率。同时修复了若干可能导致应用崩溃的边界条件问题。
V1.9.99
适配一堆app的启屏广告。新增了对更多第三方应用的支持,包括微信、支付宝等主流应用。优化软件算法,提升体验。改进了任务调度机制,使自动化操作更加精准可靠。简化软件界面,一系列优化。增加了更多预设模板,让新手用户也能快速上手使用。
快速启动
AppChoices(去广告)