我用 MIT App Inventor 2 制作了一个简单的培训应用程序。该应用程序记录到一个日志文件,我制作了一个小型 QPython 脚本来分析日志并显示统计信息。
我想使用 Activity Starter 来启动我的 Python 脚本,但我无法找出正确的 Action、ActivityClass、ActivityPackage 和 Extra[x] 集来使其工作。我已经在我的 Android 手机上运行 adb 来查找正确的字符串,但是当我尝试时我得到“601 没有找到相应的活动”。
这是运行脚本时为“qpyplus”grep 的 adb 输出:
I/Timeline( 1898): Timeline: Activity_launch_request id:com.hipipal.qpyplus time:15752330
I/ActivityManager( 862): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.hipipal.qpyplus/com.hipipal.qpylib.MPyApi bnds=[540,456][807,756] (has extras)} from uid 10116 on display 0
V/WindowManager( 862): addAppToken: AppWindowToken{1687ec32 token=Token{120bbc3d ActivityRecord{1ef9e994 u0 com.hipipal.qpyplus/com.hipipal.qpylib.MPyApi t5112}}} to stack=1 task=5112 at 0
V/WindowManager( 862): Adding window Window{e90d72c u0 Starting com.hipipal.qpyplus} at 18 of 26 (after Window{30168e12 u0 edu.mit.appinventor.aicompanion3/edu.mit.appinventor.aicompanion3.Screen1})
I/Timeline(31680): Timeline: Activity_launch_request id:com.hipipal.qpyplus time:15752447
I/ActivityManager( 862): START u0 {cmp=com.hipipal.qpyplus/jackpal.androidterm.Term (has extras)} from uid 10335 on display 0
V/WindowManager( 862): addAppToken: AppWindowToken{382fc5e2 token=Token{1e492ead ActivityRecord{2e34dfc4 u0 com.hipipal.qpyplus/jackpal.androidterm.Term t5112}}} to stack=1 task=5112 at 1
V/WindowManager( 862): Based on layer: Adding window Window{e90d72c u0 Starting com.hipipal.qpyplus} at 18 of 26
V/WindowManager( 862): Adding window Window{390e635c u0 com.hipipal.qpyplus/jackpal.androidterm.Term} at 18 of 27 (before Window{e90d72c u0 Starting com.hipipal.qpyplus})
I/ActivityManager( 862): Displayed com.hipipal.qpyplus/jackpal.androidterm.Term: +117ms (total +245ms)
I/Timeline( 862): Timeline: Activity_windows_visible id: ActivityRecord{2e34dfc4 u0 com.hipipal.qpyplus/jackpal.androidterm.Term t5112} time:15752597
我已阅读文档并尝试破译日志并填充标签。我还找到了 2010 年对同一问题的旧答案,但似乎 QPython 从那时起就继续前进,因为该配方与我的 logcat 不对应(并且也不起作用)。请查看两个选项的屏幕截图(我是这里的新手,所以我不允许嵌入图像)。
两个不起作用的选项的屏幕截图 有人知道我应该如何格式化 Activity Starter 以使该脚本运行吗?
更新!
我想,泰丰让我走上了正轨。我听从了他的建议,重新编译了具有新权限的 .apk 并安装了它,以便允许它运行 shell 脚本。我现在的问题是 QPython 似乎完全忽略了我要求它在启动时运行脚本。终端可以正常打开,但我的脚本没有运行。如果我手动运行命令,它运行得很好。
有什么想法吗?