首页

STM32串口IAP app调试工具源码

java

2020-6-29

package cn.wch.ch34xuartdriver;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Timer;
import java.util.TimerTask;
import cn.wch.ch34xuartdemo.R;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.hardware.usb.UsbManager;
import android.view.View;
import android.view.WindowManager;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;
import android.util.Log;
import cn.wch.ch34xuartdriver.utils.FileUtil;
import cn.wch.ch34xuartdriver.utils.PermissionUtils;

public class MainActivity extends Activity {

	public static final String TAG = "cn.wch.wchusbdriver";
	private static final String ACTION_USB_PERMISSION = "cn.wch.wchusbdriver.USB_PERMISSION";
	public readThread handlerThread;
	protected final Object ThreadLock = new Object();
	private EditText readText;
	private Spinner baudSpinner,stopSpinner,dataSpinner,paritySpinner,sp_file;
	private boolean isOpen;
	private Handler handler;
	private int retval;
	private MainActivity activity;
	private Button writeButton, openButton, clearButton,bthRefresh,btnBoot;
	private EditText txt_rec;
	private MyBtnClicker myBtnClicker=new MyBtnClicker();
	public byte[] writeBuffer,readBuffer;
	public int actualNumBytes, numBytes,status;
	public byte count;
	public byte writeIndex = 0;
	public byte readIndex = 0;
	public int baudRate;
	public byte stopBit,dataBit,parity,flowControl;
	public boolean isConfiged = false;
	public boolean READ_ENABLE = false;
	public SharedPreferences sharePrefSettings;
	public String act_string,mPath,Str,path;;
	public int totalrecv;
	public byte[] datatosend;    public FileInputStream fs;
	int packet_zheng,packet_yu,packet_send=0; boolean boot=false;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		MyApp.driver = new CH34xUARTDriver(
				(UsbManager) getSystemService(Context.USB_SERVICE), this,
				ACTION_USB_PERMISSION);

		PermissionUtils.verifyStoragePermissions(this);
		mPath = Environment.getExternalStorageDirectory().getAbsolutePath().toString()   "/" "iap" "/";
		File floder=new File(mPath);
		if(!floder.exists())
		{
			floder.mkdirs();
			Log.d(TAG, "onCreate: iap文件夹创建成功");
		}
		else
		{
			Log.d(TAG, "onCreate: iap文件夹已经存在");
		}
		bindID();
		bindListener();
		initUI();
		if (!MyApp.driver.UsbFeatureSupported())// 判断系统是否支持USB HOST
		{
			Dialog dialog = new AlertDialog.Builder(MainActivity.this)
					.setTitle("提示")
					.setMessage("您的手机不支持USB HOST,请更换其他手机再试!")
					.setPositiveButton("确认",
							new DialogInterface.OnClickListener() {

								@Override
								public void onClick(DialogInterface arg0,
										int arg1) {
									System.exit(0);
								}
							}).create();
			dialog.setCanceledOnTouchOutside(false);
			dialog.show();
		}
		getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);// 保持常亮的屏幕的状态
		writeBuffer = new byte[512];
		readBuffer = new byte[512];
		isOpen = false;
