Skip to content

Commit 280db40

Browse files
committed
优化代码添加maven插件
1 parent dbb86c3 commit 280db40

File tree

24 files changed

+941
-284
lines changed

24 files changed

+941
-284
lines changed

app/src/main/AndroidManifest.xml

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,10 @@
122122
android:theme="@style/AppTheme">
123123
<!--启动页-->
124124
<activity
125-
android:name=".StartPageAty"
125+
android:name="com.ichtj.basetools.StartPageAty"
126126
android:screenOrientation="user"
127+
android:enabled="true"
128+
android:exported="true"
127129
android:theme="@style/SplashTheme">
128130
<intent-filter>
129131
<!-- <action android:name="android.intent.action.MAIN" />
@@ -137,13 +139,15 @@
137139
</activity>
138140
<!--功能选择-->
139141
<activity
140-
android:name=".MainActivity"
142+
android:name="com.ichtj.basetools.MainActivity"
141143
android:configChanges="orientation|screenSize|keyboardHidden|keyboard|screenLayout"
142144
android:enabled="true"
143145
android:exported="true"
144146
android:launchMode="singleTop"
145147
android:screenOrientation="user"
146-
android:theme="@style/AppTheme"></activity>
148+
android:theme="@style/AppTheme">
149+
150+
</activity>
147151
<!--后台服务-->
148152
<!--串口相关-->
149153
<activity
@@ -289,12 +293,13 @@
289293
android:theme="@style/Theme.AppCompat.NoActionBar" />
290294

291295
<activity
292-
android:name=".test.TestAty"
296+
android:name="com.ichtj.basetools.test.TestAty"
293297
android:enabled="true"
294298
android:exported="true"
295299
android:launchMode="singleTop"
296300
android:screenOrientation="user"
297-
android:theme="@style/AppTheme" />
301+
android:theme="@style/AppTheme">
302+
</activity>
298303
<!--蓝牙测试-->
299304
<activity
300305
android:name=".bluetooth.BlueToothAty"

app/src/main/cpp/Android.mk

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,11 @@ LOCAL_SRC_FILES += hid_gadget_test.c
66
LOCAL_CPPFLAGS := -std=c++14
77
LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog -lm -lz
88
include $(BUILD_SHARED_LIBRARY)
9+
10+
include $(CLEAR_VARS)
11+
LOCAL_MODULE := crashtest
12+
LOCAL_SRC_FILES += crashtest.cpp
13+
# 添加 C++ 标志和链接库
14+
LOCAL_CPPFLAGS := -std=c++14
15+
LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog -lm -lz
16+
include $(BUILD_SHARED_LIBRARY)

app/src/main/java/com/ichtj/basetools/MainActivity.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
package com.ichtj.basetools;
22

3+
import android.app.PendingIntent;
34
import android.content.Intent;
5+
import android.content.pm.PackageInstaller;
6+
import android.content.pm.PackageManager;
47
import android.net.Uri;
58
import android.os.Bundle;
69
import android.os.Environment;
@@ -26,7 +29,6 @@
2629
import com.face_chtj.base_iotutils.DeviceUtils;
2730
import com.face_chtj.base_iotutils.DisplayUtils;
2831
import com.face_chtj.base_iotutils.FileDialogSelectUtils;
29-
import com.face_chtj.base_iotutils.FileUtils;
3032
import com.face_chtj.base_iotutils.GlobalDialogUtils;
3133
import com.face_chtj.base_iotutils.KLog;
3234
import com.face_chtj.base_iotutils.NetUtils;
@@ -39,7 +41,6 @@
3941
import com.face_chtj.base_iotutils.UriPathUtils;
4042
import com.face_chtj.base_iotutils.callback.IDismissListener;
4143
import com.face_chtj.base_iotutils.code.CodeUtils;
42-
import com.face_chtj.base_iotutils.entity.FileEntity;
4344
import com.face_chtj.base_iotutils.view.OnPopupItemClickListener;
4445
import com.ichtj.basetools.allapp.AllAppAty;
4546
import com.ichtj.basetools.anr.AnrTestAty;
@@ -49,7 +50,6 @@
4950
import com.ichtj.basetools.callback.IUsbHubListener;
5051
import com.ichtj.basetools.camera.CameraRecordingAty;
5152
import com.ichtj.basetools.crash.CrashTools;
52-
import com.ichtj.basetools.crash.MyService;
5353
import com.ichtj.basetools.dialog.DialogAty;
5454
import com.ichtj.basetools.download.FileDownLoadAty;
5555
import com.ichtj.basetools.entity.ExcelEntity;
@@ -66,6 +66,7 @@
6666
import com.ichtj.basetools.serialport.SerialPortAty;
6767
import com.ichtj.basetools.sign.ApkSignSearchAty;
6868
import com.ichtj.basetools.socket.SocketAty;
69+
import com.ichtj.basetools.test.TestAty;
6970
import com.ichtj.basetools.timer.TimerAty;
7071
import com.ichtj.basetools.touch.TouchDetectAty;
7172
import com.face_chtj.base_iotutils.view.PopupWindowTools;
@@ -85,6 +86,8 @@
8586

