“ERROR getting 'android:icon' attribute: attribute is not a string value” - android

I get this error while I was uploading .apk to Google Play:
Upload failed
Your APK cannot be analysed using 'aapt dump badging'. Error output: <pre>Failed to run aapt dump badging: W/ResourceType(19605): Failure getting entry for 0x7f070000 (t=6 e=0) in package 0 (error -75) ERROR getting 'android:icon' attribute: attribute is not a string value</pre>
I have icon image under drawable folder with 96x96 size.
I had values-sr folder for some translation, but I deleted that folder because I don't need that translation now.
Here is my AndroidManifest.xml file:
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="8" />
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true" />
<application
android:allowBackup="true"
android:icon="#drawable/icon"
android:label="#string/app_name"
android:theme="#android:style/Theme.Light.NoTitleBar.Fullscreen" >
<activity
android:name="com.zookey.mathgenius.HomeActivity"
android:screenOrientation="portrait"
android:configChanges="orientation|keyboardHidden|keyboard"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.zookey.mathgenius.activities.LocalGameActivity" android:noHistory="true" android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden|keyboard"></activity>
<activity android:name="com.zookey.mathgenius.activities.ResultActivity" android:noHistory="true" android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden|keyboard"></activity>
<activity android:name="com.zookey.mathgenius.activities.TimedResultActivity" android:noHistory="true" android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden|keyboard"></activity>
<activity android:name="com.zookey.mathgenius.activities.RaceResultActivity" android:noHistory="true" android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden|keyboard"></activity>
<activity android:name="com.zookey.mathgenius.activities.RaceRankActivity" android:noHistory="true" android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden|keyboard"></activity>
<activity android:name="com.zookey.mathgenius.activities.OnlineRaceRankActivity" android:noHistory="true" android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden|keyboard"></activity>
<activity android:name="com.zookey.mathgenius.activities.OnlineRaceResultActivity" android:noHistory="true" android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden|keyboard"></activity>
<activity android:name="com.zookey.mathgenius.activities.SettingsActivity" android:noHistory="true" android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden|keyboard"></activity>
<activity android:name="com.zookey.mathgenius.activities.HelpActivity" android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden|keyboard"></activity>
<activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
</application>

I ran into a similar problem when uploaded an app. Turns out that the app icon in my manifest:
android:icon="#drawable/app_icon" had corresponding files under /res/drawable-small, /res/drawable-normal, /res/drawable-large and /res/drawable-xlarge but not under /res/drawable. Looks like the automated process of Google Play only looks up /res/drawable. Copying the app icon into this directory did the trick for me.

Related

Soomla GooglePlayIabService

