Hi i want to disable (delete) these permissions from my app
WRITE EXTERNAL STORAGE
READ_EXTERNAL_STORAGE
WAKE_LOCK
and disable using camera and taking photos
the source code of users permissions in my app, I am using android studio.
that is the source how will be the new ??
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.bpositive"
android:versionCode="2"
android:versionName="1.0.3" >
<uses-sdk
android:minSdkVersion="15"
android:targetSdkVersion="25" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-feature
android:name="android.hardware.camera"
android:required="true" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" /> <!-- Permissions required for GCM -->
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<permission
android:name="com.bpositive.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="com.bpositive.permission.C2D_MESSAGE" />
<application
android:name="sample.bpositive.sparkleappz.app.BPlus"
android:allowBackup="true"
android:icon="#mipmap/ic_launcher"
android:label="#string/app_name"
android:supportsRtl="true"
android:theme="#style/AppTheme" >
<activity
android:name="sample.bpositive.sparkleappz.activities.SplashActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="sparkleappz.com/"
android:scheme="http" />
<data
android:host="sparkleappz.com/"
android:scheme="https" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="sample.bpositive.sparkleappz.activities.MainActivity"
android:screenOrientation="portrait"
android:theme="#style/AppTheme"
android:windowSoftInputMode="stateHidden" >
</activity>
<activity
android:name="sample.bpositive.sparkleappz.activities.ResetPasswordActivity"
android:screenOrientation="portrait"
android:theme="#style/AppTheme"
android:windowSoftInputMode="stateHidden" >
</activity>
<activity
android:name="sample.bpositive.sparkleappz.activities.DonateActivity"
android:screenOrientation="portrait"
android:theme="#style/AppTheme"
android:windowSoftInputMode="stateHidden" >
</activity>
<!--
The API key for Google Maps-based APIs is defined as a string resource.
(See the file "res/values/google_maps_api.xml").
Note that the API key is linked to the encryption key used to sign the APK.
You need a different API key for each encryption key, including the release key that is used to
sign the APK for publishing.
You can define the keys for the debug and release targets in src/debug/ and src/release/.
-->
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="#string/google_maps_key" />
<service android:name="sample.bpositive.sparkleappz.MyFirebaseMessagingService" >
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<service android:name="sample.bpositive.sparkleappz.MyFirebaseInstanceIDService" >
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
<activity
android:name="com.theartofdev.edmodo.cropper.CropImageActivity"
android:theme="#style/Theme.AppCompat.Light.DarkActionBar" /> <!-- Include the AdActivity and InAppPurchaseActivity configChanges and themes. -->
<activity
android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
android:theme="#android:style/Theme.Translucent" />
<activity
android:name="com.google.android.gms.ads.purchase.InAppPurchaseActivity"
android:theme="#style/Theme.IAPTheme" />
<activity
android:name="com.google.android.gms.appinvite.PreviewActivity"
android:exported="true"
android:theme="#style/Theme.AppInvite.Preview" >
<intent-filter>
<action android:name="com.google.android.gms.appinvite.ACTION_PREVIEW" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name="com.google.android.gms.common.api.GoogleApiActivity"
android:exported="false"
android:theme="#android:style/Theme.Translucent.NoTitleBar" />
<!--
FirebaseMessagingService performs security checks at runtime,
no need for explicit permissions despite exported="true"
-->
<service
android:name="com.google.firebase.messaging.FirebaseMessagingService"
android:exported="true" >
<intent-filter android:priority="-500" >
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<receiver
android:name="com.google.android.gms.measurement.AppMeasurementReceiver"
android:enabled="true"
android:exported="false" >
</receiver>
<receiver
android:name="com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver"
android:enabled="true"
android:permission="android.permission.INSTALL_PACKAGES" >
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
<service
android:name="com.google.android.gms.measurement.AppMeasurementService"
android:enabled="true"
android:exported="false" />
<receiver
android:name="com.google.firebase.iid.FirebaseInstanceIdReceiver"
android:exported="true"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="com.bpositive" />
</intent-filter>
</receiver>
<!--
Internal (not exported) receiver used by the app to start its own exported services
without risk of being spoofed.
-->
<receiver
android:name="com.google.firebase.iid.FirebaseInstanceIdInternalReceiver"
android:exported="false" />
<!--
FirebaseInstanceIdService performs security checks at runtime,
no need for explicit permissions despite exported="true"
-->
<service
android:name="com.google.firebase.iid.FirebaseInstanceIdService"
android:exported="true" >
<intent-filter android:priority="-500" >
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
<provider
android:name="com.google.firebase.provider.FirebaseInitProvider"
android:authorities="com.bpositive.firebaseinitprovider"
android:exported="false"
android:initOrder="100" />
<meta-data
android:name="com.google.android.gms.version"
android:value="#integer/google_play_services_version" />
</application>
</manifest>
Hi i want to disable (delete) these permissions from my app
WRITE EXTERNAL STORAGE
READ_EXTERNAL_STORAGE
WAKE_LOCK
and disable using camera and taking photos
the source code of users permissions in my app, I am using android studio.
that is the source how will be the new ??
There is a line in your file that reads
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
and one that reads
<uses-permission android:name="android.permission.WAKE_LOCK" />
If you delete them and rerun gradle, your project will now no longer have those permissions.
Remove this lines from your
AndroidManifest.xml
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
to remove the permissions
You can't just remove permissions and hope your app to work if permissions are essential for that to work or triggered on user interaction like touching camera button to invoke camera and require camera permissions. If that app requires that permissions you remove those permission you will get errors especially that apps targets for above Android 6.0 with android:targetSdkVersion="25".
If you are hoping to publish that app with JUST RESKIN you will get a strike because publishing a spam app. You should do some modification on that app to be considered as modified work. You should also check licanse for license whether you are allowed to do or not.
Related
I have searched and tried many solutions from stackoverflow,
but i guess am having a different kind of problem.
I have used branch io and sugar orm in my app.
I needed the RECEIVE_SMS & READ_SMS to implement two step authentication and got some map related activity.
Having just uploaded my app to the Play store I get: Supported devices 0 . The app is activated and here is my manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.demo.dlm">
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="26" />
<uses-permission android:name="android.permission.INTERNET" android:required="true" />
<uses-permission android:name="android.permission.ACCESS_GPS" android:required="true" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" android:required="true" />
<uses-permission android:name="android.permisssion.ACCESS_COARSE_LOCATION" android:required="true" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" android:required="true" />
<uses-permission android:name="android.permission.RECEIVE_SMS" android:required="false" />
<uses-permission android:name="android.permission.READ_SMS" android:required="false" />
<meta-data android:name="DATABASE" android:value="clm.db" />
<meta-data android:name="VERSION" android:value="1" />
<meta-data android:name="QUERY_LOG" android:value="true" />
<meta-data android:name="DOMAIN_PACKAGE_NAME" android:value="com.selise.clm.common.database.entity" />
<application
android:name=".common.App"
android:allowBackup="false"
android:fullBackupContent="#xml/my_backup_rules"
android:fullBackupOnly="true"
android:icon="#mipmap/ic_launcher"
android:label="#string/app_name"
android:roundIcon="#mipmap/ic_launcher_round"
android:hardwareAccelerated="true"
android:supportsRtl="true"
android:theme="#style/AppTheme">
<activity
android:name=".common.ui.activity.SplashScreenActivity"
android:screenOrientation="portrait"
android:theme="#style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<data android:scheme="clmdebug" android:host="open" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
</activity>
<activity
android:name=".login.ui.activity.LoginActivity"
android:screenOrientation="portrait"
android:theme="#style/AppTheme.NoActionBar">
<!-- Branch URI scheme -->
<intent-filter>
<data
android:host="open"
android:scheme="clm" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
</activity>
<meta-data android:name="io.branch.sdk.BranchKey" android:value="key_live_jjuGmW0h4nBkf309aOCBbpikstjXj60T" />
<meta-data android:name="io.branch.sdk.BranchKey.test" android:value="key_live_eetMk3Wl9w5Jo7kd3s3rPifnrzlZ8fp0" />
<activity
android:name=".login.ui.activity.RegistrationActivity"
android:screenOrientation="portrait"
android:theme="#style/AppTheme.NoActionBar" />
<activity
android:name=".shipment.ui.activity.ShipmentListActivity"
android:screenOrientation="portrait"
android:theme="#style/AppTheme.NoActionBar" />
<activity
android:name=".notification.ui.activity.NotificationListActivity"
android:screenOrientation="portrait"
android:theme="#style/AppTheme.NoActionBar" />
<activity
android:name=".notification.ui.activity.NotificationDetailsActivity"
android:screenOrientation="portrait"
android:theme="#style/AppTheme.NoActionBar" />
<activity
android:name=".shipment.ui.activity.AddShipmentActivity"
android:screenOrientation="portrait"
android:theme="#style/AppTheme.NoActionBar" />
<activity
android:name=".shipment.ui.activity.ShipmentDetailsActivity"
android:screenOrientation="portrait"
android:theme="#style/AppTheme.NoActionBar" />
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="#string/google_maps_key" />
<service
android:name=".shipmentMap.service.GeofenceTransitionsIntentService"
android:enabled="true" />
<service android:name=".common.service.AccessTokenWithRefreshTokenService" />
<service android:name=".common.service.LoadLastNotificationService" />
<service
android:name=".notification.service.NotificationSignalRService"
android:enabled="true" />
<service android:name=".shipmentMap.currentLocation.service.SendCurrentLocationService" />
<activity
android:name=".shipmentMap.ui.activity.MapsActivity"
android:screenOrientation="portrait"
android:theme="#style/AppTheme.NoActionBar" />
<receiver android:name=".common.receiver.NotificationReceiver">
<intent-filter>
<action android:name="com.selise.clm.SHIPMENT_CHANGED_ROUTE" />
<action android:name="com.selise.clm.SHIPMENT_FORWARD" />
<action android:name="com.selise.clm.SHIPMENT_COMPLETE" />
<action android:name="com.selise.clm.SHIPMENT_CANCELLED" />
<action android:name="com.selise.clm.NOTIFICATION_SERVER_CONNECTED" />
<action android:name="com.selise.clm.NOTIFICATION_SERVER_DISCONNECTED" />
</intent-filter>
</receiver>
<receiver android:name=".common.receiver.AccessTokenAlarmReceiver" android:exported="true"/>
<meta-data android:name="io.fabric.ApiKey" android:value="e7fe0e53b07c82fb5f682d0dddfc8aea6171cda8" />
<!-- Branch init -->
<meta-data
android:name="io.branch.sdk.BranchKey"
android:value="key_live_jjuGmW0h4nBkf309aOCBbpikstjXj60T" />
<meta-data android:name="io.branch.sdk.BranchKey.test" android:value="key_live_eetMk3Wl9w5Jo7kd3s3rPifnrzlZ8fp0" />
<!-- Branch testing (TestMode "true" to simulate fresh installs on dev environment) -->
<meta-data android:name="io.branch.sdk.TestMode" android:value="false" />
<receiver
android:name="io.branch.referral.InstallListener"
android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
<receiver android:name=".login.receiver.SmsReceiver">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
<activity android:name=".login.ui.activity.EnterSecurityCodeActivity"
android:screenOrientation="portrait"
android:theme="#style/AppTheme.NoActionBar"></activity>
</application>
Try to fix a typo here:
<uses-permission android:name="android.permisssion.ACCESS_COARSE_LOCATION" android:required="true" />
You have a permisssion (with 3 s, should be permission instead of permisssion).
As i was using SignalIR in my project. I also added the required jar files. The problem was solved. But double check that after adding packagingOptions your notifications works fine.
I added the following lines in the app gradle file like this...
android {
packagingOptions {
exclude 'lib/getLibs.ps1'
exclude 'lib/getLibs.sh'
exclude 'lib/gson-2.2.2.jar'
}
}
When I install my application it's working fine, the icon is displayed and have no issues, however when installing the application on the device from the apk it does not show the application name, it shows the package with no icon, when uploading to playstore it gives me an error stating I should add an icon to the application.
This use to work until recently.
ic_launcher icon file does exist.
my manifest file:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.my.package">
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.VIBRATE" />
<application
android:name="android.support.multidex.MultiDexApplication">
android:allowBackup="true"
android:icon="#mipmap/ic_launcher"
android:label="#string/app_name"
android:theme="#style/AppTheme">
<activity
android:name="com.my.package.MainActivity"
android:label="#string/app_name"
android:theme="#style/AppTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
<activity
android:name="com.my.package.LoginActivity"
android:label="#string/title_activity_login"
android:theme="#style/Theme.CustomTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.my.package.NotificationsActivity"
android:label="#string/title_activity_login"
android:theme="#style/AppThemeNoti"></activity>
<service android:name="com.my.package.FirebaseService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<service android:name="com.my.package.FirebaseToken">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="keyhere" />
<meta-data
android:name="com.google.android.gms.version"
android:value="#integer/google_play_services_version" />
</application>
</manifest>
I found the problem:
<application
android:name="android.support.multidex.MultiDexApplication">
I removed the > after MultiDexApplication. Figured the android:icon was greyed out and hence not working.
Thanks.
I recently imported my project over from Eclipse ADT over to Android SDK. I'm trying to re-run my simulator but I am encountering a problem with my AndroidManifest.xml file which states: /Users/####/Documents/android/medicine/src/main/AndroidManifest.xml:13:13-30 Error: Missing one of the key attributes 'action#name,category#name' on element intent-filter at AndroidManifest.xml:13:13-30
I searched on Google for the error but haven't come up with anything solid. Is there a reason for this error, I am assuming it is because of the Android version? Any help on this would be great.
Below is my AndroidManifest.xml file:
<?xml version="1.0" encoding="utf-8"?>
<manifest android:hardwareAccelerated="true" android:versionCode="20101" android:versionName="2.1.1" android:windowSoftInputMode="adjustPan" package="com.medicine" xmlns:android="http://schemas.android.com/apk/res/android">
<supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
<uses-permission android:name="android.permission.INTERNET" />
<application android:hardwareAccelerated="true" android:icon="#drawable/icon" android:label="Med Finder">
<activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="#string/app_name" android:launchMode="singleTop" android:name="Medicine" android:theme="#android:style/Theme.Black.NoTitleBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:label="#string/app_name" android:name="org.pgsqlite.SQLitePlugin">
<intent-filter />
</activity>
<receiver android:exported="true" android:name="com.google.ads.conversiontracking.InstallReceiver">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
<intent-filter>
<action android:name="com.medicine.MESSAGE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="#string/app_id" />
<receiver
android:name="com.pushbots.google.gcm.GCMBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<!-- Receives the actual messages. -->
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<!-- Receives the registration id. -->
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="com.medicinefinder" />
</intent-filter>
</receiver>
<receiver android:name="com.pushbots.push.DefaultPushHandler" />
<service android:name="com.pushbots.push.GCMIntentService" />
</application>
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- GCM connects to Google Services. -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<!-- GCM requires a Google account. -->
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<permission android:name="com.medicine.permission.C2D_MESSAGE" android:protectionLevel="signature" />
<uses-permission android:name="com.medicine.permission.C2D_MESSAGE" />
<!-- This app has permission to register and receive dataf message. -->
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<activity android:name="com.mopub.mobileads.MoPubActivity" android:configChanges="keyboardHidden|orientation|screenSize"/>
<activity android:name="com.mopub.mobileads.MraidActivity" android:configChanges="keyboardHidden|orientation|screenSize"/>
<activity android:name="com.mopub.common.MoPubBrowser" android:configChanges="keyboardHidden|orientation|screenSize"/>
</manifest>
check your these lines :
<activity android:label="#string/app_name" android:name="org.pgsqlite.SQLitePlugin">
<intent-filter />
</activity>
here you define intent filter but not any action so if you don't want to specify any action there just delete it or add any action that you want to listen,
This is my manifest file that my issue is with. Apk installed on the device but I don't see it in the apps and it doesn't launch as it supposed to. I bought this project for 79 dollars but the supplier is now unreachable.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.electricpunch.wallpaper"
android:versionCode="1"
android:versionName="1"
android:installLocation="preferExternal">
<uses-sdk android:minSdkVersion="7" />
<uses-feature android:name="android.software.live_wallpaper" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:icon="#drawable/ic_launcher"
android:label="#string/app_name" >
<service
android:name="com.electricpunch.wallpaper.PlanetWallpaper"
android:label="#string/app_name"
android:permission="android.permission.BIND_WALLPAPER" >
<intent-filter>
<action android:name="android.service.wallpaper.WallpaperService" />
</intent-filter>
<meta-data
android:name="android.service.wallpaper"
android:resource="#xml/wallpaper" />
</service>
<activity
android:label="#string/settings"
android:name="com.electricpunch.wallpaper.PlanetSettings"
android:exported="true"
>
</activity>
<!-- Ads Using Google Play Services SDK -->
<meta-data
android:name="com.google.android.gms.version"
android:value="#integer/google_play_services_version" />
<activity
android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|u iMode|screenSize|smallestScreenSize" />
</application>
</manifest>
It's difficult to answer without knowing which Activity was meant to be the launcher activity in the first place.
But you could try modifying this portion of your manifest,
<activity
android:label="#string/settings"
android:name="com.electricpunch.wallpaper.PlanetSettings"
android:exported="true"
>
</activity>
to,
<activity
android:label="#string/settings"
android:name="com.electricpunch.wallpaper.PlanetSettings"
android:exported="true"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Though your best bet is to contact the person you got the app from.
Your app does not launch because no activtity is decalred to be launch in your manifest.
I don't know which activity you want to use but to be launch from laucher your app should have an activty declared like this :
<activity android:name="your.package.YourActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
With Android 4.0.4 Google Maps API V2 shows nothing (blank white screen). It works with Android >4.1, so the API key is correctly configured.
There are some Warnings in Logcat, but they also occur on Android >4.1, where everything works fine.
01-11 16:39:03.325: E/GooglePlayServicesUtil(6470): The Google Play services resources were not found.
Check your project configuration to ensure that the resources are included.
Here is my project's manifest : (eclipse build target is google APIs 19)
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.hska"
android:versionCode="17"
android:versionName="2.0.0" >
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true" />
<!-- PERMISSIONS -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_CALENDAR" />
<uses-permission android:name="android.permission.WRITE_CALENDAR" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.VIBRATE" />
<!-- Needed for GmapsApi v2 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<uses-feature
android:name="android.hardware.telephony"
android:required="false" />
<application
android:name="de.hska.HsKAmpusApp"
android:allowBackup="true"
android:icon="#drawable/ic_launcher"
android:label="#string/app_name"
android:theme="#style/HskaTheme" >
<provider
android:name="de.hska.util.BuildingSuggestionProvider"
android:authorities="de.hska.util.BuildingSuggestionProvider.search_suggestion_provider"
android:syncable="false" />
<!-- Activities -->
<activity
android:name="de.hska.gui.activity.SplashActivity"
android:enabled="true"
android:noHistory="true" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data
android:name="android.app.searchable"
android:resource="#xml/searchable" />
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
</activity>
<activity
android:name="de.hska.gui.activity.SmallScreenActivity"
android:enabled="true" >
<meta-data
android:name="android.app.searchable"
android:resource="#xml/searchable" />
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
</activity>
<activity
android:name="de.hska.gui.activity.BigScreenActivity"
android:enabled="true" >
<meta-data
android:name="android.app.searchable"
android:resource="#xml/searchable" />
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
</activity>
<activity
android:name="de.hska.gui.activity.SelectScheduleActivity"
android:enabled="true"
android:noHistory="false" >
</activity>
<activity
android:name="de.hska.gui.activity.PersonDetailMapActivity"
android:enabled="true"
android:label="#string/title_activity_map" >
</activity>
<!-- Services -->
<service
android:name="de.hska.controller.FileService"
android:exported="false" />
<service android:name="de.hska.service.UpdateService" />
<service android:name="de.hska.service.GradeService" />
<service
android:name="de.hska.auth.AccountAuthenticatorService"
android:exported="true"
android:process=":auth" >
<intent-filter>
<action android:name="android.accounts.AccountAuthenticator" />
</intent-filter>
<meta-data
android:name="android.accounts.AccountAuthenticator"
android:resource="#xml/authenticator" />
</service>
<!-- Receivers -->
<receiver
android:name="de.hska.receiver.GradeJobScheduler"
android:enabled="true" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" >
</action>
<action android:name="de.hska.gradeBroadcast" />
</intent-filter>
</receiver>
<receiver android:name="de.hska.receiver.GradeReceiver" >
<intent-filter>
<action android:name="android.intent.extra.ALARM_COUNT" />
</intent-filter>
</receiver>
<receiver android:name="de.hska.receiver.UpdateReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" >
</action>
<action android:name="de.hska.updateBroadcast" />
</intent-filter>
</receiver>
<receiver android:name="de.hska.receiver.ProgressReceiver" >
<intent-filter>
<action android:name="android.intent.extra.ALARM_COUNT" />
</intent-filter>
</receiver>
<meta-data
android:name="com.google.android.gms.version"
android:value="#integer/google_play_services_version" />
<!-- Google Maps v2 API Key -->
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" />
</application>
</manifest>
Here's the google play services manifest: (eclipse build target is Google APIs level 19)
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.google.android.gms"
android:versionCode="4030530"
android:versionName="4.0.30 (889083-30)" >
<uses-sdk android:minSdkVersion="8"
android:targetSdkVersion="19" />
</manifest>