当前位置:首页 » 安卓系统 » android脚本

android脚本

发布时间: 2022-04-16 08:17:43

1. android 中怎么执行js脚本

android要执行脚本,只有通过本地的webview打开脚本页面。

调用步骤

1、设置webview支持脚本

java">webSettings.setJavaScriptEnabled(true);

2、打开脚本页面

mWebView.loadUrl("file:///android_asset/demo.html");//这里打开该app的asset目录下的demo.html,里面含有wave函数脚本

3、调用脚本

mWebView.loadUrl("javascript:wave()");//调用打开页面中的wave函数

2. 安卓的脚本,不root是否可以使用

安卓的脚本,不root是无法正常使用的。手机ROOT就是获取最高权限,ROOT后的手机,配合360手机卫士可以实现卸载预置软件、管理开机启动项、控制每个APP的流量使用、修改游戏、控制广告插件等多种功能。只有ROOT后的手机才能拥有完整的手机操作权限。ROOT后的手机由于拥有完整的操作权限,平时下载和更新软件的时候更要注意,不要下载来历不明的软件,谨慎点击未知的图片和链接。ROOT后的手机保修相关问题,需要咨询相关手机的厂商客服。因为不同的手机型号,不同的固件版本,ROOT方案完全不一样,这边以三星为例,其他手机雷同。
安卓的脚本root的步骤:
1、ROOT环境准备、备份数据;
1、 将手机连接到电脑的后置USB接口上,打开电脑版的360安全卫士-》手机助手;
2、 点击手机助手的备份按钮备份。该备份没有备份您的照片和视频,一般这些在外置SD卡上,推荐您直接从电脑上拷贝备份好;
3、 点击链接下载ROOT工具odin3:http://dl.pconline.com.cn/download/170680.html
第二步:手工刷ROOT
1、 手机完全关机,音量下键+home键+开机键三个按键同时按动,当出现waming警告界面后松手;
2、 按动音量上,手机进入三星downloading挖煤模式后,手机插入电脑后置USB接口上;
3、 打开360手机助手,此时电脑将自动安装驱动;
4、 打开刚才下载好的odin3工具,当工具的左侧第一格下面有蓝色标识后,驱动安装完成;
5、 点击PDA按钮,加载对应的ROOT包后,点击start按钮;
6、 当软件出现PASS后,手工ROOT完成,手机会自动重启的;
7、 如果手机卡在开机三星的logo界面请多等待5分钟;
8、 注意事项:查找对应的ROOT包。
(1) 不同品牌,不同型号的,不同固件版本的ROOT包完全不一致,请一定对照好,否则会导致手机无法开机,造成硬件损伤。
(2) 在刷ROOT包时,一定要保证手机正常连接电脑,如果不小心触碰数据线导致连接中断,手机会无法开机,造成硬件损伤。
(3) 由于ROOT包非官方发布,都是手机爱好者个人发布,或许由于编写程序BUG等因素会导致手机无法启动,在操作前,一定要备份好本机的数据。
(4) 如果您在刷ROOT中,odin3显示fail!请一定及时联系专家,不要在做过多的操作,否则会造成手机硬件的损坏。
(5) 如果您没有相关手机型号的ROOT经验,建议您先咨询下人工专家。
第三步:开启ROOT权限
1、 手机正常重启后,访问http://shouji.360.cn/链接,下载安装360手机卫士;
2、 在手机上打开360手机卫士-》安全防护-》超强模式-》打开超强模式-》立即开启;
3、 在上述步骤中,如果弹出授权提示选项,点击授权或同意按钮;
4、 如果超强模式成功打开,手机ROOT成功完成,您可以使用超强模式里面的所有的功能,进行预置软件卸载、管理开机启动项等;
5、 手机ROOT后,不要恢复出厂设置,不能点击系统更新功能,否则ROOT会失效。

3. 怎么让Android系统或Android应用执行shell脚本