8687
import java.io.File;
8788
import java.io.InputStream;
89+
import java.io.OutputStream;
90+
import java.nio.file.Files;
8891
import java.util.ArrayList;
8992
import java.util.Arrays;
9093
import java.util.HashMap;
@@ -175,11 +178,13 @@ public Map<Integer, String> getDisplayBtn() {
175178
btnList.put (FKey.KEY_FILE_SELECT, getString(R.string.main_file_dialog_select));
176179
btnList.put (FKey.KEY_LOADDING_DIALOG, getString(R.string.main_loading_animation));
177180
btnList.put (FKey.KEY_CAMERA_RECORD, getString(R.string.main_camera_recording));
181+
btnList.put (FKey.KEY_TEST_SAMPLE, "测试页面");
178182
return btnList;
179183
}
180184

181185
@Override
182186
public void onButtonClick(int position, String buttonText) {
187+
Log.d (TAG, "onButtonClick: ichtj>>"+buttonText+",position>>"+position);
183188
switch (position) {
184189
case FKey.KEY_NOTIFY_SHOW:
185190
//获取系统中是否已经通过 允许通知的权限
@@ -247,6 +252,7 @@ public void run() {
247252
@Override
248253
public void deviceInfo(String action, String path, boolean isConn) {
249254
ToastUtils.info ("path:" + path + ",isConn=" + isConn);
255+
Log.d(TAG, "deviceInfo: action="+action+",path:" + path + ",isConn=" + isConn);
250256
}
251257
});
252258
break;
@@ -511,6 +517,9 @@ public void run() {
511517
case FKey.KEY_CAMERA_RECORD:
512518
startAty(CameraRecordingAty.class);
513519
break;
520+
case FKey.KEY_TEST_SAMPLE:
521+
startAty(TestAty.class);
522+
break;
514523
}
515524
}
516525

app/src/main/java/com/ichtj/basetools/file/FileOperatAty.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public class FileOperatAty extends BaseActivity implements View.OnClickListener
2727
TextView tvResult;
2828
CheckBox cbCover;
2929
//文件路径
30-
private String filePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/test.txt";
30+
private final String filePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/test.txt";
3131

