hjw
2026-04-28 08a3fefb4e20177a8c1d450dd271927c1ddd1f1e
更新AndroidAPI1.5, 支持非su系统下非systemuid应用进行静默安装/卸载
3 files added
6 files modified
2 files deleted
57 ■■■■■ changed files
app/build.gradle 2 ●●● patch | view | raw | blame | history
app/libs/AndroidAPI-sources.jar patch | view | raw | blame | history
app/libs/AndroidAPI.jar patch | view | raw | blame | history
app/libs/NodkaAPI.jar patch | view | raw | blame | history
app/src/main/java/com/jwipc/nodka_reboot_under/BroadcastReceiver_Boot.java 2 ●●● patch | view | raw | blame | history
app/src/main/java/com/jwipc/nodka_reboot_under/BroadcastReceiver_Sys.java 10 ●●●●● patch | view | raw | blame | history
app/src/main/java/com/jwipc/nodka_reboot_under/MyApplication.java 16 ●●●● patch | view | raw | blame | history
app/src/main/java/com/jwipc/nodka_reboot_under/The_Service.java 8 ●●●● patch | view | raw | blame | history
app/src/main/java/com/jwipc/nodka_reboot_under/utils/Utils.java 19 ●●●● patch | view | raw | blame | history
app/src/main/libs/arm64-v8a/libandroid-jni.so patch | view | raw | blame | history
app/src/main/libs/arm64-v8a/libnodka-jni.so patch | view | raw | blame | history
app/build.gradle
....@@ -39,6 +39,6 @@
3939 dependencies {
4040 implementation 'com.android.support:support-v4:25.+'
4141 implementation files('libs/spirit.jar')
42
- implementation files('libs/NodkaAPI.jar')
42
+ implementation files('libs/AndroidAPI.jar')
4343 compileOnly files('libs/classes-header.jar')
4444 }
app/libs/AndroidAPI-sources.jar
Binary files differ
app/libs/AndroidAPI.jar
Binary files differ
app/libs/NodkaAPI.jar
deleted file mode 100644Binary files differ
app/src/main/java/com/jwipc/nodka_reboot_under/BroadcastReceiver_Boot.java
....@@ -56,7 +56,7 @@
5656 AlarmPowerManager mAlarmPowerManager = new AlarmPowerManager();
5757 mAlarmPowerManager.removeAllalarmPower();
5858 } else {
59
- MyApplication.getApplication().getNodkaAPI().alarm_removeAllalarmPower();
59
+ MyApplication.getApplication().getAndroidAPI().alarm_removeAllalarmPower();
6060 }
6161
6262 mUtils.remove_String_From_SharedPreferences(mUtils.repeat_alarm_poweron_time);
app/src/main/java/com/jwipc/nodka_reboot_under/BroadcastReceiver_Sys.java
....@@ -126,9 +126,8 @@
126126 */
127127 String path = intent.getStringExtra("path");
128128 if (!TextUtils.isEmpty(path)) {
129
- String params = "pm install -r " + path;
130
- String result = mUtils.getRootCmdSilent(params);
131
- Log.i(TAG, "onReceive: PKG_INSTALL, params = " + params + ", result = " + result);
129
+ MyApplication.getApplication().getAndroidAPI().sysctrl_installApplicationLocal(path);
130
+ Log.i(TAG, "onReceive: PKG_INSTALL, path = " + path);
132131 }
133132 } else if (action.equals("com.nodka.action.PKG_UNINSTALL")) {
134133 /**
....@@ -142,9 +141,8 @@
142141 */
143142 String pkgName = intent.getStringExtra("pkgName");
144143 if (!TextUtils.isEmpty(pkgName)) {
145
- String params = "pm uninstall " + pkgName;
146
- String result = mUtils.getRootCmdSilent(params);
147
- Log.i(TAG, "onReceive: PKG_UNINSTALL, params = " + params + ", result = " + result);
144
+ MyApplication.getApplication().getAndroidAPI().sysctrl_uninstallApplicationLocal(pkgName);
145
+ Log.i(TAG, "onReceive: PKG_UNINSTALL, pkgName = " + pkgName);
148146 }
149147 } else if (action.equals("com.nodka.action.BLUETOOTH")) {
150148 /**
app/src/main/java/com/jwipc/nodka_reboot_under/MyApplication.java
....@@ -2,30 +2,30 @@
22
33 import android.app.Application;
44
5
-import com.nodka.api.NodkaAPI;
5
+import com.android.api.AndroidAPI;
66
77 public class MyApplication extends Application {
88
9
- private NodkaAPI mNodkaAPI;
9
+ private AndroidAPI mAndroidAPI;
1010 private static MyApplication mApp;
1111
1212 @Override
1313 public void onCreate() {
1414 super.onCreate();
1515 mApp = this;
16
- createNorcoAPI();
16
+ createAndroidAPI();
1717 }
1818
1919 public static MyApplication getApplication() {
2020 return mApp;
2121 }
2222
23
- private void createNorcoAPI() {
24
- mNodkaAPI = NodkaAPI.nodkaAPICreate(this);
25
- mNodkaAPI.alarm_start();
23
+ private void createAndroidAPI() {
24
+ mAndroidAPI = AndroidAPI.androidAPICreate(this);
25
+ mAndroidAPI.alarm_start();
2626 }
2727
28
- public NodkaAPI getNodkaAPI() {
29
- return mNodkaAPI;
28
+ public AndroidAPI getAndroidAPI() {
29
+ return mAndroidAPI;
3030 }
3131 }
app/src/main/java/com/jwipc/nodka_reboot_under/The_Service.java
....@@ -1,8 +1,8 @@
11 package com.jwipc.nodka_reboot_under;
22
33
4
+import com.android.api.AndroidAPI;
45 import com.jwipc.nodka_reboot_under.utils.Utils;
5
-import com.nodka.api.NodkaAPI;
66
77 import android.app.Service;
88 import android.content.Context;
....@@ -26,7 +26,7 @@
2626
2727 public static final int apk_feed_dog = 1;
2828
29
- private NodkaAPI mNodkaAPI = MyApplication.getApplication().getNodkaAPI();
29
+ private AndroidAPI mAndroidAPI = MyApplication.getApplication().getAndroidAPI();
3030 private Thread gpioThread;
3131 private static boolean gpioRead;
3232
....@@ -56,7 +56,7 @@
5656 }
5757
5858 private void startGpioThread() {
59
- mNodkaAPI.gpio_export(95);
59
+ mAndroidAPI.gpio_export(95);
6060 gpioRead = true;
6161 gpioThread = new Thread(() -> {
6262 while (gpioRead) {
....@@ -70,7 +70,7 @@
7070 }
7171
7272 private boolean isActive() {
73
- return mNodkaAPI.gpio_read(95) == 1;
73
+ return mAndroidAPI.gpio_read(95) == 1;
7474 }
7575
7676 private void keycodePower() {
app/src/main/java/com/jwipc/nodka_reboot_under/utils/Utils.java
....@@ -12,29 +12,18 @@
1212 import java.lang.reflect.Method;
1313 import java.util.ArrayList;
1414 import java.util.Calendar;
15
-import java.util.List;
1615
1716 import android.app.ActivityManager;
1817 import android.content.Context;
19
-import android.content.Intent;
2018 import android.content.SharedPreferences;
2119 import android.content.SharedPreferences.Editor;
22
-import android.hardware.spirit.AlarmPowerItem;
2320 import android.hardware.spirit.AlarmPowerManager;
2421 import android.jwipc.spirit.SpiritAlarmManager;
25
-import android.net.ConnectivityManager;
26
-import android.net.NetworkInfo;
27
-import android.net.NetworkInfo.DetailedState;
2822 import android.os.Build;
2923 import android.os.PowerManager;
30
-import android.os.RemoteException;
3124 import android.text.format.DateFormat;
32
-import android.util.Log;
3325
3426 import com.jwipc.nodka_reboot_under.MyApplication;
35
-import com.nodka.api.NodkaAPI;
36
-import com.nodka.api.NodkaNative;
37
-
3827
3928 public class Utils {
4029
....@@ -258,7 +247,7 @@
258247 new AlarmPowerManager().removeAllalarmPower();
259248 setFileState("0", "/sys/class/minix-rtc/MCURTCDATA");
260249 } else {
261
- MyApplication.getApplication().getNodkaAPI().alarm_removeAllalarmPower();
250
+ MyApplication.getApplication().getAndroidAPI().alarm_removeAllalarmPower();
262251 setFileState("0", "/sys/class/minix-rtc/minix_RTC_DATA");
263252 }
264253
....@@ -274,7 +263,7 @@
274263 new SpiritAlarmManager().setSpiritAlarmWithDay(1, hms_on[0], hms_on[1]);
275264 setFileState("1", "/sys/class/minix-rtc/MCURTCDATA");
276265 } else {
277
- MyApplication.getApplication().getNodkaAPI().alarm_setSpiritAlarmWithDay(1, hms_on[0], hms_on[1]);
266
+ MyApplication.getApplication().getAndroidAPI().alarm_setSpiritAlarmWithDay(1, hms_on[0], hms_on[1]);
278267 setFileState("1", "/sys/class/minix-rtc/minix_RTC_DATA");
279268 }
280269
....@@ -309,7 +298,7 @@
309298
310299 new AlarmPowerManager().updateAlarmPowerActive(0, active+"");
311300 } else {
312
- MyApplication.getApplication().getNodkaAPI().alarm_creatOneAlarmPower(calendar.get(Calendar.YEAR)+"",
301
+ MyApplication.getApplication().getAndroidAPI().alarm_creatOneAlarmPower(calendar.get(Calendar.YEAR)+"",
313302 calendar.get(Calendar.MONTH)+1+"",
314303 calendar.get(Calendar.DAY_OF_MONTH)+"",
315304 hms_on[0]+"",
....@@ -321,7 +310,7 @@
321310 hms_on[0]>12? "0":"1",
322311 hms_off[0]>12? "0":"1");
323312
324
- MyApplication.getApplication().getNodkaAPI().alarm_updateAlarmPowerActive(0, active+"");
313
+ MyApplication.getApplication().getAndroidAPI().alarm_updateAlarmPowerActive(0, active+"");
325314 }
326315 }
327316 }
app/src/main/libs/arm64-v8a/libandroid-jni.so
Binary files differ
app/src/main/libs/arm64-v8a/libnodka-jni.so
deleted file mode 100644Binary files differ