一、Android应用启动服务执行脚本
1 如何写服务和脚本
在android源码根目录下有/device/tegatech/tegav2/init.rc文件相信大家对这个文件都不陌生(如果不明白就仔细研读下android启动流程)。如果在该脚本文件中添加诸如以下服务:
service usblp_test /data/setip/init.usblpmod.sh
oneshot
disabled
注解:每个设备下都会有自己对应的init.rc,init.设备名.rc脚本文件。oneshot disabled向我们说明了在系统启动的时候这个服务是不会自动启动的。并且该服务的目的是执行/data/setip/init.usblpmod.sh脚本。脚本的内容你可以随便写,只要符合shell语法就可以了,比如脚本可以是简单的设置eth0:
# ! /system/bin/sh //脚本的开头必须这样写。
Ifconfig eth0 172.16.100.206 netmask 255.255.0.0 up//设置ip的命令
2、如何在应用中启动服务
1)首先了解下在服务启动的流程
1. 在你的应用中让init.rc中添加的服务启动起来。
首先了解下在服务启动的流程:
在设备目录下的init.c(切记并不是system/core/init/init.rc)
Main函数的for(;;)循环中有一个handle_property_set_fd(),函数:
for (i = 0; i < fd_count; i++) {
if (ufds[i].revents == POLLIN) {
if (ufds[i].fd == get_property_set_fd())
handle_property_set_fd();
else if (ufds[i].fd == get_keychord_fd())
handle_keychord();
else if (ufds[i].fd == get_signal_fd())
handle_signal();
}
}
这个函数的实现也在system/core/init目录下,该函数中的check_control_perms(msg.value, cr.uid, cr.gid)函数就是检查该uid是否有权限启动服务(msg.value就是你服务的名字),如果应用为root或system用户则直接返回1.之后就是调用handle_control_message((char*) msg.name + 4, (char*) msg.value),该函数的参数就是去掉1.ctl.后的start和2.你服务的名字。这个函数的详细内容:
void handle_control_message(const char *msg, const char *arg)
{
if (!strcmp(msg,"start")) {
msg_start(arg);
} else if (!strcmp(msg,"stop")) {
msg_stop(arg);
} else if (!strcmp(msg,"restart")) {
msg_stop(arg);
msg_start(arg);
} else {
ERROR("unknown control msg '%s'\n", msg);
}
}
匹配start后调用msg_start.服务就这样起来了,我们的解决方案就是在检查权限的地方“下点功夫”,因为我们不确定uid,所以就让check_control_perms这个函数不要检查我们的uid,直接检查我们服务的名字,看看这个函数:
static int check_control_perms(const char *name, unsigned int uid, unsigned int gid) {
int i;
if (uid == AID_SYSTEM || uid == AID_ROOT)
return 1;
/* Search the ACL */
for (i = 0; control_perms[i].service; i++) {
if (strcmp(control_perms[i].service, name) == 0) {
if ((uid && control_perms[i].uid == uid) ||
(gid && control_perms[i].gid == gid)) {
return 1;
}
}
}
return 0;
}
这个函数里面是必须要检查uid的,我们只要在for循环上写上。
if(strcmp(“usblp_test”,name)==0) //usblp_test就是我们服务的名字。
return 1;
这样做不会破坏android原本的结构,不会有什么副作用。
init.c和init.rc都改好了,现在就可以编译源码了,编译好了装到机子开发板上就可以了。

4. 如何让android启动后自动运行一段脚本

1.修改启动脚本init.rc在最后添加
#===============================add my shellscript
service sysinit /system/xbin/busybox run-parts /system/etc/init.d
oneshot
上面busybox工具路径要根据自己的系统写
2.在system/etc下创建init.d目录,在此目录下添加写好的脚本去掉后缀.sh,添加可执行权限
3.重启ok

5. android 中如何去执行js脚本

android要执行脚本,只有通过本地的webview打开脚本页面。
调用步骤

1、设置webview支持脚本
webSettings.setJavaScriptEnabled(true);

2、打开脚本页面

mWebView.loadUrl("file:///android_asset/demo.html");//这里打开该app的asset目录下的demo.html,里面含有wave函数脚本

3、调用脚本

mWebView.loadUrl("javascript:wave()");//调用打开页面中的wave函数

6. 如何让android 开机自动启动脚本

如果需要在Android开机时自动启动应用程序,可以通过响应android.intent.action.BOOT_COMPLETED广播消息来实现, Android系统启动结束时,会发出 android.intent.action.BOOT_COMPLETED 消息。 具体步骤如下:1. 定义一个Broadcast Receiver ,比如:BootupReceiver