Hi I have used the older version of soomla plugin in my android app and it was working fine, but when i try to integrate into the latest version(core version : 1.0, StoreVersion : 1.7.3) available this error pops up.
SOOMLA GooglePlayIabService
(launchPurchaseFlow) Error purchasing item calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
SOOMLA SoomlaStore
ERROR : SoomlaStore failure(launchPurchaseFlow) Error purchasing item Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. is this really what you want?
When i created an empty project and tried the plugin i could make the purchase successfully. Same is not happening for the project i want it to work with. Also using Facebook unity plugin. Unity version is 4.5.3.
11-24 16:38:39.497: E/SOOMLA GooglePlayIabService(12139): (launchPurchaseFlow) Error purchasing item Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
11-24 16:38:39.497: E/SOOMLA SoomlaStore(12139): ERROR: SoomlaStore failure: (launchPurchaseFlow) Error purchasing item Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
AndroidManifest file is below.
![<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.unity3d.player" android:installLocation="preferExternal" android:versionCode="1" android:versionName="1.0">
<uses-permission android:name="com.android.vending.BILLING" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.GET_TASKS" />
<supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" android:anyDensity="true" />
<uses-sdk android:targetSdkVersion="21" android:minSdkVersion="9" />
<application android:icon="#drawable/app_icon" android:label="#string/app_name" android:debuggable="true" android:name="com.soomla.SoomlaApp">
<activity android:name="com.unity3d.player.UnityPlayerProxyActivity" android:label="#string/app_name" android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.unity3d.player.UnityPlayerActivity" android:label="#string/app_name" android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
</activity>
<activity android:name="com.unity3d.player.UnityPlayerNativeActivity" android:label="#string/app_name" android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
<meta-data android:name="android.app.lib_name" android:value="unity" />
<meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="false" />
</activity>
<activity android:name="com.unity3d.player.VideoPlayer" android:label="#string/app_name" android:screenOrientation="behind" android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
</activity>
<activity android:name="com.soomla.store.billing.google.GooglePlayIabService$IabActivity" android:theme="#android:style/Theme.Translucent.NoTitleBar.Fullscreen">
</activity>
<meta-data android:name="billing.service" android:value="google.GooglePlayIabService" />
<activity android:name="com.facebook.unity.FBUnityLoginActivity" android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen" android:theme="#android:style/Theme.Translucent.NoTitleBar.Fullscreen">
</activity>
<activity android:name="com.facebook.LoginActivity" android:screenOrientation="portrait" android:configChanges="keyboardHidden|orientation" android:theme="#android:style/Theme.Translucent.NoTitleBar.Fullscreen">
</activity>
<activity android:name="com.facebook.unity.FBUnityDeepLinkingActivity" android:exported="true">
</activity>
<activity android:name="com.TeenPatti.RoyalIndianPoker.MainActivity" android:label="#string/app_name">
</activity>
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="\ 1499084616994189" />
</application>
</manifest>][1]
Here is the screenshot for the logcat error
There seemed to be an issue with AndroidStoreGooglePlay.jar. Changing it to the latest commit fixed the issue for me latest commit. Hope it might help others too.

Releasing the android app

