如何在不停止应用的情况下停止应用为自己启动的内容?

时间:2016-12-18 11:06:34

标签: android shell scripting tor orbot

注意:在使用shell和命令/脚本时,我对linux / android相当新,所以如果我提供了一些不相关的信息,或者我尝试过做一些不可能的事情,请告诉我什么是不相关的,为什么有些事情是不可能的,并解释其他任何事情来帮助我在这方面做得更好。

我尝试制作一个脚本,当我退出Orfox应用程序时自动停止Orbot的Tor网络。到目前为止,除了Tor的停止部分之外,我还有大部分编码。我相信我可以在shell脚本中使用什么来阻止Tor网络?

目前,我的脚本使用命令

# am force-stop org.torproject.android

停止应用程序(停止Tor网络),但我知道这不是唯一的方法......

我知道当我按下“开始”按钮(在Orbot应用程序内)或打开Orfox时,它会启动Tor网络......使用时

# ps | grep torproject

2次(开始Tor之前和之后),我发现

  • u0_a291 11209 1 23092 15712 sys_epoll_ b68ecf18 S /data/data/org.torproject.android/app_bin/tor

仅在Tor打开时显示。

我还发现使用后

# ps | grep u0_a291

(与上一个命令相同)启动了两个shell:

  • u0_a291 11150 8783 3780 1336 pipe_wait b6d9d0ac S sh

  • u0_a291 11212 8783 3780 1340 pipe_wait b6dec0ac S sh

仅当tor打开时。

我假设一些或两个shell中运行的命令会给我一个提示,告诉我为了在我的脚本中停止tor网络可能需要什么命令,但是我不知道如何查看它们或我是否可以。有没有办法查看它们,或者我可能正试图找出如何以错误的方式停止Tor?请帮帮我们。

1 个答案:

答案 0 :(得分:1)

我弄清楚它到底是什么,我不需要我提供的任何信息...... facepalm

通过查看base.apk(在/data/app/org.torproject.android中)作为存档,我找到了所需的服务和意图操作。我查看AndroidManifest.xml就像一个文本文件,发现服务和它的意图动作是

  • .service.TorService
  • org.torproject.android.intent.action.Start

我用这个来结束我的剧本来停止托尔服务...我敢打赌这可能会帮助其他人出去。

# am stopservice -n org.torproject.android/.service.TorService -a org.torproject.android.intent.action.START