├── res ├── values-v14 │ └── styles.xml ├── values │ ├── styles.xml │ ├── dimens.xml │ └── strings.xml ├── values-v11 │ └── styles.xml ├── drawable-hdpi │ └── ic_launcher.png ├── drawable-mdpi │ └── ic_launcher.png ├── drawable-xhdpi │ └── ic_launcher.png ├── drawable-xxhdpi │ └── ic_launcher.png ├── values-w820dp │ └── dimens.xml └── layout │ └── activity_main.xml ├── lint.xml ├── assets └── daemon ├── bin ├── Daemon.apk ├── classes.dex ├── resources.ap_ ├── classes │ └── com │ │ └── micky │ │ └── daemon │ │ ├── R.class │ │ ├── Daemon.class │ │ ├── R$attr.class │ │ ├── Command.class │ │ ├── Daemon$1.class │ │ ├── R$dimen.class │ │ ├── R$layout.class │ │ ├── R$string.class │ │ ├── BuildConfig.class │ │ ├── R$drawable.class │ │ ├── MainActivity.class │ │ └── service │ │ ├── MsgService.class │ │ ├── DaemonService.class │ │ └── DaemonService$OutputRunnable.class ├── jarlist.cache ├── res │ └── crunch │ │ ├── drawable-hdpi │ │ └── ic_launcher.png │ │ ├── drawable-mdpi │ │ └── ic_launcher.png │ │ ├── drawable-xhdpi │ │ └── ic_launcher.png │ │ └── drawable-xxhdpi │ │ └── ic_launcher.png ├── dexedLibs │ └── android-support-v4-9e837202de2a5dd80f4f9d94669714aa.jar └── AndroidManifest.xml ├── screenshot.png ├── ic_launcher-web.png ├── libs ├── armeabi │ └── daemon └── android-support-v4.jar ├── .settings ├── org.eclipse.core.resources.prefs ├── org.eclipse.jdt.core.prefs └── org.eclipse.cdt.codan.core.prefs ├── obj └── local │ └── armeabi │ ├── daemon │ ├── libDaemon.so │ ├── libcommon.a │ └── objs │ ├── Daemon │ ├── daemon.o │ └── Daemon.o.d │ └── common │ ├── common.o │ └── common.o.d ├── gen └── com │ └── micky │ └── daemon │ ├── BuildConfig.java │ └── R.java ├── README.md ├── .classpath ├── src └── com │ └── micky │ └── daemon │ ├── service │ ├── MsgService.java │ └── DaemonService.java │ ├── MainActivity.java │ ├── Daemon.java │ └── Command.java ├── jni ├── common │ ├── common.h │ ├── log.h │ ├── Android.mk │ └── common.c ├── Application.mk ├── Android.mk └── daemon │ ├── Android.mk │ └── daemon.c ├── project.properties ├── proguard-project.txt ├── AndroidManifest.xml ├── .project └── .cproject /res/values-v14/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /lint.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /res/values-v11/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /assets/daemon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/assets/daemon -------------------------------------------------------------------------------- /bin/Daemon.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/bin/Daemon.apk -------------------------------------------------------------------------------- /bin/classes.dex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/bin/classes.dex -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/screenshot.png -------------------------------------------------------------------------------- /bin/resources.ap_: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/bin/resources.ap_ -------------------------------------------------------------------------------- /ic_launcher-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/ic_launcher-web.png -------------------------------------------------------------------------------- /libs/armeabi/daemon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/libs/armeabi/daemon -------------------------------------------------------------------------------- /.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding/=UTF-8 3 | -------------------------------------------------------------------------------- /obj/local/armeabi/daemon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/obj/local/armeabi/daemon -------------------------------------------------------------------------------- /libs/android-support-v4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/libs/android-support-v4.jar -------------------------------------------------------------------------------- /obj/local/armeabi/libDaemon.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/obj/local/armeabi/libDaemon.so -------------------------------------------------------------------------------- /obj/local/armeabi/libcommon.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/obj/local/armeabi/libcommon.a -------------------------------------------------------------------------------- /res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /bin/classes/com/micky/daemon/R.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/bin/classes/com/micky/daemon/R.class -------------------------------------------------------------------------------- /res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /obj/local/armeabi/objs/Daemon/daemon.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/obj/local/armeabi/objs/Daemon/daemon.o -------------------------------------------------------------------------------- /obj/local/armeabi/objs/common/common.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/obj/local/armeabi/objs/common/common.o -------------------------------------------------------------------------------- /bin/classes/com/micky/daemon/Daemon.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/bin/classes/com/micky/daemon/Daemon.class -------------------------------------------------------------------------------- /bin/classes/com/micky/daemon/R$attr.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/bin/classes/com/micky/daemon/R$attr.class -------------------------------------------------------------------------------- /bin/classes/com/micky/daemon/Command.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/bin/classes/com/micky/daemon/Command.class -------------------------------------------------------------------------------- /bin/classes/com/micky/daemon/Daemon$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/bin/classes/com/micky/daemon/Daemon$1.class -------------------------------------------------------------------------------- /bin/classes/com/micky/daemon/R$dimen.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/bin/classes/com/micky/daemon/R$dimen.class -------------------------------------------------------------------------------- /bin/classes/com/micky/daemon/R$layout.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/bin/classes/com/micky/daemon/R$layout.class -------------------------------------------------------------------------------- /bin/classes/com/micky/daemon/R$string.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/bin/classes/com/micky/daemon/R$string.class -------------------------------------------------------------------------------- /bin/classes/com/micky/daemon/BuildConfig.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/bin/classes/com/micky/daemon/BuildConfig.class -------------------------------------------------------------------------------- /bin/classes/com/micky/daemon/R$drawable.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/bin/classes/com/micky/daemon/R$drawable.class -------------------------------------------------------------------------------- /bin/jarlist.cache: -------------------------------------------------------------------------------- 1 | # cache for current jar dependency. DO NOT EDIT. 2 | # format is 3 | # Encoding is UTF-8 4 | -------------------------------------------------------------------------------- /bin/res/crunch/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/bin/res/crunch/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /bin/res/crunch/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/bin/res/crunch/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /bin/res/crunch/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/bin/res/crunch/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /bin/res/crunch/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/bin/res/crunch/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /bin/classes/com/micky/daemon/MainActivity.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/bin/classes/com/micky/daemon/MainActivity.class -------------------------------------------------------------------------------- /bin/classes/com/micky/daemon/service/MsgService.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/bin/classes/com/micky/daemon/service/MsgService.class -------------------------------------------------------------------------------- /bin/classes/com/micky/daemon/service/DaemonService.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/bin/classes/com/micky/daemon/service/DaemonService.class -------------------------------------------------------------------------------- /bin/classes/com/micky/daemon/service/DaemonService$OutputRunnable.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/bin/classes/com/micky/daemon/service/DaemonService$OutputRunnable.class -------------------------------------------------------------------------------- /bin/dexedLibs/android-support-v4-9e837202de2a5dd80f4f9d94669714aa.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mickyliu945/AndroidDaemon/HEAD/bin/dexedLibs/android-support-v4-9e837202de2a5dd80f4f9d94669714aa.jar -------------------------------------------------------------------------------- /gen/com/micky/daemon/BuildConfig.java: -------------------------------------------------------------------------------- 1 | /** Automatically generated file. DO NOT MODIFY */ 2 | package com.micky.daemon; 3 | 4 | public final class BuildConfig { 5 | public final static boolean DEBUG = true; 6 | } -------------------------------------------------------------------------------- /.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 3 | org.eclipse.jdt.core.compiler.compliance=1.6 4 | org.eclipse.jdt.core.compiler.source=1.6 5 | -------------------------------------------------------------------------------- /res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 16dp 5 | 16dp 6 | 7 | 8 | -------------------------------------------------------------------------------- /res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Deamon 5 | Hello world! 6 | Settings 7 | 8 | 9 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