This question is related to the releasing the app to app store.
I am getting this error in commend line.
error= ERROR getting 'android:name' attribute: attribute is not an integer value
actually I am launching the app, but its showing the error in commend line.
Edit:
here is my Manifest.xml file code
<uses-sdk
android:minSdkVersion="12"
android:targetSdkVersion="17" />
<application
android:name="mobile.briltime.brilnet.SdkDemoLowLevelApp"
android:allowBackup="true"
android:icon="#drawable/ic_launcher"
android:label="#string/app_name"
android:theme="#android:style/Theme.NoTitleBar.Fullscreen" >
<activity android:label="#string/app_name"
android:name="mobile.briltime.brilnet.SplaseScreen"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="mobile.briltime.brilnet.MainActivity"
android:screenOrientation="portrait"></activity>
<activity android:name="mobile.briltime.brilnet.LoginManual"
android:screenOrientation="portrait"></activity>
<activity android:name="mobile.briltime.brilnet.AnimationStackedFrames"
android:screenOrientation="portrait"></activity>
<activity android:name="mobile.briltime.brilnet.Login"
android:screenOrientation="portrait"></activity>
<activity android:name="mobile.briltime.brilnet.MyFriendListActivity"
android:screenOrientation="portrait"></activity>
<provider
android:name="com.c2call.sdk.pub.db.provider.C2CallContentProvider"
android:authorities="mobile.briltime.brilnet.content"
android:exported="true"
android:grantUriPermissions="true" >
<grant-uri-permission android:pathPattern=".*" />
</provider>
</application>
thanks for your contribution, finally i solved the problem.
Simply I delete the screen orientation from the manifest file and now its working.
My guess is that you have your android:name attribute hardcoded. Change it to a string resource.
Example:
android:name = "MyAppName"
to
android:name = "#string/app_name"
with strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">MyAppName</string>
</resources>
I guessed this (you didn't give us enough information to do more) because the resource ids in Android are ints, generated by aapt.
More about the Manifest and String Resources.
I don't know why that should be an issue to the Playstore though...

INSTALL_PARSE_FAILED_MANIFEST_MALFORMED when adding another activity

I am trying to add a second activity to my android manifest file but am receiving a INSTALL_PARSE_FAILED_MANIFEST_MALFORMED error. I have isolated the offending code to this line:
<activity android:name="com.MyPackage.Main.FacebookLoginActivity"
android:label="Facebook"></activity>
When I type it in like this
<activity android:name=".FacebookLoginActivity"
android:label="Facebook"></activity>
it works fine but when I try to start the activity via
this.startActivity(new Intent(this, FacebookLoginActivity.class));
I get an error saying cannot locate "com.MyPackage.Main/com.MyPackage.Main.FacebookLoginActivity".
Is that activity wrong in some way?
Here a portion of my manifest file:
<application
android:icon="#drawable/ic_launcher"
android:label="#string/app_name"
android:allowBackup="true">
<activity
android:name=".MainActivity"
android:configChanges="orientation"
android:label="#string/app_name"
android:theme="#style/Theme.NoBackground">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.MyPackage.Main.FacebookLoginActivity" android:label="Facebook"></activity>
<activity android:name="com.facebook.LoginActivity"
android:theme="#android:style/Theme.Translucent.NoTitleBar"
android:label="#string/app_name" />
<meta-data android:name="com.facebook.sdk.ApplicationId"
android:value="#string/facebook_app_id"/>
</application>
Try changing you package declaration to com.mypackage.main.
Your class name would be com.mypackage.main.FacebookLoginActivity

Android app built in eclipse wont run on phone

I've built an app that runs fine on the emulators, and says that it installs ok on the phone. However, on trying to run it an error pops up saying 'Application is not installed on your phone'. So I tried running the app through eclipse on the phone and I got this error in the console:
[2012-05-01 12:00:02 - MAD Assignment] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.mad.assignment/.MainMenu }
[2012-05-01 12:00:02 - MAD Assignment] ActivityManager: java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.mad.assignment/.MainMenu } from null (pid=8204, uid=2000) requires null
From looking for the solution elsewhere it sounds as though it could be a problem in the manifest file, so here is mine:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mad.assignment"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="10" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<application
android:icon="#drawable/ic_launcher"
android:label="#string/app_name"
>
<activity
android:name="MainMenu"
android:label="#string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Diary"></activity>
<activity android:name=".Info"></activity>
<activity android:name=".MapMenu"></activity>
<activity android:name=".RSSMenu"></activity>
<activity android:name=".RSSFeedView"></activity>
<activity android:name=".MainMenu"></activity>
<activity android:name=".RSSDetailed"></activity>
<activity android:name=".DiarySchedule"></activity>
<activity android:name=".DiaryAddEntry"></activity>
<activity android:name=".DiaryEditEntry"></activity>
<activity android:name=".DiaryDetailed"></activity>
<activity android:name=".RSSDetailed"></activity>
<uses-library android:name="com.google.android.maps"/>
<activity android:name=".MapMain"></activity>
<activity android:name=".RSSFeedView"></activity>
<activity android:name=".MapWhatsNearPreferences"></activity>
<activity android:name=".RoutePath"></activity>
</application>
Any ideas what this security exception is pointing to? Thanks!
The java.lang.SecurityException you are seeing is because you may enter two entries pointing to same activity. Remove the second one and you should be good to go.
You may be declared the activity 2 times in the manifest with different properties, like :
<activity android:name=".MainMenu"> </activity>
and
<activity android:name=".MainMenu" android:label="#string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
You should remove the unwanted one from the manifest
Set android:debuggable="true" under application.
You have an activity named
<activity android:name=".MainMenu"></activity>
Which is the Intent'ed activity from the launcher. But the activity to which you gave permission is "Mainmenu". Remove it. Add the permission and etc to the ".Mainmenu" which is blank now.
ie,
The 'activity' group should be
<activity
android:name=".MainMenu"
android:label="#string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Diary"></activity>
<activity android:name=".Info"></activity>
<activity android:name=".MapMenu"></activity>
<activity android:name=".RSSMenu"></activity>
<activity android:name=".DiarySchedule"></activity>
<activity android:name=".DiaryAddEntry"></activity>
<activity android:name=".DiaryEditEntry"></activity>
<activity android:name=".DiaryDetailed"></activity>
<activity android:name=".RSSDetailed"></activity>
<uses-library android:name="com.google.android.maps"/>
<activity android:name=".MapMain"></activity>
<activity android:name=".RSSFeedView"></activity>
<activity android:name=".MapWhatsNearPreferences"></activity>
<activity android:name=".RoutePath"></activity>
And remove the duplicates as well. Why did you add so many duplicate 'activities' ?

