diff --git a/app/build.gradle b/app/build.gradle index ddb980fc87515d2b0850cad0fdeb7e37d612f7d2..9841600f97d50ae01b270b9b3b4963b2277fd18e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -21,7 +21,6 @@ if(isTravis) { android { compileSdkVersion 22 buildToolsVersion '22.0.1' - defaultConfig { minSdkVersion 16 targetSdkVersion 19 // Do not change: Working Icons on Android 5+ @@ -31,7 +30,6 @@ android { buildConfigField 'String', 'BUILD_NUMBER', (buildNumber == null ? 'null' : "\"${buildNumber}\"") } - buildTypes { debug { try { @@ -53,12 +51,10 @@ android { versionNameSuffix '-release' } } - compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } - lintOptions { warning 'MissingTranslation', 'InvalidPackage' abortOnError false @@ -69,11 +65,15 @@ android { textReport isCi textOutput 'stdout' } - packagingOptions { exclude 'META-INF/NOTICE.txt' exclude 'META-INF/LICENSE.txt' } + + productFlavors { + system {} + normal {} + } } dependencies { @@ -81,7 +81,7 @@ dependencies { //compile 'com.github.amlcurran.showcaseview:library:5.0.0' compile 'com.android.support:appcompat-v7:22.2.1' //https://github.com/lp0/slf4j-android - compile fileTree(dir: 'libs', include: '*.jar') + compile fileTree(include: '*.jar', dir: 'libs') compile project(':third_party:rootshell') compile 'org.osmdroid:osmdroid-android:4.2' compile 'org.slf4j:slf4j-api:1.7.12' diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 3802f97ab44d9e84edcc76bb044d9909531319f3..2925999267565835f7a4ba70786119f9573e8115 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,8 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" - package="com.SecUpwN.AIMSICD" - tools:ignore="ProtectedPermissions"> + package="com.SecUpwN.AIMSICD"> <!-- If we ever wanna make this a system app, we can add the following 2 lines above: coreApp="true" @@ -42,22 +41,6 @@ <!-- To list all available (used) Android permissions on a device, use: # `pm list permissions -g` --> - <!-- These are Android System (non 3rd party) Permissions --> - <uses-permission android:name="android.permission.CONTROL_LOCATION_UPDATES"/> - <uses-permission android:name="android.permission.DEVICE_POWER"/> - <uses-permission android:name="android.permission.DIAGNOSTIC"/> - <uses-permission android:name="android.permission.DUMP"/> - <uses-permission android:name="android.permission.FACTORY_TEST"/> - <uses-permission android:name="android.permission.HARDWARE_TEST"/> - <uses-permission android:name="android.permission.INJECT_EVENTS"/> - <uses-permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW"/> - <uses-permission android:name="android.permission.LOCATION_HARDWARE"/> - <uses-permission android:name="android.permission.MODIFY_PHONE_STATE"/> - <uses-permission android:name="android.permission.SET_PROCESS_LIMIT"/> - <uses-permission android:name="android.permission.WRITE_APN_SETTINGS"/> - <!--uses-permission android:name="android.permission.WRITE_GSERVICES"/ --> - <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/> - <!-- These are OEM / Samsung Permissions --> <uses-permission android:name="android.phone.receiveDetailedCallState"/> <uses-permission android:name="com.android.permission.HANDOVER_STATUS"/> diff --git a/app/src/system/AndroidManifest.xml b/app/src/system/AndroidManifest.xml new file mode 100644 index 0000000000000000000000000000000000000000..2c9e3e2ec5a7ccb3250fd7ba4125978e7ae3f9cb --- /dev/null +++ b/app/src/system/AndroidManifest.xml @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + coreApp="true" + package="com.SecUpwN.AIMSICD" + android:sharedUserId="android.uid.system" + tools:ignore="ProtectedPermissions"> + + <!-- PERMISSIONS ARE SORTED BY AOS PERMISSION AND 3rd PARTY ACCESS. KEEP THIS! --> + <!-- https://github.com/SecUpwN/Android-IMSI-Catcher-Detector/wiki/Permissions --> + + <!-- SPECIAL PERMISSIONS TO BE ADDED AFTER THIS LINE. /> --> + <!-- To list all available (used) Android permissions on a device, use: + # `pm list permissions -g` --> + + <!-- These are Android System (non 3rd party) Permissions --> + <uses-permission android:name="android.permission.CONTROL_LOCATION_UPDATES"/> + <uses-permission android:name="android.permission.DEVICE_POWER"/> + <uses-permission android:name="android.permission.DIAGNOSTIC"/> + <uses-permission android:name="android.permission.DUMP"/> + <uses-permission android:name="android.permission.FACTORY_TEST"/> + <uses-permission android:name="android.permission.HARDWARE_TEST"/> + <uses-permission android:name="android.permission.INJECT_EVENTS"/> + <uses-permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW"/> + <uses-permission android:name="android.permission.LOCATION_HARDWARE"/> + <uses-permission android:name="android.permission.MODIFY_PHONE_STATE"/> + <uses-permission android:name="android.permission.SET_PROCESS_LIMIT"/> + <uses-permission android:name="android.permission.WRITE_APN_SETTINGS"/> + <!--uses-permission android:name="android.permission.WRITE_GSERVICES"/ --> + <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/> + + <!-- These are OEM / Samsung Permissions --> + <uses-permission android:name="android.phone.receiveDetailedCallState"/> + <uses-permission android:name="com.android.permission.HANDOVER_STATUS"/> + <uses-permission android:name="com.sec.android.app.controlpanel.permission.PRIVATE"/> + <uses-permission android:name="com.sec.android.app.factorymode.permission.KEYSTRING"/> + <uses-permission android:name="com.sec.android.app.cm.permission.PERMISSION_MANAGEMENT"/> + <uses-permission android:name="com.sec.android.app.phoneutil.permission.KEYSTRING"/> + <uses-permission android:name="com.sec.android.app.servicemodeapp.permission.KEYSTRING"/> + <uses-permission android:name="com.sec.android.phone.permission.DATA_ROAMING_SETTINGS_ENHANCED"/> + <uses-permission android:name="com.sec.android.phone.permission.READ_CALL_SETTINGS"/> + <uses-permission android:name="com.sec.android.phone.permission.WRITE_CALL_SETTINGS"/> + <!-- uses-permission android:name="com.sec.factory.permission.ALLOWFTCLIENTCPOBIND"/> + <uses-permission android:name="com.sec.factory.permission.BT_ID_WRITE"/ --> + <uses-permission android:name="com.sec.factory.permission.KEYSTRING"/> + <uses-permission android:name="com.sec.modem.settings.permission.KEYSTRING"/> + <!-- uses-permission android:name="diagandroid.app.receiveDetailedApplicationState"/> + <uses-permission android:name="diagandroid.data.receivePDPContextState"/> + <uses-permission android:name="diagandroid.phone.receiveDetailedCallState"/ --> + + <!-- May be needed (in the future) to access SIM related functions --> + <uses-permission android:name="org.simalliance.openmobileapi.SMARTCARD"/> + +</manifest>