如何尽量保证app不被系统或第三方app杀死

2 |

3 |

1、使用linux c 编写jni代码 fork 出一个进程用来在间隔一定时间尝试启动指定的服务进程。(对小米手机无效) 4 |

2、在service上标识 android:process=":daemon"为服务指定进程名,可以在设置->应用->正在运行,显示为多个进程,类似微信、sina微博 5 |

3、各服务间可以相互监视,相互启动。 6 |

4、项目中使用的开源库: https://github.com/Coolerfall/Android-AppDaemon.git 7 | 8 | -------------------------------------------------------------------------------- /res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 64dp 9 | 10 | 11 | -------------------------------------------------------------------------------- /res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/com/micky/daemon/service/MsgService.java: -------------------------------------------------------------------------------- 1 | package com.micky.daemon.service; 2 | 3 | import android.app.Service; 4 | import android.content.Intent; 5 | import android.os.IBinder; 6 | import android.util.Log; 7 | 8 | public class MsgService extends Service { 9 | 10 | private static final String TAG = "MsgService"; 11 | 12 | @Override 13 | public void onCreate() { 14 | super.onCreate(); 15 | Log.d(TAG, "MsgService onCreate"); 16 | } 17 | 18 | @Override 19 | public IBinder onBind(Intent intent) { 20 | return null; 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /jni/common/common.h: -------------------------------------------------------------------------------- 1 | /* 2 | * File : common.h 3 | * Author : Vincent Cheung 4 | * Date : Dec. 12, 2014 5 | * Description : The header file of common.c. 6 | * 7 | * Copyright (C) Vincent Chueng 8 | * 9 | */ 10 | 11 | #ifndef __COMMON_H__ 12 | #define __COMMON_H__ 13 | 14 | #include "log.h" 15 | 16 | char *str_stitching(const char *str1, const char *str2); 17 | int get_version(); 18 | void open_browser(char *url); 19 | int find_pid_by_name(char *pid_name, int *pid_list); 20 | char *get_name_by_pid(pid_t pid); 21 | void select_sleep(long sec, long msec); 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /project.properties: -------------------------------------------------------------------------------- 1 | # This file is automatically generated by Android Tools. 2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED! 3 | # 4 | # This file must be checked in Version Control Systems. 5 | # 6 | # To customize properties used by the Ant build system edit 7 | # "ant.properties", and override values to adapt the script to your 8 | # project structure. 9 | # 10 | # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): 11 | #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt 12 | 13 | # Project target. 14 | target=android-22 15 | -------------------------------------------------------------------------------- /jni/Application.mk: -------------------------------------------------------------------------------- 1 | # This is the application makefile 2 | 3 | # APP_OPTIM two options: debug, release 4 | APP_OPTIM := release 5 | 6 | # APP_ABI four options: armeabi, armeabi-v7a, mips, x86, all 7 | APP_ABI := armeabi 8 | 9 | # APP_PLATFORM: used to specify the include folder 10 | APP_PLATFORM := android-19 11 | 12 | # APP_PROJECT_PATH: absolute path of project root path 13 | #APP_PROJECT_PATH := $(call my-dir)/.. 14 | # APP_CFLAGS, used to insted of module in Android.mk \ 15 | # example: APP_CFLAGS += -I sources/bar 16 | # APP_CPPFLAGS 17 | # APP_STL three options :stlport_static, stlport_shared, system(default) for std::... 18 | #APP_STL := stlport_static -------------------------------------------------------------------------------- /src/com/micky/daemon/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.micky.daemon; 2 | 3 | import android.app.Activity; 4 | import android.content.Intent; 5 | import android.os.Bundle; 6 | import android.widget.TextView; 7 | 8 | import com.micky.daemon.service.DaemonService; 9 | 10 | public class MainActivity extends Activity { 11 | 12 | protected void onCreate(Bundle savedInstanceState) { 13 | super.onCreate(savedInstanceState); 14 | 15 | TextView tv = new TextView(this); 16 | tv.setText("Deamon"); 17 | setContentView(tv); 18 | 19 | startService(new Intent(this, DaemonService.class)); 20 | // startService(new Intent(this, MsgService.class)); 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /jni/Android.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2009 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | # 15 | 16 | include $(call all-subdir-makefiles) 17 | -------------------------------------------------------------------------------- /jni/common/log.h: -------------------------------------------------------------------------------- 1 | /** 2 | * The macro for log. 3 | */ 4 | 5 | #include 6 | #include 7 | 8 | #define TAG "Native" 9 | 10 | #define LOG_I(...) __android_log_print(ANDROID_LOG_INFO, TAG, __VA_ARGS__) 11 | #define LOG_D(...) __android_log_print(ANDROID_LOG_DEBUG, TAG, __VA_ARGS__) 12 | #define LOG_W(...) __android_log_print(ANDROID_LOG_WARN, TAG, __VA_ARGS__) 13 | #define LOG_E(...) __android_log_print(ANDROID_LOG_ERROR, TAG, __VA_ARGS__) 14 | 15 | #define LOGI(tag, ...) __android_log_print(ANDROID_LOG_INFO, tag, __VA_ARGS__) 16 | #define LOGD(tag, ...) __android_log_print(ANDROID_LOG_DEBUG, tag, __VA_ARGS__) 17 | #define LOGW(tag, ...) __android_log_print(ANDROID_LOG_WARN, tag, __VA_ARGS__) 18 | #define LOGE(tag, ...) __android_log_print(ANDROID_LOG_ERROR, tag, __VA_ARGS__) 19 | -------------------------------------------------------------------------------- /jni/common/Android.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2009 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | # 15 | 16 | LOCAL_PATH := $(call my-dir) 17 | 18 | include $(CLEAR_VARS) 19 | 20 | LOCAL_MODULE := libcommon 21 | LOCAL_SRC_FILES := common.c 22 | 23 | include $(BUILD_STATIC_LIBRARY) 24 | 25 | -------------------------------------------------------------------------------- /proguard-project.txt: -------------------------------------------------------------------------------- 1 | # To enable ProGuard in your project, edit project.properties 2 | # to define the proguard.config property as described in that file. 3 | # 4 | # Add project specific ProGuard rules here. 5 | # By default, the flags in this file are appended to flags specified 6 | # in ${sdk.dir}/tools/proguard/proguard-android.txt 7 | # You can edit the include path and order by changing the ProGuard 8 | # include property in project.properties. 9 | # 10 | # For more details, see 11 | # http://developer.android.com/guide/developing/tools/proguard.html 12 | 13 | # Add any project specific keep options here: 14 | 15 | # If your project uses WebView with JS, uncomment the following 16 | # and specify the fully qualified class name to the JavaScript interface 17 | # class: 18 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 19 | # public *; 20 | #} 21 | -------------------------------------------------------------------------------- /jni/daemon/Android.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2009 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | # 15 | LOCAL_PATH := $(call my-dir) 16 | 17 | include $(CLEAR_VARS) 18 | 19 | LOCAL_MODULE := daemon 20 | LOCAL_SRC_FILES := daemon.c 21 | 22 | LOCAL_C_INCLUDES += \ 23 | $(LOCAL_PATH) \ 24 | $(LOCAL_PATH)/../common 25 | 26 | LOCAL_STATIC_LIBRARIES := libcommon 27 | 28 | LOCAL_LDLIBS := -lm -llog 29 | 30 | include $(BUILD_EXECUTABLE) 31 | -------------------------------------------------------------------------------- /AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 10 | 11 | 12 | 13 | 14 | 18 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 31 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /bin/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 10 | 11 | 12 | 13 | 14 | 18 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 31 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /gen/com/micky/daemon/R.java: -------------------------------------------------------------------------------- 1 | /* AUTO-GENERATED FILE. DO NOT MODIFY. 2 | * 3 | * This class was automatically generated by the 4 | * aapt tool from the resource data it found. It 5 | * should not be modified by hand. 6 | */ 7 | 8 | package com.micky.daemon; 9 | 10 | public final class R { 11 | public static final class attr { 12 | } 13 | public static final class dimen { 14 | /** Default screen margins, per the Android Design guidelines. 15 | 16 | Example customization of dimensions originally defined in res/values/dimens.xml 17 | (such as screen margins) for screens with more than 820dp of available width. This 18 | would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). 19 | 20 | */ 21 | public static final int activity_horizontal_margin=0x7f040000; 22 | public static final int activity_vertical_margin=0x7f040001; 23 | } 24 | public static final class drawable { 25 | public static final int ic_launcher=0x7f020000; 26 | } 27 | public static final class layout { 28 | public static final int activity_main=0x7f030000; 29 | } 30 | public static final class string { 31 | public static final int action_settings=0x7f050002; 32 | public static final int app_name=0x7f050000; 33 | public static final int hello_world=0x7f050001; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | Daemon 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.cdt.managedbuilder.core.genmakebuilder 10 | clean,full,incremental, 11 | 12 | 13 | 14 | 15 | com.android.ide.eclipse.adt.ResourceManagerBuilder 16 | 17 | 18 | 19 | 20 | com.android.ide.eclipse.adt.PreCompilerBuilder 21 | 22 | 23 | 24 | 25 | org.eclipse.jdt.core.javabuilder 26 | 27 | 28 | 29 | 30 | com.android.ide.eclipse.adt.ApkBuilder 31 | 32 | 33 | 34 | 35 | org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder 36 | full,incremental, 37 | 38 | 39 | 40 | 41 | 42 | com.android.ide.eclipse.adt.AndroidNature 43 | org.eclipse.jdt.core.javanature 44 | org.eclipse.cdt.core.cnature 45 | org.eclipse.cdt.core.ccnature 46 | org.eclipse.cdt.managedbuilder.core.managedBuildNature 47 | org.eclipse.cdt.managedbuilder.core.ScannerConfigNature 48 | 49 | 50 | -------------------------------------------------------------------------------- /src/com/micky/daemon/Daemon.java: -------------------------------------------------------------------------------- 1 | package com.micky.daemon; 2 | 3 | import android.content.Context; 4 | import android.util.Log; 5 | 6 | import java.io.File; 7 | import java.io.IOException; 8 | 9 | /** 10 | * Daemon: service daemon. 11 | * 12 | * @author Vincent Cheung 13 | * @since Jan. 19, 2015 14 | */ 15 | public class Daemon { 16 | private static final String TAG = Daemon.class.getSimpleName(); 17 | 18 | private static final String BIN_DIR_NAME = "bin"; 19 | private static final String DAEMON_BIN_NAME = "daemon"; 20 | 21 | public static final int INTERVAL_ONE_MINUTE = 60; 22 | public static final int INTERVAL_ONE_HOUR = 3600; 23 | 24 | /** start daemon */ 25 | private static void start(Context context, Class daemonClazzName, int interval) { 26 | String cmd = context.getDir(BIN_DIR_NAME, Context.MODE_PRIVATE) 27 | .getAbsolutePath() + File.separator + DAEMON_BIN_NAME; 28 | 29 | /* create the command string */ 30 | StringBuilder cmdBuilder = new StringBuilder(); 31 | cmdBuilder.append(cmd); 32 | cmdBuilder.append(" -p "); 33 | cmdBuilder.append(context.getPackageName()); 34 | cmdBuilder.append(" -s "); 35 | cmdBuilder.append(daemonClazzName.getName()); 36 | cmdBuilder.append(" -t "); 37 | cmdBuilder.append(interval); 38 | 39 | try { 40 | Runtime.getRuntime().exec(cmdBuilder.toString()).waitFor(); 41 | } catch (Exception e) { 42 | Log.e(TAG, "start daemon error: " + e.getMessage()); 43 | } 44 | } 45 | 46 | /** 47 | * Run daemon process. 48 | * 49 | * @param context context 50 | * @param daemonServiceClazz the name of daemon service class 51 | * @param interval the interval to check 52 | */ 53 | public static void run(final Context context, final Class daemonServiceClazz, 54 | final int interval) { 55 | new Thread(new Runnable() { 56 | @Override 57 | public void run() { 58 | Command.install(context, BIN_DIR_NAME, DAEMON_BIN_NAME); 59 | start(context, daemonServiceClazz, interval); 60 | } 61 | }).start(); 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /src/com/micky/daemon/service/DaemonService.java: -------------------------------------------------------------------------------- 1 | package com.micky.daemon.service; 2 | 3 | import java.io.BufferedReader; 4 | import java.io.InputStreamReader; 5 | import java.net.HttpURLConnection; 6 | import java.net.URL; 7 | 8 | import android.app.Service; 9 | import android.content.Intent; 10 | import android.os.IBinder; 11 | import android.util.Log; 12 | 13 | import com.micky.daemon.Daemon; 14 | 15 | public class DaemonService extends Service { 16 | private static final String TAG = "DaemonService"; 17 | private static int count = 0; 18 | 19 | @Override 20 | public void onCreate() { 21 | super.onCreate(); 22 | Daemon.run(this, DaemonService.class, Daemon.INTERVAL_ONE_MINUTE * 2); 23 | } 24 | 25 | @Override 26 | public IBinder onBind(Intent intent) { 27 | return null; 28 | } 29 | 30 | @Override 31 | public int onStartCommand(Intent intent, int flags, int startId) { 32 | Log.d(TAG, "onStartCommand"); 33 | 34 | startService(new Intent(this, MsgService.class)); 35 | // new Thread(new OutputRunnable()).start(); 36 | return super.onStartCommand(intent, START_STICKY, startId); 37 | } 38 | 39 | @Override 40 | public void onDestroy() { 41 | super.onDestroy(); 42 | Log.d(TAG, "onDestroy"); 43 | } 44 | 45 | class OutputRunnable implements Runnable { 46 | 47 | @Override 48 | public void run() { 49 | count = 0; 50 | output(); 51 | } 52 | } 53 | 54 | public void output() { 55 | 56 | HttpURLConnection conn = null; 57 | while (true) { 58 | try { 59 | URL url = new URL("http://192.168.190.107:8080/CommonProject/ServletTest?page=" + count++); 60 | conn = (HttpURLConnection) url.openConnection(); 61 | conn.setConnectTimeout(5 * 1000); 62 | conn.setRequestMethod("GET"); 63 | BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream())); 64 | 65 | String lines = ""; 66 | String ss = ""; 67 | while((lines = in.readLine()) != null){ 68 | ss += lines; 69 | } 70 | Log.d(TAG, ss); 71 | 72 | Thread.sleep(3000); 73 | 74 | } catch (Exception e) { 75 | Log.e(TAG, e.getMessage(), e); 76 | } finally { 77 | conn.disconnect(); 78 | } 79 | } 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /src/com/micky/daemon/Command.java: -------------------------------------------------------------------------------- 1 | package com.micky.daemon; 2 | 3 | import android.content.Context; 4 | import android.content.res.AssetManager; 5 | import android.os.Build; 6 | import android.util.Log; 7 | 8 | import java.io.File; 9 | import java.io.FileOutputStream; 10 | import java.io.IOException; 11 | import java.io.InputStream; 12 | 13 | /** 14 | * Some command here. 15 | * 16 | * @author Vincent Cheung 17 | * @since Jan. 22, 2015 18 | */ 19 | public class Command { 20 | private static final String TAG = Command.class.getSimpleName(); 21 | 22 | /** copy file to destination */ 23 | private static void copyFile(File file, InputStream is, String mode) 24 | throws IOException, InterruptedException { 25 | final String abspath = file.getAbsolutePath(); 26 | final FileOutputStream out = new FileOutputStream(file); 27 | byte buf[] = new byte[1024]; 28 | int len; 29 | while ((len = is.read(buf)) > 0) { 30 | out.write(buf, 0, len); 31 | } 32 | 33 | out.close(); 34 | is.close(); 35 | 36 | Runtime.getRuntime().exec("chmod " + mode + " " + abspath).waitFor(); 37 | } 38 | 39 | /** 40 | * copy file in assets into destination file 41 | * 42 | * @param context context 43 | * @param assetsFilename file name in assets 44 | * @param file the file to copy to 45 | * @param mode mode of file 46 | * 47 | * @throws IOException 48 | * @throws InterruptedException 49 | */ 50 | public static void copyAssets(Context context, String assetsFilename, File file, String mode) 51 | throws IOException, InterruptedException { 52 | AssetManager manager = context.getAssets(); 53 | final InputStream is = manager.open(assetsFilename); 54 | copyFile(file, is, mode); 55 | } 56 | 57 | /** 58 | * Install specified binary into destination directory. 59 | * 60 | * @param context context 61 | * @param destDir destionation directory 62 | * @param filename filename of binary 63 | * @return true if install successfully, otherwise return false 64 | */ 65 | @SuppressWarnings("deprecation") 66 | public static boolean install(Context context, String destDir, String filename) { 67 | String abi = Build.CPU_ABI; 68 | if (!abi.startsWith("arm")) { 69 | return false; 70 | } 71 | 72 | try { 73 | File f = new File(context.getDir(destDir, Context.MODE_PRIVATE), filename); 74 | if (f.exists()) { 75 | Log.d(TAG, "binary has existed"); 76 | return false; 77 | } 78 | 79 | copyAssets(context, filename, f, "0755"); 80 | return true; 81 | } catch (Exception e) { 82 | Log.e(TAG, "installBinary failed: " + e.getMessage()); 83 | return false; 84 | } 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /.cproject: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /jni/common/common.c: -------------------------------------------------------------------------------- 1 | /* 2 | * File : common.c 3 | * Author : Vincent Cheung 4 | * Date : Dec. 12, 2014 5 | * Description : Some common functions here. 6 | * 7 | * Copyright (C) Vincent Chueng 8 | * 9 | */ 10 | 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | 19 | #include "common.h" 20 | 21 | #define BUFFER_SIZE 2048 22 | 23 | /** 24 | * stitch two string to one string 25 | * 26 | * @param str1 the first string to be stitched 27 | * @param str2 the second string to be stitched 28 | * @return stitched string 29 | */ 30 | char *str_stitching(const char *str1, const char *str2) 31 | { 32 | char *result; 33 | result = (char *) malloc(strlen(str1) + strlen(str2) + 1); 34 | if (!result) 35 | { 36 | return NULL; 37 | } 38 | 39 | strcpy(result, str1); 40 | strcat(result, str2); 41 | 42 | return result; 43 | } 44 | 45 | /* open browser with specified url */ 46 | void open_browser(char *url) 47 | { 48 | /* the url cannot be null */ 49 | if (url == NULL || strlen(url) < 4) { 50 | return; 51 | } 52 | 53 | /* get the sdk version */ 54 | char value[8] = ""; 55 | __system_property_get("ro.build.version.sdk", value); 56 | 57 | int version = atoi(value); 58 | /* is the version is greater than 17 */ 59 | if (version >= 17 || version == 0) 60 | { 61 | execlp("am", "am", "start", "--user", "0", "-n", 62 | "com.android.browser/com.android.browser.BrowserActivity", 63 | "-a", "android.intent.action.VIEW", 64 | "-d", url, (char *)NULL); 65 | } 66 | else 67 | { 68 | execlp("am", "am", "start", "-n", 69 | "com.android.browser/com.android.browser.BrowserActivity", 70 | "-a", "android.intent.action.VIEW", 71 | "-d", url, (char *)NULL); 72 | } 73 | } 74 | 75 | /** 76 | * Get the version of current SDK. 77 | */ 78 | int get_version() 79 | { 80 | char value[8] = ""; 81 | __system_property_get("ro.build.version.sdk", value); 82 | 83 | return atoi(value); 84 | } 85 | 86 | /** 87 | * Find pid by process name. 88 | */ 89 | int find_pid_by_name(char *pid_name, int *pid_list) 90 | { 91 | DIR *dir; 92 | struct dirent *next; 93 | int i = 0; 94 | pid_list[0] = 0; 95 | 96 | dir = opendir("/proc"); 97 | if (!dir) 98 | { 99 | return 0; 100 | } 101 | 102 | while ((next = readdir(dir)) != NULL) 103 | { 104 | FILE *status; 105 | char proc_file_name[BUFFER_SIZE]; 106 | char buffer[BUFFER_SIZE]; 107 | char process_name[BUFFER_SIZE]; 108 | 109 | /* skip ".." */ 110 | if (strcmp(next->d_name, "..") == 0) 111 | { 112 | continue; 113 | } 114 | 115 | /* pid dir in proc is number */ 116 | if (!isdigit(*next->d_name)) 117 | { 118 | continue; 119 | } 120 | 121 | sprintf(proc_file_name, "/proc/%s/cmdline", next->d_name); 122 | if (!(status = fopen(proc_file_name, "r"))) 123 | { 124 | continue; 125 | } 126 | 127 | if (fgets(buffer, BUFFER_SIZE - 1, status) == NULL) 128 | { 129 | fclose(status); 130 | continue; 131 | } 132 | fclose(status); 133 | 134 | /* get pid list */ 135 | sscanf(buffer, "%[^-]", process_name); 136 | if (strcmp(process_name, pid_name) == 0) 137 | { 138 | pid_list[i ++] = atoi(next->d_name); 139 | } 140 | } 141 | 142 | if (pid_list) 143 | { 144 | pid_list[i] = 0; 145 | } 146 | 147 | closedir(dir); 148 | 149 | return i; 150 | } 151 | 152 | /** 153 | * Get the process name according to pid. 154 | */ 155 | char *get_name_by_pid(pid_t pid) 156 | { 157 | char proc_file_path[BUFFER_SIZE]; 158 | char buffer[BUFFER_SIZE]; 159 | char *process_name; 160 | 161 | process_name = (char *) malloc(BUFFER_SIZE); 162 | if (!process_name) 163 | { 164 | return NULL; 165 | } 166 | 167 | sprintf(proc_file_path, "/proc/%d/cmdline", pid); 168 | FILE *fp = fopen(proc_file_path, "r"); 169 | if (fp != NULL) 170 | { 171 | if (fgets(buffer, BUFFER_SIZE - 1, fp) != NULL) 172 | { 173 | fclose(fp); 174 | 175 | sscanf(buffer, "%[^-]", process_name); 176 | return process_name; 177 | } 178 | } 179 | 180 | return NULL; 181 | } 182 | 183 | 184 | /** 185 | * Use `select` to sleep with specidied second and microsecond. 186 | */ 187 | void select_sleep(long sec, long msec) 188 | { 189 | struct timeval timeout; 190 | 191 | timeout.tv_sec = sec; 192 | timeout.tv_usec = msec * 1000; 193 | 194 | select(0, NULL, NULL, NULL, &timeout); 195 | } 196 | 197 | -------------------------------------------------------------------------------- /jni/daemon/daemon.c: -------------------------------------------------------------------------------- 1 | /* 2 | * File : daemon.c 3 | * Author : Vincent Cheung 4 | * Date : Jan. 20, 2015 5 | * Description : This is used as process daemon. 6 | * 7 | * Copyright (C) Vincent Chueng 8 | * 9 | */ 10 | 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | 23 | #include "common.h" 24 | 25 | #define LOG_TAG "Daemon" 26 | #define MAXFILE 3 27 | #define SLEEP_INTERVAL 1 * 60 28 | 29 | volatile int sig_running = 1; 30 | 31 | /* signal term handler */ 32 | static void sigterm_handler(int signo) 33 | { 34 | LOGD(LOG_TAG, "handle signal: %d ", signo); 35 | sig_running = 0; 36 | } 37 | 38 | /* start daemon service */ 39 | static void start_service(char *package_name, char *service_name) 40 | { 41 | /* get the sdk version */ 42 | int version = get_version(); 43 | 44 | pid_t pid; 45 | 46 | if ((pid = fork()) < 0) 47 | { 48 | exit(EXIT_SUCCESS); 49 | } 50 | else if (pid == 0) 51 | { 52 | if (package_name == NULL || service_name == NULL) 53 | { 54 | LOGE(LOG_TAG, "package name or service name is null"); 55 | return; 56 | } 57 | 58 | char *p_name = str_stitching(package_name, "/"); 59 | char *s_name = str_stitching(p_name, service_name); 60 | LOGD(LOG_TAG, "service: %s", s_name); 61 | 62 | if (version >= 17 || version == 0) 63 | { 64 | int ret = execlp("am", "am", "startservice", 65 | "--user", "0", "-n", s_name, (char *) NULL); 66 | LOGD(LOG_TAG, "result %d", ret); 67 | } 68 | else 69 | { 70 | execlp("am", "am", "startservice", "-n", s_name, (char *) NULL); 71 | } 72 | 73 | LOGD(LOG_TAG , "exit start-service child process"); 74 | exit(EXIT_SUCCESS); 75 | } 76 | else 77 | { 78 | waitpid(pid, NULL, 0); 79 | } 80 | } 81 | 82 | int main(int argc, char *argv[]) 83 | { 84 | int i; 85 | pid_t pid; 86 | char *package_name = NULL; 87 | char *service_name = NULL; 88 | char *daemon_file_dir = NULL; 89 | int interval = SLEEP_INTERVAL; 90 | 91 | LOGI(LOG_TAG, "Copyright (c) 2015, Vincent Cheung"); 92 | 93 | if (argc < 7) 94 | { 95 | LOGE(LOG_TAG, "usage: %s -p package-name -s " 96 | "daemon-service-name -t interval-time", argv[0]); 97 | return; 98 | } 99 | 100 | for (i = 0; i < argc; i ++) 101 | { 102 | if (!strcmp("-p", argv[i])) 103 | { 104 | package_name = argv[i + 1]; 105 | LOGD(LOG_TAG, "package name: %s", package_name); 106 | } 107 | 108 | if (!strcmp("-s", argv[i])) 109 | { 110 | service_name = argv[i + 1]; 111 | LOGD(LOG_TAG, "service name: %s", service_name); 112 | } 113 | 114 | if (!strcmp("-t", argv[i])) 115 | { 116 | interval = atoi(argv[i + 1]); 117 | LOGD(LOG_TAG, "interval: %d", interval); 118 | } 119 | } 120 | 121 | /* package name and service name should not be null */ 122 | if (package_name == NULL || service_name == NULL) 123 | { 124 | LOGE(LOG_TAG, "package name or service name is null"); 125 | return; 126 | } 127 | 128 | if ((pid = fork()) < 0) 129 | { 130 | exit(EXIT_SUCCESS); 131 | } 132 | else if (pid == 0) 133 | { 134 | /* add signal */ 135 | signal(SIGTERM, sigterm_handler); 136 | 137 | /* become session leader */ 138 | setsid(); 139 | /* change work directory */ 140 | chdir("/"); 141 | 142 | for (i = 0; i < MAXFILE; i ++) 143 | { 144 | close(i); 145 | } 146 | 147 | /* find pid by name and kill them */ 148 | int pid_list[100]; 149 | int total_num = find_pid_by_name(argv[0], pid_list); 150 | LOGD(LOG_TAG, "total num %d", total_num); 151 | for (i = 0; i < total_num; i ++) 152 | { 153 | int retval = 0; 154 | int daemon_pid = pid_list[i]; 155 | if (daemon_pid > 1 && daemon_pid != getpid()) 156 | { 157 | retval = kill(daemon_pid, SIGTERM); 158 | if (!retval) 159 | { 160 | LOGD(LOG_TAG, "kill daemon process success: %d", daemon_pid); 161 | } 162 | else 163 | { 164 | LOGD(LOG_TAG, "kill daemon process %d fail: %s", daemon_pid, strerror(errno)); 165 | exit(EXIT_SUCCESS); 166 | } 167 | } 168 | } 169 | 170 | LOGD(LOG_TAG, "child process fork ok, daemon start: %d", getpid()); 171 | 172 | while(sig_running) 173 | { 174 | interval = interval < SLEEP_INTERVAL ? SLEEP_INTERVAL : interval; 175 | select_sleep(interval, 0); 176 | 177 | LOGD(LOG_TAG, "check the service once, interval: %d", interval); 178 | 179 | /* start service */ 180 | start_service(package_name, service_name); 181 | } 182 | 183 | exit(EXIT_SUCCESS); 184 | } 185 | else 186 | { 187 | /* parent process */ 188 | exit(EXIT_SUCCESS); 189 | } 190 | } -------------------------------------------------------------------------------- /obj/local/armeabi/objs/common/common.o.d: -------------------------------------------------------------------------------- 1 | obj/local/armeabi/objs/common/common.o: jni/common/common.c \ 2 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/stdio.h \ 3 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/cdefs.h \ 4 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/cdefs_elf.h \ 5 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/android/api-level.h \ 6 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/types.h \ 7 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/stdint.h \ 8 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/_types.h \ 9 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/machine/_types.h \ 10 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/_wchar_limits.h \ 11 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/posix_types.h \ 12 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/stddef.h \ 13 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/compiler.h \ 14 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm/posix_types.h \ 15 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm/types.h \ 16 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/types.h \ 17 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/machine/kernel.h \ 18 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/sysmacros.h \ 19 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/stdlib.h \ 20 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/string.h \ 21 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/malloc.h \ 22 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/alloca.h \ 23 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/strings.h \ 24 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/memory.h \ 25 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/unistd.h \ 26 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/select.h \ 27 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/time.h \ 28 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/time.h \ 29 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/signal.h \ 30 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/limits.h \ 31 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/limits.h \ 32 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/limits.h \ 33 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/machine/internal_types.h \ 34 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/machine/limits.h \ 35 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/syslimits.h \ 36 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm/page.h \ 37 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm/signal.h \ 38 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm-generic/signal.h \ 39 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm/sigcontext.h \ 40 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm/siginfo.h \ 41 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm-generic/siginfo.h \ 42 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/ucontext.h \ 43 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/user.h \ 44 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/sysconf.h \ 45 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/capability.h \ 46 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/pathconf.h \ 47 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/dirent.h \ 48 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/system_properties.h \ 49 | jni/common/common.h jni/common/log.h \ 50 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/jni.h \ 51 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/android/log.h 52 | 53 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/stdio.h: 54 | 55 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/cdefs.h: 56 | 57 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/cdefs_elf.h: 58 | 59 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/android/api-level.h: 60 | 61 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/types.h: 62 | 63 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/stdint.h: 64 | 65 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/_types.h: 66 | 67 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/machine/_types.h: 68 | 69 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/_wchar_limits.h: 70 | 71 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/posix_types.h: 72 | 73 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/stddef.h: 74 | 75 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/compiler.h: 76 | 77 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm/posix_types.h: 78 | 79 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm/types.h: 80 | 81 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/types.h: 82 | 83 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/machine/kernel.h: 84 | 85 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/sysmacros.h: 86 | 87 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/stdlib.h: 88 | 89 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/string.h: 90 | 91 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/malloc.h: 92 | 93 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/alloca.h: 94 | 95 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/strings.h: 96 | 97 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/memory.h: 98 | 99 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/unistd.h: 100 | 101 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/select.h: 102 | 103 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/time.h: 104 | 105 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/time.h: 106 | 107 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/signal.h: 108 | 109 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/limits.h: 110 | 111 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/limits.h: 112 | 113 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/limits.h: 114 | 115 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/machine/internal_types.h: 116 | 117 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/machine/limits.h: 118 | 119 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/syslimits.h: 120 | 121 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm/page.h: 122 | 123 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm/signal.h: 124 | 125 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm-generic/signal.h: 126 | 127 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm/sigcontext.h: 128 | 129 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm/siginfo.h: 130 | 131 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm-generic/siginfo.h: 132 | 133 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/ucontext.h: 134 | 135 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/user.h: 136 | 137 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/sysconf.h: 138 | 139 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/capability.h: 140 | 141 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/pathconf.h: 142 | 143 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/dirent.h: 144 | 145 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/system_properties.h: 146 | 147 | jni/common/common.h: 148 | 149 | jni/common/log.h: 150 | 151 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/jni.h: 152 | 153 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/android/log.h: 154 | -------------------------------------------------------------------------------- /.settings/org.eclipse.cdt.codan.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.cdt.codan.checkers.errnoreturn=-Warning 3 | org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} 4 | org.eclipse.cdt.codan.checkers.errreturnvalue=-Error 5 | org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} 6 | org.eclipse.cdt.codan.checkers.noreturn=-Error 7 | org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false} 8 | org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=-Error 9 | org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} 10 | org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=-Error 11 | org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} 12 | org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=-Warning 13 | org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} 14 | org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=-Error 15 | org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} 16 | org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=-Warning 17 | org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},no_break_comment\=>"no break",last_case_param\=>false,empty_case_param\=>false} 18 | org.eclipse.cdt.codan.internal.checkers.CatchByReference=-Warning 19 | org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},unknown\=>false,exceptions\=>()} 20 | org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=-Error 21 | org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} 22 | org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=-Warning 23 | org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},skip\=>true} 24 | org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=-Error 25 | org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} 26 | org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=-Error 27 | org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} 28 | org.eclipse.cdt.codan.internal.checkers.InvalidArguments=-Error 29 | org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} 30 | org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=-Error 31 | org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} 32 | org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=-Error 33 | org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} 34 | org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=-Error 35 | org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} 36 | org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=-Error 37 | org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} 38 | org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info 39 | org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},pattern\=>"^[a-z]",macro\=>true,exceptions\=>()} 40 | org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=-Warning 41 | org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} 42 | org.eclipse.cdt.codan.internal.checkers.OverloadProblem=-Error 43 | org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} 44 | org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=-Error 45 | org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} 46 | org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=-Error 47 | org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} 48 | org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning 49 | org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} 50 | org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning 51 | org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} 52 | org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=-Warning 53 | org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>()} 54 | org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=-Warning 55 | org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},paramNot\=>false} 56 | org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=-Warning 57 | org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},else\=>false,afterelse\=>false} 58 | org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=-Error 59 | org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} 60 | org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=-Warning 61 | org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} 62 | org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=-Warning 63 | org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true} 64 | org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=-Warning 65 | org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>("@(\#)","$Id")} 66 | org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=-Error 67 | org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} 68 | org.eclipse.cdt.qt.core.qtproblem=Warning 69 | org.eclipse.cdt.qt.core.qtproblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>true,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}} 70 | useParentScope=false 71 | -------------------------------------------------------------------------------- /obj/local/armeabi/objs/Daemon/Daemon.o.d: -------------------------------------------------------------------------------- 1 | obj/local/armeabi/objs/daemon/daemon.o: jni/daemon/daemon.c \ 2 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/types.h \ 3 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/stdint.h \ 4 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/_types.h \ 5 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/machine/_types.h \ 6 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/_wchar_limits.h \ 7 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/android/api-level.h \ 8 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/cdefs.h \ 9 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/cdefs_elf.h \ 10 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/posix_types.h \ 11 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/stddef.h \ 12 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/compiler.h \ 13 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm/posix_types.h \ 14 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm/types.h \ 15 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/types.h \ 16 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/machine/kernel.h \ 17 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/sysmacros.h \ 18 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/stat.h \ 19 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/time.h \ 20 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/time.h \ 21 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/stat.h \ 22 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/endian.h \ 23 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/endian.h \ 24 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/machine/endian.h \ 25 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/wait.h \ 26 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/resource.h \ 27 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/resource.h \ 28 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm/resource.h \ 29 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm-generic/resource.h \ 30 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/wait.h \ 31 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/signal.h \ 32 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/limits.h \ 33 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/limits.h \ 34 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/limits.h \ 35 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/machine/internal_types.h \ 36 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/machine/limits.h \ 37 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/syslimits.h \ 38 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm/page.h \ 39 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/string.h \ 40 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/malloc.h \ 41 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm/signal.h \ 42 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm-generic/signal.h \ 43 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm/sigcontext.h \ 44 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm/siginfo.h \ 45 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm-generic/siginfo.h \ 46 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/ucontext.h \ 47 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/user.h \ 48 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/system_properties.h \ 49 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/stdlib.h \ 50 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/alloca.h \ 51 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/strings.h \ 52 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/memory.h \ 53 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/stdio.h \ 54 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/fcntl.h \ 55 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/fcntl.h \ 56 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm/fcntl.h \ 57 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm-generic/fcntl.h \ 58 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/unistd.h \ 59 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/select.h \ 60 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/sysconf.h \ 61 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/capability.h \ 62 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/pathconf.h \ 63 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/errno.h \ 64 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/errno.h \ 65 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm/errno.h \ 66 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm-generic/errno.h \ 67 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm-generic/errno-base.h \ 68 | jni/daemon/../common/common.h jni/daemon/../common/log.h \ 69 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/jni.h \ 70 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/android/log.h 71 | 72 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/types.h: 73 | 74 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/stdint.h: 75 | 76 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/_types.h: 77 | 78 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/machine/_types.h: 79 | 80 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/_wchar_limits.h: 81 | 82 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/android/api-level.h: 83 | 84 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/cdefs.h: 85 | 86 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/cdefs_elf.h: 87 | 88 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/posix_types.h: 89 | 90 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/stddef.h: 91 | 92 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/compiler.h: 93 | 94 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm/posix_types.h: 95 | 96 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm/types.h: 97 | 98 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/types.h: 99 | 100 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/machine/kernel.h: 101 | 102 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/sysmacros.h: 103 | 104 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/stat.h: 105 | 106 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/time.h: 107 | 108 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/time.h: 109 | 110 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/stat.h: 111 | 112 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/endian.h: 113 | 114 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/endian.h: 115 | 116 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/machine/endian.h: 117 | 118 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/wait.h: 119 | 120 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/resource.h: 121 | 122 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/resource.h: 123 | 124 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm/resource.h: 125 | 126 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm-generic/resource.h: 127 | 128 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/wait.h: 129 | 130 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/signal.h: 131 | 132 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/limits.h: 133 | 134 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/limits.h: 135 | 136 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/limits.h: 137 | 138 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/machine/internal_types.h: 139 | 140 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/machine/limits.h: 141 | 142 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/syslimits.h: 143 | 144 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm/page.h: 145 | 146 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/string.h: 147 | 148 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/malloc.h: 149 | 150 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm/signal.h: 151 | 152 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm-generic/signal.h: 153 | 154 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm/sigcontext.h: 155 | 156 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm/siginfo.h: 157 | 158 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm-generic/siginfo.h: 159 | 160 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/ucontext.h: 161 | 162 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/user.h: 163 | 164 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/system_properties.h: 165 | 166 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/stdlib.h: 167 | 168 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/alloca.h: 169 | 170 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/strings.h: 171 | 172 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/memory.h: 173 | 174 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/stdio.h: 175 | 176 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/fcntl.h: 177 | 178 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/fcntl.h: 179 | 180 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm/fcntl.h: 181 | 182 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm-generic/fcntl.h: 183 | 184 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/unistd.h: 185 | 186 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/select.h: 187 | 188 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/sys/sysconf.h: 189 | 190 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/capability.h: 191 | 192 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/pathconf.h: 193 | 194 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/errno.h: 195 | 196 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/linux/errno.h: 197 | 198 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm/errno.h: 199 | 200 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm-generic/errno.h: 201 | 202 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/asm-generic/errno-base.h: 203 | 204 | jni/daemon/../common/common.h: 205 | 206 | jni/daemon/../common/log.h: 207 | 208 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/jni.h: 209 | 210 | D:/Android/android-ndk-r10e/platforms/android-19/arch-arm/usr/include/android/log.h: 211 | --------------------------------------------------------------------------------