Package installer crash on install LG Optimus when installing my application

When I run my application in the emulator, it runs fine. When I send it (email) to my phone, the following message occurs:
Sorry! The application Package Installer (process.com.android.packageinstaller) has stopped unexpectedly. Please try again.
I have tried the solutions to similar questions on SO and have looked through Google to find a solution that will work, so far to no avail.
Here is my manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="application.android"
android:versionCode="1"
android:versionName="1.0"
android:installLocation="auto">
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.INTERNET"/>
<application android:icon="#drawable/icon"
android:label="#string/app_name"
android:permission="android.permission.INTERNET">
<activity android:name=".MainActivity"
android:label="#string/app_name"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".HistoryActivity"
android:label="#string/app_name"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar"></activity>
<activity android:name=".DiagnosisActivity"
android:label="#string/app_name"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar"></activity>
<activity android:name=".eula"
android:label="#string/app_name"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar"></activity>
<activity android:name=".disclaimer"
android:label="#string/app_name"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar"></activity>
<activity android:name=".DetailsActivity"
android:label ="#string/app_name"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar"></activity>
<activity android:name=".ResultsActivity"
android:label ="#string/app_name"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar"></activity>
<activity android:name=".DiagnosisNoteActivity"
android:label ="#string/app_name"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar"></activity>
<activity android:name=".NewDiagnosisActivity"
android:label ="#string/app_name"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar"></activity>
<activity android:name=".DiagnosisTabActivityGroup"
android:label ="#string/app_name"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar"></activity>
<activity android:name=".TabGroupActivity"
android:label ="#string/app_name"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar"></activity>
<activity android:name=".SplashActivity"
android:label ="#string/app_name"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar"></activity>
<activity android:name=".NewScreenActivity"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar"></activity>
</application>
When debugging on my phone through Eclipse the following shows in console:
[2012-03-12 23:38:52 - ruleout] Android Launch!
[2012-03-12 23:38:52 - ruleout] adb is running normally.
[2012-03-12 23:38:52 - ruleout] Performing ruleout.android.MainActivity activity launch
[2012-03-12 23:38:54 - ruleout] Uploading ruleout.apk onto device 'A0000028F2ABCF'
[2012-03-12 23:39:11 - ruleout] Installing ruleout.apk...
[2012-03-12 23:40:16 - ruleout] Success!
[2012-03-12 23:40:16 - ruleout] Starting activity ruleout.android.MainActivity on device A0000028F2ABCF
[2012-03-12 23:40:17 - ruleout] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=ruleout.android/.MainActivity }
[2012-03-12 23:40:17 - ruleout] ActivityManager: java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=ruleout.android/.MainActivity } from null (pid=16174, uid=2000) requires android.permission.INTERNET
There is nothing shown in the LogCat window and as far as I can tell, I have enabled internet permissions. Also, I did add the android:debuggable="true" attribute to the application tag.
I managed to solve the problem so for anyone who comes across the same issue, if you remove the android:permission attribute from the application tag in the manifest, then it works like a charm.
Are you debugging? If so, you will need to add "android:debuggable" your application tag like so:
<application
android:icon="#drawable/icon"
android:label="#string/app_name"
android:debuggable="true"
You should also check that the phone is in debug mode (Settings>Application>Debugging)

Categories

Resources