[java]
public class BootupReceiver extends BroadcastReceiver{

@Override
public void onReceive(Context context, Intent intent) {

//better delay some time.
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Intent i = new Intent(context, BootupDemoActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);

}

7. android怎么实现按键脚本

程序经常需要调试,需要程序自动按键,或者某些繁琐操作,比如游戏外挂,需要按键精灵来完成。
android 提供给开发者发送模拟按键的类Instrumentation:

public classInstrumentationextends Object

java.lang.Object
↳ android.app.Instrumentation
Known Direct

可以模拟发送很多事件(这些方法写在thread类里,所以部分带有thread的sleep方法):
发送back事件:
private void back()

{

inst.sendKeyDownUpSync(KeyEvent.KEYCODE_BACK);

}
复制代码
发送enter事件:(在keyevent中有很多按键码,该方法可以发送任何按键的事件)
private void enter() throws InterruptedException
复制代码
{

inst.sendKeyDownUpSync(KeyEvent.KEYCODE_NUMPAD_ENTER);

sleep(500);

}
复制代码
根据坐标点发送点击事件:
private void click(int x ,int y) throws InterruptedException

{

inst.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(),

<span style="white-space:pre"> </span>SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN, x, y, 0));

sleep(500);

inst.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(),

SystemClock.uptimeMillis(), MotionEvent.ACTION_UP, x, y, 0));

}
复制代码
根据坐标发送长按事件:
private void longClick(int x, int y) throws InterruptedException{

inst.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(),

SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN, x, y, 0));

sleep(2000);

inst.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(),

SystemClock.uptimeMillis(), MotionEvent.ACTION_UP, x, y, 0));

}

复制代码
发送向下事件:
private void move() throws InterruptedException

{

inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_DOWN);

sleep(500);

inst.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_DOWN);

sleep(500);

}

8. android系统有没有脚本语言

  • java目前还是主流,c,c++目前也只是能通过jni调用,不过谷哥未来有支持c,c++开发的动向,还有一些非主流的开发方式:如果仅是开发应用的话,perl,c#,flashair,HTML+css+js都是可以的,不过都不怎么成熟。

  • HTML+css+js是属于webAPP,网上也有一些开源的框架,例如Sencha,它可以支持跨平台,也有android的例子,有兴趣的可以看看,flashair(flex)不属于web应用,同样也是跨平台的,但是需要用户另外安装运行环境。使用MonoforAndroid(原名:MonoDroid)可以让开发人员使用VisualStudio来创建基于C#和.NET的应用程序,并且让这些程序可运行在Android手机上。要在Android上运行perl,首先要让Android支持Perl。所以要把环境搭好,先安装SL4A(ScriptingLayerforAndriod),然后再安装Perl插件,Perl脚本就能在Android系统上运行了

9. 如何让Android系统或Android应用执行shell脚本

android系统执行shell脚本,需要首先确认用户具有修改shell的权限,使用 process来执行指令,如下代码:

publicvoidexecShell(Stringcmd){
try{
//权限设置
Processp=Runtime.getRuntime().exec("su");//开始执行shell脚本
//获取输出流
OutputStreamoutputStream=p.getOutputStream();
=newDataOutputStream(outputStream);
//将命令写入
dataOutputStream.writeBytes(cmd);
//提交命令
dataOutputStream.flush();
//关闭流操作
dataOutputStream.close();
outputStream.close();
}
catch(Throwablet)
{
t.printStackTrace();
}
}
热点内容
服务器怎么盈利 发布:2024-05-05 23:56:16 浏览:940
java网站培训学校 发布:2024-05-05 23:43:11 浏览:40
淘宝搜索算法 发布:2024-05-05 23:37:07 浏览:998
sqlwhencasethen 发布:2024-05-05 23:27:51 浏览:641
模架编程软件 发布:2024-05-05 23:26:54 浏览:483
存储过程异常 发布:2024-05-05 23:24:03 浏览:399
winxp访问不了win7 发布:2024-05-05 23:05:23 浏览:734
算法牛 发布:2024-05-05 22:43:40 浏览:720
grublinux引导 发布:2024-05-05 22:37:56 浏览:216
unix高级编程第三版pdf 发布:2024-05-05 22:32:09 浏览:959