相关疑难解决方法(0)

如何在Android模拟器上获得root访问权限?

我有所有Android SDK版本(从1.5到2.3.3),我尝试了很多方法在Android模拟器中获取root权限.我不使用任何Android设备并在模拟器(AVD)上测试所有内容.

我需要在任何一个Android模拟器中获得root访问权限才能使用'iptables'和'busybox'功能.要使用iptables,我必须具有root访问权限.Atleast'su'命令应该在终端仿真器中执行.

我还安装了z4root应用程序,

但它需要很长时间,并没有完成生根,并陷入困境.有人说如果我们将系统降级到RC30以下,这样我们就可以获得root访问权限.如果这是真的,那怎么办呢?我同时使用Linux和Windows操作系统.

请有人告诉我任何根我的模拟器的方法.

root android-emulator

129
推荐指数
8
解决办法
22万
查看次数

如何强制重启服务?

我有一个后台服务,当内存不足时,它有时会被操作系统杀死.

  1. 如何模拟这种行为,以便我可以调试它?

开发指南简单地说"如果您的服务已启动,那么您必须将其设计为优雅地处理系统重新启动.如果系统终止您的服务,它会在资源再次可用时立即重新启动".

  1. 从被杀死到完成重启的调用顺序是什么?

在一个(相关的)问题上,当服务被操作系统杀死时,在服务中启动的主动运行的AsyncTask会发生什么,即没有service.onDestroy被调用?它是否继续运行或与服务一起静静地撕开?

service android restart low-memory kill-process

16
推荐指数
1
解决办法
1万
查看次数

谁杀了我的服务?

我已经阅读了关于这个主题的每个Stackoverflow答案,但它们都没有奏效.

目标:始终保持我的服务全天候运行

问题:每当我的设备处于睡眠模式一小时或更长时间时,服务就会被终止


我试图解决它:

  • 返回START_STICKYonStartCommand()使用startForeground()

        public int onStartCommand(Intent intent, int flags, int startId) {
    
            notification = makeStickyNotification(); //I've simplified the irrelevant code, obviously this would be a real notification I build
    
            startForeground(1234, notification);
            return START_STICKY;
            }
    
    Run Code Online (Sandbox Code Playgroud)

这样工作正常,它甚至可以在设备内存不足时重新启动我的服务,但这还不足以解决我的设备暂停一段时间后出现的问题.

  • onCreate()我的Activity和onStartCommand()我的服务中使用Alarm Manager 来调用调用我的服务的广播接收器

            Intent ll24 = new Intent(this, AlarmReceiver.class);
    
            PendingIntent recurringLl24 = PendingIntent.getBroadcast(this, 0, ll24, PendingIntent.FLAG_CANCEL_CURRENT);
    
            AlarmManager alarms = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
    
            alarms.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 1000*60, recurringLl24); // Every minute
    
    Run Code Online (Sandbox Code Playgroud)

这有助于保持我的服务活跃,但同样,不能解决我的问题

testing algorithm service android adb

7
推荐指数
2
解决办法
1428
查看次数