3232
@Override
3333
protected void onCreate(@Nullable Bundle savedInstanceState) {

app/src/main/java/com/ichtj/basetools/serialport/SerialPortAty.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -142,12 +142,12 @@ private void handleSerialPortInit(int position, Button btnInit, Spinner spCom, S
142142

143143
private void handleSerialPortSend(int position, EditText etCommand, EditText etAuto, CheckBox cbMs, SerialPort serialPort) {
144144
if ((position == 0 && !isRun) || (position == 1 && !isRun2)) {
145-
ToastUtils.error("请开启串口");
145+
ToastUtils.error(getString(R.string.serialport_please_open));
146146
return;
147147
}
148148
String autoMs = etAuto.getText().toString();
149149
if (TextUtils.isEmpty(autoMs) && cbMs.isChecked()) {
150-
ToastUtils.error("请填写正确的毫秒数!");
150+
ToastUtils.error(getString(R.string.please_input_millisecond));
151151
return;
152152
}
153153
handler.post(new Runnable() {
@@ -187,13 +187,13 @@ private void initOpenSerial(Button btnInit, Spinner spCom, Spinner spBurate, int
187187
break;
188188
}
189189
KLog.d(TAG, "serialport param com=" + com + ",baudrate=" + baudrate);
190-
ToastUtils.success("开启串口成功!" + (position + 1));
191-
btnInit.setText("关闭串口");
190+
ToastUtils.success(getString(R.string.serialport_open_succ) + (position + 1));
191+
btnInit.setText(R.string.serialport_close);
192192
btnInit.setTextColor(Color.GREEN);
193193
} catch (Exception e) {
194194
Log.e(TAG, "errMeg:", e);
195-
ToastUtils.error("开启串口失败,请查看日志!");
196-
btnInit.setText("开启串口");
195+
ToastUtils.error(getString(R.string.serialport_open_failed));
196+
btnInit.setText(getString (R.string.serialport_open));
197197
btnInit.setTextColor(Color.BLACK);
198198
if (position == 0) {
199199
isRun = false;
@@ -208,19 +208,19 @@ private void closeSerial(int position) {
208208
case 0:
209209
serialOne.close();
210210
isRun = false;
211-
btnInit.setText("开启串口");
211+
btnInit.setText(getString (R.string.serialport_open));
212212
btnInit.setTextColor(Color.BLACK);
213213
customSerialOne.interrupt();
214214
break;
215215
case 1:
216216
serialTwo.close();
217217
isRun2 = false;
218-
btnInit2.setText("开启串口");
218+
btnInit2.setText(getString (R.string.serialport_open));
219219
btnInit2.setTextColor(Color.BLACK);
220220
customSerialTwo.interrupt();
221221
break;
222222
}
223-
ToastUtils.info("串口关闭!" + (position + 1));
223+
ToastUtils.info(getString(R.string.serialport_closed) + (position + 1));
224224
}
225225

226226
@Override

app/src/main/java/com/ichtj/basetools/test/TestAty.java

Lines changed: 48 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -2,145 +2,85 @@
22

33
import android.content.Context;
44
import android.content.Intent;
5+
import android.graphics.Color;
56
import android.os.Bundle;
7+
import android.os.Handler;
68
import android.util.Log;
9+
import android.view.View;
10+
import android.widget.TextView;
711

812
import androidx.annotation.Nullable;
913

1014
import com.alibaba.android.arouter.facade.annotation.Route;
15+
import com.face_chtj.base_iotutils.LogView;
1116
import com.ichtj.basetools.R;
1217
import com.ichtj.basetools.StartPageAty;
1318
import com.ichtj.basetools.base.BaseActivity;
1419
import com.ichtj.basetools.util.AppManager;
1520
import com.ichtj.basetools.util.PACKAGES;
16-
17-
import java.io.BufferedReader;
18-
import java.io.BufferedWriter;
19-
import java.io.File;
20-
import java.io.FileReader;
21-
import java.io.FileWriter;
22-
import java.io.IOException;
23-
import java.io.RandomAccessFile;
2421
import java.util.ArrayList;
2522
import java.util.List;
2623

2724
@Route(path = PACKAGES.BASE + "testDemo")
2825
public class TestAty extends BaseActivity {
2926
private static final String TAG = TestAty.class.getSimpleName();
30-
private static final String CONFIG_PATH = "/data/misc/package.conf";
27+
int count=0;
28+
TextView tvCount;
29+
LogView logView;
30+
Handler handler=new Handler ( );
31+
3132
@Override
3233
protected void onCreate(@Nullable Bundle savedInstanceState) {
3334
super.onCreate(savedInstanceState);
3435
setContentView(R.layout.activity_test);
3536
AppManager.finishActivity(StartPageAty.class);
36-
Log.d(TAG, "onCreate list>>: "+readAllPackages());
37-
// Log.d(TAG, "onCreate: add>>:"+addPackage("com.test.demo1"));
38-
// Log.d(TAG, "onCreate: add>>:"+addPackage("com.test.demo2"));
39-
// Log.d(TAG, "onCreate: add>>:"+addPackage("com.test.demo3"));
40-
// Log.d(TAG, "onCreate: add>>:"+addPackage("com.test.demo4"));
41-
// Log.d(TAG, "onCreate: add>>:"+addPackage("com.test.demo5"));
42-
// Log.d(TAG, "onCreate: add>>:"+addPackage("com.test.demo6"));
43-
// Log.d(TAG, "onCreate: add>>:"+addPackage("com.test.demo7"));
44-
// Log.d(TAG, "onCreate: add>>:"+addPackage("com.test.demo8"));
45-
// Log.d(TAG, "onCreate: remove>>:"+removePackage("com.test.dddd1"));
46-
// Log.d(TAG, "onCreate: remove>>:"+removePackage("com.test.demo3"));
47-
// Log.d(TAG, "onCreate: remove>>:"+removePackage("com.test.demo8"));
48-
// toggleStatusBar(false);
37+
logView = findViewById(R.id.logView);
38+
tvCount = findViewById(R.id.tvCount);
39+
40+
// 设置初始日志
41+
List<String> defaults = new ArrayList<>();
42+
defaults.add("系统启动...");
43+
defaults.add("网络连接中...");
44+
defaults.add("初始化完成。");
45+
logView.setInitialLogs(defaults);
46+
47+
48+
49+
// 修改配置(运行时)
50+
logView.setTextColor(Color.BLACK);
51+
logView.setTextSize(16);
52+
logView.setAutoScroll(true);
53+
logView.setDebugLogEnabled(false);
4954
sendKeepAliveBroadcast(this,"com.android.settings",false);
5055
}
5156

5257

53-
public static void sendKeepAliveBroadcast(Context context, String packageName, boolean enable) {
54-
Intent intent = new Intent("com.android.control.keepalive");
55-
intent.putExtra("packageName", packageName);
56-
intent.putExtra("enable", enable);//enable true开启 false关闭
57-
context.sendBroadcast(intent);
58+
public void onStartClick(View view){
59+
handler.postDelayed (runnable,1000);
5860
}
59-
60-
public void toggleStatusBar(boolean show) {
61-
Intent intent;
62-
if (show) {
63-
intent = new Intent("com.android.intent.showbar");
64-
} else {
65-
intent = new Intent("com.android.intent.hidebar");
61+
Runnable runnable=new Runnable ( ) {
62+
@Override
63+
public void run() {
64+
// 后续追加日志
65+
logView.appendLog("收到服务器心跳包>>>"+count);
66+
Log.d (TAG, "run: "+count);
67+
count++;
68+
// 实时监控内存状态
69+
Log.d(TAG, "日志总数: " + logView.getLogCount()+",缓冲区: " + logView.getBufferSize()+",低内存模式: " + logView.isLowMemoryMode());
70+
tvCount.setText ("count: "+count);
71+
handler.postDelayed (this,10);
6672
}
67-
sendBroadcast(intent);
68-
}
73+
};
6974

70-
// 添加一个包名到配置文件中(如果不存在)
71-
public static boolean addPackage(String packageName) {
72-
try {
73-
List<String> packages = readAllPackages();
74-
for (String pkg : packages) {
75-
if (pkg.trim().equals(packageName.trim())) {
76-
return false; // 已存在
77-
}
78-
}
79-
File file = new File(CONFIG_PATH);
80-
boolean needsNewline = false;
81-
// 检查是否需要加换行符
82-
if (file.exists() && file.length() > 0) {
83-
try (RandomAccessFile raf = new RandomAccessFile(file, "r")) {
84-
raf.seek(file.length() - 1);
85-
byte lastByte = raf.readByte();
86-
if (lastByte != '\n') {
87-
needsNewline = true;
88-
}
89-
}
90-
}
91-
try (FileWriter fw = new FileWriter(file, true)) {
92-
if (needsNewline) {
93-
fw.write("\n");
94-
}
95-
fw.write(packageName.trim() + "\n");
96-
return true;
97-
}
98-
} catch (IOException e) {
99-
e.printStackTrace();
100-
return false;
101-
}
75+
public void onStopClick(View view){
76+
handler.removeCallbacks (runnable);
10277
}
10378

104-
// 删除配置文件中的一个包名
105-
public static boolean removePackage(String packageName) {
106-
try {
107-
List<String> packages = readAllPackages();
108-
if (!packages.remove(packageName)) {
109-
return false; // 没找到,不删除
110-
}
111-
try (BufferedWriter writer = new BufferedWriter(new FileWriter(CONFIG_PATH, false))) {
112-
for (String pkg : packages) {
113-
writer.write(pkg);
114-
writer.newLine();
115-
}
116-
return true;
117-
}
118-
} catch (IOException e) {
119-
e.printStackTrace();
120-
return false;
121-
}
122-
}
12379

124-
// 读取所有包名(辅助函数)
125-
private static List<String> readAllPackages() {
126-
List<String> result = new ArrayList<>();
127-
File file = new File(CONFIG_PATH);
128-
if (!file.exists()) {
129-
return result;
130-
}
131-
try {
132-
try (BufferedReader br = new BufferedReader(new FileReader(file))) {
133-
String line;
134-
while ((line = br.readLine()) != null) {
135-
line = line.trim();
136-
if (!line.isEmpty()) {
137-
result.add(line);
138-
}
139-
}
140-
}
141-
}catch (Throwable t){
142-
Log.e(TAG, "readAllPackages: ", t);
143-
}
144-
return result;
80+
public static void sendKeepAliveBroadcast(Context context, String packageName, boolean enable) {
81+
Intent intent = new Intent("com.android.control.keepalive");
82+
intent.putExtra("packageName", packageName);
83+
intent.putExtra("enable", enable);//enable true开启 false关闭
84+
context.sendBroadcast(intent);
14585
}
14686
}

0 commit comments

Comments
 (0)