通过 ADB 安装自签名证书



我正在尝试通过ADB安装自签名证书(由Charles创建( 我已将其推送到/sdcard/xxx.pem ,然后无法使用我能找到的浏览器打开它,并且由于设备删除了设置应用程序,因此我无法在设置应用程序下安装证书。 然后我搜索并尝试

am start -n com.android.certinstaller/.CertInstallerMain -a android.intent.action.VIEW -t application/x-x509-ca-cert file:///sdcard/test.cer

但刚刚显示

01-07 17:47:56.442 12889-12889/com.android.certinstaller E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.android.certinstaller, PID: 12889
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.certinstaller/com.android.certinstaller.CertInstallerMain}: java.lang.NullPointerException: uri
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5418)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:731)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:621)
Caused by: java.lang.NullPointerException: uri
at com.android.internal.util.Preconditions.checkNotNull(Preconditions.java:60)
at android.content.ContentResolver.openInputStream(ContentResolver.java:645)
at com.android.certinstaller.CertInstallerMain.startInstallActivity(CertInstallerMain.java:139)
at com.android.certinstaller.CertInstallerMain.onCreate(CertInstallerMain.java:119)
at android.app.Activity.performCreate(Activity.java:6270)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1115)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
at android.app.ActivityThread.-wrap11(ActivityThread.java) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:148) 
at android.app.ActivityThread.main(ActivityThread.java:5418) 
at java.lang.reflect.Method.invoke(Native Method) 

我不熟悉这个com.android.certinstaller应用程序,是否有任何参考如何使用它来安装证书?

请尝试以下操作:

adb shell am start -n com.android.certinstaller/.CertInstallerMain -a android.intent.action.VIEW -t application/x-x509-ca-cert -d file:///sdcard/test.cer

如果扔 com.android.certinstaller E/CertInstaller:无法读取证书:java.io.FileNotFoundException:/sdcard/cer(权限被拒绝(

请根植您的设备并将 cer 推送到/system/etc/adb shell am start -n com.android.certinstaller/.CertInstallerMain -a android.intent.action.VIEW -t application/x-x509-ca-cert -d file:///system/etc/test.cer

如果收到"权限被拒绝"或"云找不到文件",则需要确保文件可读。

chmod o+r /sdcard/test.cer

然后

adb shell am start -n com.android.certinstaller/.CertInstallerMain -a android.intent.action.VIEW -t application/x-x509-ca-cert -d file:///sdcard/test.cer

最新更新