//		writeButton.setEnabled(false);
		activity = this;
		handler = new Handler() {

			public void handleMessage(Message msg) {
				readText.setText((String) msg.obj);
//				readText.append((String) msg.obj);
			}
		};
	}
	
	public void onResume() {
		super.onResume();
		if(!MyApp.driver.isConnected()) {
			int retval = MyApp.driver.ResumeUsbPermission();
			if (retval == 0) {
	
			} else if (retval == -2) {
				Toast.makeText(MainActivity.this, "获取权限失败!",
						Toast.LENGTH_SHORT).show();	
			}
		}
	}
	//处理界面
	private void initUI() {
		openButton.setEnabled(true);
		btnBoot.setEnabled(false);
		writeButton.setEnabled(false);
        //--------------------sp_file------------------------------
		sp_file=(Spinner)findViewById(R.id.sp_file);
		refreshSpinner();
        //---------------------baudRate---------------------------
		baudSpinner = (Spinner) findViewById(R.id.baudRateValue);
		ArrayAdapter<CharSequence> baudAdapter = ArrayAdapter
				.createFromResource(this, R.array.baud_rate,
						R.layout.my_spinner_textview);
		baudAdapter.setDropDownViewResource(R.layout.my_spinner_textview);
		baudSpinner.setAdapter(baudAdapter);
		baudSpinner.setGravity(0x10);
		baudSpinner.setSelection(9);
		/* by default it is 115200 */
		baudRate = 115200;
		//-------------------------------------------------------

		/* ---------------------stop bits---------------------- */
		stopSpinner = (Spinner) findViewById(R.id.stopBitValue);
		ArrayAdapter<CharSequence> stopAdapter = ArrayAdapter
				.createFromResource(this, R.array.stop_bits,
						R.layout.my_spinner_textview);
		stopAdapter.setDropDownViewResource(R.layout.my_spinner_textview);
		stopSpinner.setAdapter(stopAdapter);
		stopSpinner.setGravity(0x01);
		/* default is stop bit 1 */
		stopBit = 1;

		/* ----------------------data bits----------------------- */
		dataSpinner = (Spinner) findViewById(R.id.dataBitValue);
		ArrayAdapter<CharSequence> dataAdapter = ArrayAdapter
				.createFromResource(this, R.array.data_bits,
						R.layout.my_spinner_textview);
		dataAdapter.setDropDownViewResource(R.layout.my_spinner_textview);
		dataSpinner.setAdapter(dataAdapter);
		dataSpinner.setGravity(0x11);
		dataSpinner.setSelection(3);
		/* default data bit is 8 bit */
		dataBit = 8;
		/* parity */
		paritySpinner = (Spinner) findViewById(R.id.parityValue);
		ArrayAdapter<CharSequence> parityAdapter = ArrayAdapter
				.createFromResource(this, R.array.parity,
						R.layout.my_spinner_textview);
		parityAdapter.setDropDownViewResource(R.layout.my_spinner_textview);
		paritySpinner.setAdapter(parityAdapter);
		paritySpinner.setGravity(0x11);
		/* default is none */
		parity = 0;
		/* set the adapter listeners for baud */
		baudSpinner.setOnItemSelectedListener(new MyOnBaudSelectedListener());
		/* set the adapter listeners for stop bits */
		stopSpinner.setOnItemSelectedListener(new MyOnStopSelectedListener());
		/* set the adapter listeners for data bits */
		dataSpinner.setOnItemSelectedListener(new MyOnDataSelectedListener());
		/* set the adapter listeners for parity */
		paritySpinner.setOnItemSelectedListener(new MyOnParitySelectedListener());
		return;
	}
	private void refreshSpinner() {
		// 获得指定目录下面的所有文本文件
		ArrayList<File> fileAlllist = FileUtil.getFileList(mPath, new String[]{".bin"});
		if (fileAlllist.size() > 0) {
			fileArray = new String[fileAlllist.size()];
			for (int i = 0; i < fileAlllist.size(); i  ) {
				fileArray[i] = fileAlllist.get(i).getName();
			}
			ArrayAdapter<String> typeAdapter = new ArrayAdapter<String>(this,
					R.layout.item_select, fileArray);
			typeAdapter.setDropDownViewResource(R.layout.item_dropdown);
			sp_file.setPrompt("请选择文本文件");
			sp_file.setAdapter(typeAdapter);
			sp_file.setSelection(0);
			sp_file.setOnItemSelectedListener(new FileSelectedListener());
		} else {
			fileArray = null;
			fileArray = new String[1];
			fileArray[0] = "";
			ArrayAdapter<String> typeAdapter = new ArrayAdapter<String>(this,
					R.layout.item_select, fileArray);
			sp_file.setPrompt(null);
			sp_file.setAdapter(typeAdapter);
			sp_file.setOnItemSelectedListener(null);
		}
	}

	private void bindID(){
//		readText = (EditText) findViewById(R.id.ReadValues);
		txt_rec=(EditText)findViewById(R.id.txt_rec);
		writeButton = (Button) findViewById(R.id.WriteButton);
		openButton = (Button) findViewById(R.id.open_device);
		clearButton = (Button) findViewById(R.id.clearButton);
		btnBoot=(Button)findViewById(R.id.btn_boot);
		bthRefresh=(Button)findViewById(R.id.btn_refresh);
	}
	private void bindListener(){
		writeButton.setOnClickListener(myBtnClicker);
		openButton.setOnClickListener(myBtnClicker);
		clearButton.setOnClickListener(myBtnClicker);
		btnBoot.setOnClickListener(myBtnClicker);
		bthRefresh.setOnClickListener(myBtnClicker);
	}
	private class MyBtnClicker implements View.OnClickListener{
		@Override
		public void onClick(View view){
			switch (view.getId()){
				case R.id.open_device:
				{
					//打开流程主要步骤为ResumeUsbList,UartInit
					if (!isOpen) {
						retval = MyApp.driver.ResumeUsbList();
						if (retval == -1)// ResumeUsbList方法用于枚举CH34X设备以及打开相关设备
						{
							Toast.makeText(MainActivity.this, "打开设备失败!",
									Toast.LENGTH_SHORT).show();
							MyApp.driver.CloseDevice();
						} else if (retval == 0){
							if (!MyApp.driver.UartInit()) {//对串口设备进行初始化操作
								Toast.makeText(MainActivity.this, "设备初始化失败!",
										Toast.LENGTH_SHORT).show();
								Toast.makeText(MainActivity.this, "打开"  
												"设备失败!",
										Toast.LENGTH_SHORT).show();
								return;
							}
							Toast.makeText(MainActivity.this, "打开设备成功!",
									Toast.LENGTH_SHORT).show();
							MyApp.driver.SetConfig(baudRate, dataBit, stopBit, parity,//配置串口波特率,函数说明可参照编程手册
									flowControl);
							isOpen = true;
							openButton.setText("Close");
							btnBoot.setEnabled(true);
							new readThread().start();//开启读线程读取串口接收的数据
						} else {
							AlertDialog.Builder builder = new AlertDialog.Builder(activity);
							builder.setIcon(R.drawable.icon);
							builder.setTitle("未授权限");
							builder.setMessage("确认退出吗?");
							builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {

								@Override
								public void onClick(DialogInterface dialog, int which) {
									// TODO Auto-generated method stub
									System.exit(0);
								}
							});
							builder.setNegativeButton("返回", new DialogInterface.OnClickListener() {

								@Override
								public void onClick(DialogInterface dialog, int which) {
									// TODO Auto-generated method stub
								}
							});
							builder.show();
						}
					} else {
						openButton.setText("Open");
						writeButton.setEnabled(false);
						btnBoot.setEnabled(false);
						isOpen = false;
						try {
							Thread.sleep(200);
						} catch (InterruptedException e) {
							// TODO Auto-generated catch block
							e.printStackTrace();
						}
						MyApp.driver.CloseDevice();
						totalrecv = 0;
					}
				}
				break;
				case  R.id.btn_clear:
				{
					totalrecv = 0;
					readText.setText("");
				}
				break;
				case R.id.WriteButton:
				{
					try {
						txt_rec.setText("");
						fs = new FileInputStream(path);
						Str="文件共" String.valueOf(fs.available()) "字节" "\n";
						packet_send=0;
						refreshLogView(Str);
						datatosend=new byte[3];
						datatosend[0]=(byte)0x44; datatosend[1]=(byte)0x4d;
						datatosend[2]=(byte)0x46;
						int retval = MyApp.driver.WriteData(datatosend, datatosend.length);
						if (retval < 0)
							Toast.makeText(MainActivity.this, "写失败!",
									Toast.LENGTH_SHORT).show();
					}
					catch (IOException e)
					{
						e.printStackTrace();
					}
				}
				break;
				case R.id.btn_boot:
				{
					datatosend=new byte[7];
					datatosend[0]=(byte)0xe1; datatosend[1]=(byte)0xe2; datatosend[2]=(byte)0xe3;
					datatosend[3]=(byte)0x1e; datatosend[4]=(byte)0x2e; datatosend[5]=(byte)0x0d;
					datatosend[6]=(byte)0x0a;
					int retval = MyApp.driver.WriteData(datatosend, datatosend.length);
					if (retval < 0)
						Toast.makeText(MainActivity.this, "写失败!",
								Toast.LENGTH_SHORT).show();
				}
				break;
			}
		}
	}
	private String[] fileArray;
	class FileSelectedListener implements AdapterView.OnItemSelectedListener {
		public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
			path = mPath   fileArray[arg2];
		}
		public void onNothingSelected(AdapterView<?> arg0) {
		}
	}

	public class MyOnBaudSelectedListener implements OnItemSelectedListener {

		@Override
		public void onItemSelected(AdapterView<?> parent, View view,
				int position, long id) {
			baudRate = Integer.parseInt(parent.getItemAtPosition(position)
					.toString());
		}

		@Override
		public void onNothingSelected(AdapterView<?> parent) {

		}
	}

	public class MyOnStopSelectedListener implements OnItemSelectedListener {

		@Override
		public void onItemSelected(AdapterView<?> parent, View view,
				int position, long id) {
			stopBit = (byte) Integer.parseInt(parent
					.getItemAtPosition(position).toString());
		}

		@Override
		public void onNothingSelected(AdapterView<?> parent) {

		}

	}

	public class MyOnDataSelectedListener implements OnItemSelectedListener {

		@Override
		public void onItemSelected(AdapterView<?> parent, View view,
				int position, long id) {
			dataBit = (byte) Integer.parseInt(parent
					.getItemAtPosition(position).toString());
		}

		@Override
		public void onNothingSelected(AdapterView<?> parent) {

		}

	}

	public class MyOnParitySelectedListener implements OnItemSelectedListener {

		@Override
		public void onItemSelected(AdapterView<?> parent, View view,
				int position, long id) {
			String parityString = new String(parent.getItemAtPosition(position)
					.toString());
			if (parityString.compareTo("None") == 0) {
				parity = 0;
			}

			if (parityString.compareTo("Odd") == 0) {
				parity = 1;
			}

			if (parityString.compareTo("Even") == 0) {
				parity = 2;
			}

			if (parityString.compareTo("Mark") == 0) {
				parity = 3;
			}

			if (parityString.compareTo("Space") == 0) {
				parity = 4;
			}
		}

		@Override
		public void onNothingSelected(AdapterView<?> parent) {

		}
	}

	public class MyOnFlowSelectedListener implements OnItemSelectedListener {

		@Override
		public void onItemSelected(AdapterView<?> parent, View view,
				int position, long id) {
			String flowString = new String(parent.getItemAtPosition(position)
					.toString());
			if (flowString.compareTo("None") == 0) {
				flowControl = 0;
			}

			if (flowString.compareTo("CTS/RTS") == 0) {
				flowControl = 1;
			}
		}

		@Override
		public void onNothingSelected(AdapterView<?> parent) {

		}

	}

	private class readThread extends Thread {

		public void run() {

			byte[] buffer = new byte[4096];
			
			while (true) {
				
				Message msg = Message.obtain();
				if (!isOpen) {
					break;
				}
				int length = MyApp.driver.ReadData(buffer, 4096);
				if (length > 0) {
					totalrecv  = length;
					String recv = String.valueOf(totalrecv); 
					msg.obj = recv;
					handler.sendMessage(msg);
				}
			}
		}
	}
