@@ -41,7 +41,7 @@ public class App extends Application{
|
||
| 41 | 41 |
super.onCreate(); |
| 42 | 42 |
mInstance = this.getApplicationContext(); |
| 43 | 43 |
if(!checkUsbPermission()){
|
| 44 |
- Toast.makeText(this,"申请usb权限失败",Toast.LENGTH_SHORT).show(); |
|
| 44 |
+ Toast.makeText(this,R.string.usb_permission_denied,Toast.LENGTH_SHORT).show(); |
|
| 45 | 45 |
} |
| 46 | 46 |
checkCameraLibs(); |
| 47 | 47 |
initImageLoader(); |
@@ -50,6 +50,7 @@ public class App extends Application{
|
||
| 50 | 50 |
} |
| 51 | 51 |
|
| 52 | 52 |
private boolean checkUsbPermission(){
|
| 53 |
+ LogHelper.d("czy","checkUsbPermission starts");
|
|
| 53 | 54 |
Process process = null; |
| 54 | 55 |
DataOutputStream os = null; |
| 55 | 56 |
try {
|
@@ -57,7 +58,7 @@ public class App extends Application{
|
||
| 57 | 58 |
String cmd1 = "setenforce 0"; |
| 58 | 59 |
String cmd2 = "chmod -R 0777 /dev/bus/usb" ; |
| 59 | 60 |
|
| 60 |
- process = Runtime.getRuntime().exec("su"); // 切换到root帐号
|
|
| 61 |
+ process = Runtime.getRuntime().exec("su");
|
|
| 61 | 62 |
os = new DataOutputStream(process.getOutputStream()); |
| 62 | 63 |
os.writeBytes(cmd + "\n"); |
| 63 | 64 |
os.writeBytes(cmd1 + "\n"); |
@@ -67,6 +68,7 @@ public class App extends Application{
|
||
| 67 | 68 |
process.waitFor(); |
| 68 | 69 |
return true; |
| 69 | 70 |
} catch (Exception e) {
|
| 71 |
+ LogHelper.d("czy","checkUsbPermission exception occur -->"+e);
|
|
| 70 | 72 |
return false; |
| 71 | 73 |
} finally {
|
| 72 | 74 |
try {
|
@@ -79,13 +81,14 @@ public class App extends Application{
|
||
| 79 | 81 |
} |
| 80 | 82 |
} |
| 81 | 83 |
|
| 82 |
- public void copyResToSdcard(String name){
|
|
| 84 |
+ public void copyRawLibToSdcard(String dirPath){
|
|
| 85 |
+ LogHelper.d("czy","copyRawLibToSdcard");
|
|
| 83 | 86 |
Field[] raw = R.raw.class.getFields(); |
| 84 | 87 |
for (Field r : raw) {
|
| 85 | 88 |
try {
|
| 86 | 89 |
int id=getResources().getIdentifier(r.getName(), "raw", getPackageName()); |
| 87 | 90 |
if(r.getName().startsWith("camera")){
|
| 88 |
- String path=name+"/"+r.getName()+".so"; |
|
| 91 |
+ String path=dirPath+"/"+r.getName()+".so"; |
|
| 89 | 92 |
BufferedOutputStream rawZipWriter = new BufferedOutputStream((new FileOutputStream(new File(path)))); |
| 90 | 93 |
BufferedInputStream rawZipReader = new BufferedInputStream(getResources().openRawResource(id)); |
| 91 | 94 |
byte[] buff = new byte[20*1024]; |
@@ -98,6 +101,7 @@ public class App extends Application{
|
||
| 98 | 101 |
rawZipReader.close(); |
| 99 | 102 |
} |
| 100 | 103 |
} catch (Exception e) {
|
| 104 |
+ LogHelper.d("czy","copyRawLibToSdcard exception occur -->"+e);
|
|
| 101 | 105 |
e.printStackTrace(); |
| 102 | 106 |
} |
| 103 | 107 |
} |
@@ -111,7 +115,7 @@ public class App extends Application{
|
||
| 111 | 115 |
String tmpLibDirPath = "/mnt/sdcard/lensman"; |
| 112 | 116 |
File file = new File(tmpLibDirPath); |
| 113 | 117 |
file.mkdirs(); |
| 114 |
- copyResToSdcard(tmpLibDirPath); |
|
| 118 |
+ copyRawLibToSdcard(tmpLibDirPath); |
|
| 115 | 119 |
final String unzipPath = tmpLibDirPath+File.separator+"so"; |
| 116 | 120 |
new File(unzipPath).mkdirs(); |
| 117 | 121 |
new FileUnzipTask(tmpLibDirPath + File.separator + "camera.so", unzipPath, new FileUnzipTask.FileUnzipListener() {
|
@@ -189,7 +193,6 @@ public class App extends Application{
|
||
| 189 | 193 |
if (dir.isDirectory()) {
|
| 190 | 194 |
String[] children = dir.list(); |
| 191 | 195 |
if (children != null) {
|
| 192 |
- // 递归删除目录中的子目录下 |
|
| 193 | 196 |
for (int i = 0; i < children.length; i++) {
|
| 194 | 197 |
boolean success = deleteDir(new File(dir, children[i])); |
| 195 | 198 |
if (!success) {
|
@@ -197,12 +200,10 @@ public class App extends Application{
|
||
| 197 | 200 |
} |
| 198 | 201 |
} |
| 199 | 202 |
} |
| 200 |
- |
|
| 201 | 203 |
} |
| 202 | 204 |
if (!dir.canRead() || !dir.canWrite()) {
|
| 203 | 205 |
return false; |
| 204 | 206 |
} |
| 205 |
- // 目录此时为空,可以删除 |
|
| 206 | 207 |
return dir.delete(); |
| 207 | 208 |
} |
| 208 | 209 |
|
@@ -140,4 +140,5 @@ |
||
| 140 | 140 |
|
| 141 | 141 |
<string name="session_photo_limit">只显示最近200张照片,您可以到存储卡目录查看更多</string> |
| 142 | 142 |
|
| 143 |
+ <string name="usb_permission_denied">请检查设备是否已开放root权限</string> |
|
| 143 | 144 |
</resources> |