牙叔教程 简单易学
使用场景
把java代码改成autojs可直接使用的代码
autojs版本
修改步骤
1. 修改import为importClass
import java.io.BufferedReader;
autojs
importClass(java.io.BufferedReader);
2. 修改java变量
java变量
public String httpurl; connection = (HttpURLConnection) url.openConnection(); StringBuffer sbf = new StringBuffer(); public static final String KEY_ALGORITHM = "RSA/ECB/PKCS1Padding";
autojs
let httpurl; connection = url.openConnection(); let sbf = new java.lang.StringBuffer(); let KEY_ALGORITHM = "RSA/ECB/PKCS1Padding";
3. 修改方法
java
public static void main(String[] args){ System.out.println("hello world"); // 你好world String httpurl="http://www.baidu.com"; String r = HttpClient.doGet(httpurl); System.out.println(r); } public static byte[] decryptByPrivateKey(byte[] byteArray) throws Exception {}
autojs
function main(args) { log("hello world"); // 你好world let httpurl = "http://www.baidu.com"; let r = HttpClient.doGet(httpurl); log(r); } function decryptByPrivateKey(byteArray) {}
4. 修改catch
java
catch (MalformedURLException e) { e.printStackTrace(); }
autojs
catch (e) { log(e && e.stack); }
4. 重复上面的三个动作, 就可以成功把java改成autojs了
补充
1. autojs使用java数组
// 创建数组 大小为2 类型为byte // 第一种方法 java.lang.reflect.Array.newInstance(java.lang.Byte.TYPE, 2); // 第二种方法 util.java.array('byte', 2) // 长度为3的int数组 let arr=util.java.array("int", 3); arr[0]=1 // 创建Class数组 util.java.array('java.lang.Class',3) arr[2] = Class.forName("java.lang.String")
2. 创建对象数组
function getObjectArr() { let ClassArr = java.lang.reflect.Array.newInstance(java.lang.Class.forName("java.lang.Object"), 8); ClassArr[0] = new java.lang.Integer(0); ClassArr[1] = new java.lang.Integer(0); ClassArr[2] = new java.lang.Integer(0); ClassArr[3] = new java.lang.Integer(0); ClassArr[4] = new java.lang.Short(1); ClassArr[5] = new java.lang.Integer(0); ClassArr[6] = new java.lang.Short(4); ClassArr[7] = new java.lang.Integer(3); return ClassArr; }
3. 创建类数组
function getClassArr() { let ClassArr = java.lang.reflect.Array.newInstance(java.lang.Class.forName("java.lang.Class"), 8); ClassArr[0] = java.lang.Integer.TYPE; ClassArr[1] = java.lang.Integer.TYPE; ClassArr[2] = java.lang.Integer.TYPE; ClassArr[3] = java.lang.Integer.TYPE; ClassArr[4] = java.lang.Short.TYPE; ClassArr[5] = java.lang.Integer.TYPE; ClassArr[6] = java.lang.Short.TYPE; ClassArr[7] = java.lang.Integer.TYPE; return ClassArr; }
4. 创建一个浮点数
new Packages.java.lang.Float(0);
5. 创建一个指定类数组
util.java.array('android.net.Uri', 1)
指定参数类型
p["setShadowLayer(float,float,float,int)"](100, 0, 0, new java.lang.Long(Color.RED)); p["setShadowLayer(float,float,float,int)"](100, 0, 0, $colors.RED);
参考文章
声明
部分内容来自网络