|
4 | 4 | import android.app.Activity; |
5 | 5 | import android.content.Context; |
6 | 6 | import android.content.Intent; |
7 | | -import android.content.SharedPreferences; |
8 | | -import android.content.pm.ApplicationInfo; |
9 | | -import android.content.pm.PackageInfo; |
10 | | -import android.content.pm.PackageManager; |
11 | 7 | import android.content.res.Configuration; |
12 | | -import android.net.Uri; |
13 | 8 | import android.os.Bundle; |
14 | 9 | import android.os.Environment; |
15 | 10 | import android.preference.ListPreference; |
16 | 11 | import android.preference.Preference; |
17 | 12 | import android.preference.PreferenceActivity; |
18 | 13 | import android.provider.Settings; |
19 | 14 | import android.security.KeyChain; |
20 | | -import android.support.design.widget.Snackbar; |
21 | 15 | import android.support.v7.app.ActionBar; |
22 | | -import android.util.Log; |
23 | 16 | import android.view.MenuItem; |
24 | 17 | import android.widget.Toast; |
25 | 18 |
|
26 | | -import com.tencent.bugly.Bugly; |
27 | 19 | import com.tencent.bugly.beta.Beta; |
28 | 20 |
|
29 | 21 | import net.lightbody.bmp.BrowserMobProxy; |
30 | 22 | import net.lightbody.bmp.proxy.dns.AdvancedHostResolver; |
31 | 23 |
|
32 | | -import org.apache.commons.io.FileUtils; |
| 24 | +import org.apache.commons.io.IOUtils; |
33 | 25 |
|
34 | | -import java.io.File; |
35 | 26 | import java.io.FileInputStream; |
36 | | -import java.io.FileOutputStream; |
37 | | -import java.io.IOException; |
38 | | -import java.io.InputStream; |
39 | 27 |
|
40 | 28 | import cn.darkal.networkdiagnosis.R; |
41 | 29 | import cn.darkal.networkdiagnosis.SysApplication; |
42 | 30 | import cn.darkal.networkdiagnosis.Utils.DeviceUtils; |
43 | | -import cn.darkal.networkdiagnosis.Utils.FileUtil; |
44 | 31 | import cn.darkal.networkdiagnosis.Utils.SharedPreferenceUtils; |
45 | 32 | import cn.darkal.networkdiagnosis.View.LoadingDialog; |
46 | | -import okhttp3.Call; |
47 | | -import okhttp3.Callback; |
48 | | -import okhttp3.OkHttpClient; |
49 | | -import okhttp3.Request; |
50 | | -import okhttp3.Response; |
51 | 33 |
|
52 | 34 | /** |
53 | 35 | * A {@link PreferenceActivity} that presents a set of application settings. On |
@@ -181,9 +163,14 @@ public void installCert() { |
181 | 163 | Toast.makeText(this, "必须安装证书才可实现HTTPS抓包", Toast.LENGTH_LONG).show(); |
182 | 164 | try { |
183 | 165 | byte[] keychainBytes; |
184 | | - InputStream bis = MainActivity.class.getResourceAsStream(CERTIFICATE_RESOURCE); |
185 | | - keychainBytes = new byte[bis.available()]; |
186 | | - bis.read(keychainBytes); |
| 166 | + FileInputStream is = null; |
| 167 | + try { |
| 168 | + is = new FileInputStream(CERTIFICATE_RESOURCE); |
| 169 | + keychainBytes = new byte[is.available()]; |
| 170 | + is.read(keychainBytes); |
| 171 | + } finally { |
| 172 | + IOUtils.closeQuietly(is); |
| 173 | + } |
187 | 174 |
|
188 | 175 | Intent intent = KeyChain.createInstallIntent(); |
189 | 176 | intent.putExtra(KeyChain.EXTRA_CERTIFICATE, keychainBytes); |
|
0 commit comments