资源下载此资源下载价格为3D币(VIP免费),请先
资源文件列表
CH34xUARTDemo/.gradle/4.4.1/fileChanges/last-build.bin , 1
CH34xUARTDemo/.gradle/4.4.1/fileContent/fileContent.lock , 17
CH34xUARTDemo/.gradle/4.4.1/fileHashes/fileHashes.bin , 31297
CH34xUARTDemo/.gradle/4.4.1/fileHashes/fileHashes.lock , 17
CH34xUARTDemo/.gradle/4.4.1/fileHashes/resourceHashesCache.bin , 19211
CH34xUARTDemo/.gradle/4.4.1/javaCompile/classAnalysis.bin , 798586
CH34xUARTDemo/.gradle/4.4.1/javaCompile/jarAnalysis.bin , 349056
CH34xUARTDemo/.gradle/4.4.1/javaCompile/javaCompile.lock , 17
CH34xUARTDemo/.gradle/4.4.1/javaCompile/taskHistory.bin , 42921
CH34xUARTDemo/.gradle/4.4.1/javaCompile/taskJars.bin , 20134
CH34xUARTDemo/.gradle/4.4.1/taskHistory/taskHistory.bin , 203276
CH34xUARTDemo/.gradle/4.4.1/taskHistory/taskHistory.lock , 17
CH34xUARTDemo/.gradle/buildOutputCleanup/buildOutputCleanup.lock , 17
CH34xUARTDemo/.gradle/buildOutputCleanup/cache.properties , 53
CH34xUARTDemo/.gradle/buildOutputCleanup/outputFiles.bin , 20423
CH34xUARTDemo/.idea/caches/build_file_checksums.ser , 555
CH34xUARTDemo/.idea/codeStyles/Project.xml , 1803
CH34xUARTDemo/.idea/encodings.xml , 869
CH34xUARTDemo/.idea/gradle.xml , 636
CH34xUARTDemo/.idea/libraries/Gradle__com_android_support_support_annotations_25_1_1_jar.xml , 617
CH34xUARTDemo/.idea/libraries/Gradle__com_android_support_support_compat_25_1_1.xml , 700
CH34xUARTDemo/.idea/libraries/Gradle__com_android_support_support_core_ui_25_1_1.xml , 705
CH34xUARTDemo/.idea/libraries/Gradle__com_android_support_support_core_utils_25_1_1.xml , 720
CH34xUARTDemo/.idea/libraries/Gradle__com_android_support_support_fragment_25_1_1.xml , 710
CH34xUARTDemo/.idea/libraries/Gradle__com_android_support_support_media_compat_25_1_1.xml , 730
CH34xUARTDemo/.idea/libraries/Gradle__com_android_support_support_v4_25_1_1.xml , 480
CH34xUARTDemo/.idea/libraries/Gradle____local_aars___C__Users_Administrator_AndroidStudioProjects_CH341SER_ANDROID_Demo_CH34xUARTDemo_CH34xUARTDemo_libs_CH34xUARTDriver_jar_unspecified_jar.xml , 386
CH34xUARTDemo/.idea/misc.xml , 1711
CH34xUARTDemo/.idea/modules.xml , 431
CH34xUARTDemo/.idea/runConfigurations.xml , 564
CH34xUARTDemo/.idea/workspace.xml , 233891
CH34xUARTDemo/build.gradle , 352
CH34xUARTDemo/CH34xUARTDemo/build/generated/source/buildConfig/debug/cn/wch/ch34xuartdemo/BuildConfig.java , 448
CH34xUARTDemo/CH34xUARTDemo/build/generated/source/r/debug/android/support/compat/R.java , 252
CH34xUARTDemo/CH34xUARTDemo/build/generated/source/r/debug/android/support/coreui/R.java , 252
CH34xUARTDemo/CH34xUARTDemo/build/generated/source/r/debug/android/support/coreutils/R.java , 255
CH34xUARTDemo/CH34xUARTDemo/build/generated/source/r/debug/android/support/fragment/R.java , 254
CH34xUARTDemo/CH34xUARTDemo/build/generated/source/r/debug/android/support/mediacompat/R.java , 257
CH34xUARTDemo/CH34xUARTDemo/build/generated/source/r/debug/android/support/v4/R.java , 248
CH34xUARTDemo/CH34xUARTDemo/build/generated/source/r/debug/cn/wch/ch34xuartdemo/R.java , 3151
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/blame/res/debug/multi-v2/debug.json , 6839
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/blame/res/debug/multi-v2/values-sw720dp-land-v13.json , 1099
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/blame/res/debug/multi-v2/values-v11.json , 1146
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/blame/res/debug/multi-v2/values-v14.json , 1146
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/blame/res/debug/multi-v2/values.json , 3598
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/blame/res/debug/single/debug.json , 4158
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/classes/debug/android/support/compat/R.class , 274
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/classes/debug/android/support/coreui/R.class , 274
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/classes/debug/android/support/coreutils/R.class , 280
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/classes/debug/android/support/fragment/R.class , 278
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/classes/debug/android/support/mediacompat/R.class , 284
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/classes/debug/android/support/v4/R.class , 266
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/classes/debug/cn/wch/ch34xuartdemo/BuildConfig.class , 717
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/classes/debug/cn/wch/ch34xuartdemo/R$array.class , 534
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/classes/debug/cn/wch/ch34xuartdemo/R$dimen.class , 467
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/classes/debug/cn/wch/ch34xuartdemo/R$drawable.class , 479
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/classes/debug/cn/wch/ch34xuartdemo/R$id.class , 963
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/classes/debug/cn/wch/ch34xuartdemo/R$layout.class , 515
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/classes/debug/cn/wch/ch34xuartdemo/R$string.class , 886
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/classes/debug/cn/wch/ch34xuartdemo/R$style.class , 437
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/classes/debug/cn/wch/ch34xuartdemo/R$xml.class , 400
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/classes/debug/cn/wch/ch34xuartdemo/R.class , 693
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/classes/debug/cn/wch/ch34xuartdriver/MainActivity$1.class , 930
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/classes/debug/cn/wch/ch34xuartdriver/MainActivity$2.class , 990
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/classes/debug/cn/wch/ch34xuartdriver/MainActivity$FileSelectedListener.class , 1617
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/classes/debug/cn/wch/ch34xuartdriver/MainActivity$MyBtnClicker$1.class , 1051
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/classes/debug/cn/wch/ch34xuartdriver/MainActivity$MyBtnClicker$2.class , 997
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/classes/debug/cn/wch/ch34xuartdriver/MainActivity$MyBtnClicker.class , 5521
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/classes/debug/cn/wch/ch34xuartdriver/MainActivity$MyOnBaudSelectedListener.class , 1521
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/classes/debug/cn/wch/ch34xuartdriver/MainActivity$MyOnDataSelectedListener.class , 1525
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/classes/debug/cn/wch/ch34xuartdriver/MainActivity$MyOnFlowSelectedListener.class , 1710
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/classes/debug/cn/wch/ch34xuartdriver/MainActivity$MyOnParitySelectedListener.class , 1821
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/classes/debug/cn/wch/ch34xuartdriver/MainActivity$MyOnStopSelectedListener.class , 1525
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/classes/debug/cn/wch/ch34xuartdriver/MainActivity$readThread.class , 1756
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/classes/debug/cn/wch/ch34xuartdriver/MainActivity.class , 16115
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/classes/debug/cn/wch/ch34xuartdriver/MyApp.class , 353
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/classes/debug/cn/wch/ch34xuartdriver/utils/FileUtil$1.class , 1662
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/classes/debug/cn/wch/ch34xuartdriver/utils/FileUtil.class , 4090
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/classes/debug/cn/wch/ch34xuartdriver/utils/PermissionUtils.class , 1159
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/incremental/compileDebugAidl/dependency.store , 5
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/incremental/debug-mergeJavaRes/merge-state , 1737
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/0ThYMohLpJ2e5oEP9JpEigwOlik= , 167030
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/6H3AmcjYz_iPT0VppR3DwRYizMM= , 104530
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/cvJ7kt9aZfGn5bhnrrUiAlw5YcE= , 22926
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/GEBC+UzJbMkNhtseCgjSY5IXCmI= , 301405
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/P34Pa6RExvmnKh04bua236DF9Z0= , 768887
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/ry6Ce+G_0W8h6qSAZxj_bv9rohg= , 589
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/XRXZnU1E+DVbl46C+2COPihquQ8= , 263858
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/_QCuCMAKDJd0FjP+SYyru3LMiEg= , 7534
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/incremental/debug-mergeJniLibs/merge-state , 1737
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/incremental/debug-mergeJniLibs/zip-cache/0ThYMohLpJ2e5oEP9JpEigwOlik= , 167030
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/incremental/debug-mergeJniLibs/zip-cache/6H3AmcjYz_iPT0VppR3DwRYizMM= , 104530
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/incremental/debug-mergeJniLibs/zip-cache/cvJ7kt9aZfGn5bhnrrUiAlw5YcE= , 22926
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/incremental/debug-mergeJniLibs/zip-cache/GEBC+UzJbMkNhtseCgjSY5IXCmI= , 301405
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/incremental/debug-mergeJniLibs/zip-cache/P34Pa6RExvmnKh04bua236DF9Z0= , 768887
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/incremental/debug-mergeJniLibs/zip-cache/ry6Ce+G_0W8h6qSAZxj_bv9rohg= , 589
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/incremental/debug-mergeJniLibs/zip-cache/XRXZnU1E+DVbl46C+2COPihquQ8= , 263858
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/incremental/debug-mergeJniLibs/zip-cache/_QCuCMAKDJd0FjP+SYyru3LMiEg= , 7534
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/incremental/mergeDebugAssets/merger.xml , 538
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml , 392
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/incremental/mergeDebugResources/compile-file-map.properties , 3626
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/incremental/mergeDebugResources/merger.xml , 6844
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/incremental/mergeDebugShaders/merger.xml , 392
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/incremental/packageDebug/tmp/debug/dex-renamer-state.txt , 240
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/Ecmb3bqEy3FrUqTjT+nFzd_PqPM= , 63552
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/javaPrecompile/debug/annotationProcessors.json , 2
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/manifests/density/debug/output.json , 2
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/manifests/full/debug/AndroidManifest.xml , 1956
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/manifests/full/debug/output.json , 322
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/manifests/instant-run/debug/output.json , 334
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/res/debug/output.json , 319
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/res/debug/resources-debug.ap_ , 63552
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/res/merged/debug/drawable-hdpi_button_pattern.xml.flat , 2548
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/res/merged/debug/drawable-hdpi_icon.png.flat , 4249
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/res/merged/debug/drawable-hdpi_ic_launcher.png.flat , 7902
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/res/merged/debug/drawable-mdpi_ic_launcher.png.flat , 4021
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/res/merged/debug/drawable-xhdpi_ic_launcher.png.flat , 12762
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/res/merged/debug/drawable-xxhdpi_ic_launcher.png.flat , 25021
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/res/merged/debug/layout_item_dropdown.xml.flat , 770
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/res/merged/debug/layout_item_select.xml.flat , 766
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/res/merged/debug/layout_main.xml.flat , 7506
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/res/merged/debug/layout_my_spinner_textview.xml.flat , 706
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/res/merged/debug/values-sw720dp-land-v13_values-sw720dp-land-v13.arsc.flat , 403
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/res/merged/debug/values-v11_values-v11.arsc.flat , 398
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/res/merged/debug/values-v14_values-v14.arsc.flat , 413
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/res/merged/debug/values_values.arsc.flat , 3583
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/res/merged/debug/xml_device_filter.xml.flat , 750
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/res/symbol-table-with-package/debug/package-aware-r.txt , 1621
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/splits-support/debug/apk-list/apk-list.gson , 158
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/splits-support/debug/split-list/split-list.gson , 149
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/symbols/debug/R.txt , 1600
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/transforms/dexBuilder/debug/1.jar , 2980
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/transforms/dexBuilder/debug/10.jar , 928
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/transforms/dexBuilder/debug/11.jar , 113676
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/transforms/dexBuilder/debug/12.jar , 47224
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/transforms/dexBuilder/debug/13.jar , 55896
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/transforms/dexBuilder/debug/14.jar , 95132
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/transforms/dexBuilder/debug/15.jar , 91564
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/transforms/dexBuilder/debug/16.jar , 104660
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/transforms/dexBuilder/debug/17.jar , 37552
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/transforms/dexBuilder/debug/18.jar , 51840
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/transforms/dexBuilder/debug/19.jar , 32932
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/transforms/dexBuilder/debug/2.jar , 10176
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/transforms/dexBuilder/debug/20.jar , 49748
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/transforms/dexBuilder/debug/21.jar , 105068
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/transforms/dexBuilder/debug/22.jar , 136152
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/transforms/dexBuilder/debug/23.jar , 279384
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/transforms/dexBuilder/debug/24.jar , 245840
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/transforms/dexBuilder/debug/25.jar , 240280
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/transforms/dexBuilder/debug/26.jar , 4456
CH34xUARTDemo/CH34xUARTDemo/build/intermediates/transforms/dexBuilder/debug/27.jar , 4068
最多只能显示150条信息!
没有账号? 忘记密码?

社交账号快速登录