我正在尝试编译Java代码,因此我首先将其转换为.class,然后转换为.dex,最后转换为smali,这一直有效,除了现在,因为我使用的是方法Log.e()
System.out.println()
中记录了一些错误;我无法将.java文件转换为.class。
这是我启动以获取.class文件的命令:
$ javac helloworld.java
即使我已经导入了库import android.util.Log;
,我仍然遇到以下错误:
sources / com / canal / android / external / CplusJni.java:9:错误:包android.util不存在 导入android.util.Log; ^
sources / com / canal / android / external / CplusJni.java:25:错误:找不到符号
Log.e(“ ------------------------------------------ -----------------------------------“);
^
符号:变量Log
位置:CplusJni类
sources / com / canal / android / external / CplusJni.java:26:错误:找不到符号 Log.e(“ cplusPKCS12Cert:”,cplusPKCS12Cert);
^
符号:变量Log
位置:CplusJni类
sources / com / canal / android / external / CplusJni.java:27:错误:找不到符号
Log.e(“ ------------------------------------------ -----------------------------------“);
^
符号:变量Log
位置:CplusJni类
sources / com / canal / android / external / CplusJni.java:35:错误:找不到符号
Log.e(“ ------------------------------------------ -----------------------------------“); ^ 符号:变量Log
位置:CplusJni类
sources / com / canal / android / external / CplusJni.java:36:错误:找不到符号
Log.e(“ sSLSocketFactory:”,sSLSocketFactory);
^
符号:变量Log
位置:CplusJni类
sources / com / canal / android / external / CplusJni.java:37:错误:找不到符号
Log.e(“ ------------------------------------------ -----------------------------------“);
^
符号:变量Log
位置:CplusJni类
7个错误
这是我的代码:
package com.canal.android.external;
import java.io.ByteArrayInputStream;
import java.security.KeyStore;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.KeyManagerFactory;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocketFactory;
import android.util.Log;`
public class CplusJni {
public static native byte[] getCplusPKCS12Cert();
public static native byte[] getCplusPKCS12Pass();
static {
System.loadLibrary("cplusnative");
}
public static SSLSocketFactory a() {
SSLSocketFactory sSLSocketFactory = null;
try {
SSLContext instance = SSLContext.getInstance("TLS");
byte[] cplusPKCS12Cert = getCplusPKCS12Cert();
Log.e("-----------------------------------------------------------------------------");
Log.e("cplusPKCS12Cert: ",cplusPKCS12Cert);
Log.e("-----------------------------------------------------------------------------");
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(cplusPKCS12Cert);
KeyStore instance2 = KeyStore.getInstance("PKCS12");
byteArrayInputStream.close();
KeyManagerFactory instance3 = KeyManagerFactory.getInstance("X509");
instance.init(instance3.getKeyManagers(), null, null);
HttpsURLConnection.setDefaultSSLSocketFactory(instance.getSocketFactory());
sSLSocketFactory = instance.getSocketFactory();
Log.e("-----------------------------------------------------------------------------");
Log.e("sSLSocketFactory: ",sSLSocketFactory);
Log.e("-----------------------------------------------------------------------------");
return sSLSocketFactory;
} catch (Exception unused) {
return sSLSocketFactory;
}
}
}
在此我将不胜感激!
答案 0 :(得分:0)
尝试通过这种方式解决
逐步:
1-打开“自动导入”设置
2-关闭即时优化导入
3-在排除列表中删除课程