I can't export package. Processing told me: the sketch does not include all required app.icons

edited February 2018 in Android Mode

I have done all wath "kfrajer" advice, and I have consulted all the information about the requiered icons. But I couldn´t export the package. Could somebody help me? thanks

Tagged:

Answers

  • Did you modify the icon reference in the manifest? (Tip: You shouldn't)

    Did you name the files as described in the post?

    Can you post a link to the post you are using as a reference? This makes sure we are looking at the same thing (Sorry, I don't have access to that post atm)

    If you don't include the icon images, can you still run your app in your device? Can you post the list of errors you get when building?

    Please, tell us what processing version, Android mode versions and what OS are you working on.

    Kf

  • edited January 2018

    Hi Kfrajer, thanks for your answer

    1. No. I only modify : the package name is "Marina Zerbarini", version code 1, and version name Esquinas por doblar:
    2. Yes, I did it exactly like the description
    3. https://forum.processing.org/two/discussion/16699/how-to-set-icon-in-android-processing
    4. I can run the app in the phone correctly and I dont have errors in the building
    5. Processing version: 3.3.6, Android Studio 3.0.1 (in the pc, but I don´t know what version imported processing. The OS is window 64
  • I can run the app in my phone, but the icon is not mine

  • In point 1, in this moment I have to eliminate package name and version name. I have problem with this, but I now I can´t export signed package because the sketch still has the defaut package name

  • Sorry, I don't have experience with changing the package name and the version name that you are referring too. I will suggest you focus first in getting the icons set for your app and address your other question in a separate post. Press ctrl+k to open the sketch folder. Rename your manifest file to something like manifest.xml.old. Then close your pde file and open it again. Verify that a new manifest file was generated. Then enable any permissions required for your app. Then copy the icon images inside your sketch folder (the same folder you get from ctrl+k key shortcut). These are the images:

    • icon-180.png
    • icon-192.png
    • icon-36.png
    • icon-48.png
    • icon-72.png
    • icon-96.png

    It worked for me. I tested it using P3.3.6 and AM 4.0 on Win10 x64. I used the code from the following post:

    https://forum.processing.org/two/discussion/26167/loadstrings-url-isn-t-working-on-android-mode#latest

    Kf

  • Ok. Thank you, I will do it

  • edited January 2018

    @marinazer===

    • it seems that you are using AS; so i suppose that you have imported your p5 project inside AS; is it true???

    • if so can you put the manifest file you have in AS?

    • when changing the package name what are you writing?

    • are your icons in the res folder?

    • are they in the drawable-mdpi, hdpi and so on subfolders? - How are they called?

  • Hi akenaton. 1) I don´t know what is AS and p5. I´m ussing processing with Android Library. 2) I have an: Android manifiest file but I don´t understand how or where have I to put 3 ) I write "Marina.Zerbarini" 4) I don´t have res folder. I only have the sketch folder of processing with data folder and code folder. I put the icons in the sketch folder. res?. drawable? I dont find anything like. 5) They call: icon-36.png (and repeat: 36, 48,72...) or icon-36 (and repet: 48,72...)

  • Hi Akenaton: Well, 1) I put the icons like: icon-36 without png in the sketch folder, because with .png doesen´t appears in the res folder.2) I "Export android Proyect", 3) now I have the android folder, in app,src, main, res I have all the drawable folders with my icon.3) I can see "my icon" when I run in my phone. 4) But when I "exported signed packages" it appears a message: The sketch does not include all required app icons and I can´t continue with the exporting. I don´t know what to do. My AndroidManifiest is this:

    <?xml version="1.0" encoding="UTF-8"?>

  • Something more: in the drawables folders (all) the icons appears only: icon

  • Press ctrl+k to open the sketch folder. You will find there the manifest.xml file. Open it and it should contain some other fields. An example of one is found here (plus some other information that you might be interested to read upon): http://android.processing.org/tutorials/distributing/index.html

    AS is Android Studio, and IDE designed exclusively to do apps for Android. You can export your pde into AS but then you need to do some tweaking to make it work.

    Kf

  • Thaks Kfrajer. Y consulted the link, but I dont understando what do you advice me. Do hay have to replace the example in my manifiest? I want to upload it to the Google Play Developer Console

  • First, you need to post your manifest file's content. I believe akenaton can help you with the exporting part as he is more experienced in that. It is important to see the manifest so to make sense of what you have said before:

    No. I only modify : the package name is "Marina Zerbarini", version code 1, and version name Esquinas por doblar:

    Moreover, Processing creates the manifest file for you. The manifest file that you posted before doesn't make sense (at least to me)... This is for an Android app? Or are you working will android devices or wall papers?

    Relate to the icons, I am suspecting you need to follow certain structured for your publication. Maybe Processing android is not generating the full folder structured (as described by akenaton). Exporting your app is a great idea as you can see the final folder layout. However, right now, it is not clear if the issue is due to this folder layout or something else missing in the publication process.

    Did more browsing around:

    https://forum.processing.org/two/discussion/24310/icons-needed-in-exporting-signed-package

    https://github.com/processing/processing-android/blob/master/src/processing/mode/android/AndroidMode.java#L107

    Now, you are getting this message because of this check:

    https://github.com/processing/processing-android/blob/master/src/processing/mode/android/AndroidMode.java#L378

    Kf

  • edited January 2018

    @marinazer===

    Please answer exactly to these questions inorder to be simple && precise

    • What is your Manifest: put it there: what you put is not a Manifest

    • Are you exporting (signed) your app from P5 then importing it into Android Studio (as you seem to do)

  • +Oh,Oh,Oh I don´t know what you mean. Where or what is a Manifest? I use only processing. Do you refer to the code I write? I´m exporting from Processing, I don´t importing nothing. The Android tolder is constructed by processing when I export.

  • I´m working with Android VR. ¿is it different?

  • This is the manifiest if I indicate app: <?xml version="1.0" encoding="UTF-8"?>

  • Ok, so Android VR, my understanding, is one of the new features using Android mode in Processing. I don't have experience using VR's. Is this using your device as a VR or would you be connecting to a VR? Not sure what a manifest for Android VR (or any of the other technologies: Wallpapers, watch, etc) look like. I am sure I can google it and find one.

    I won't be able to help much in your post. You should post what you want to do, what you have and explicitly state your issues (again). Initially it was about icons but now is about... hmmm, not clear.

    Please also tell us about your experience in Android.

    Kf

  • @marinazer===

    I use only processing

    Processing version: 3.3.6, Android Studio 3.0.1

    ??????

    and where have you written your versionname (&& package name)

    sorry i don't understand

  • edited February 2018

    I´m using Android mode in Processing. When I select VR I can run on my phone device. The phone has android and daydream. I don´t have problem with this, I can see my work in the phone with Google Daydream View - VR Headset (Snow) and it looks very well. The problem is when I "exported signed package". First a window tell ...the sketch still has the default package name. Not good, since this name will uniquely identify your app on the Play store... for ever! Come up with a different package name and write in the AndroidManifest.xml file in the sketch folder, after the "package=" attribute inside the manifest tag, which also contains version code and name. Once you have done that, try exporting the sketch again. For more info on distributing apps from Processing, check this online tutorial...

    I read the tutorial in: http://android.processing.org/tutorials/distributing/index.html The instructions there :**You can set your own package name by editing the manifest file that Processing generates in the sketch folder after you run it for the first time from the PDE (either on a device or in the emulator). You can also set the version code and version name. For example, in the following manifest file, the package name is "com.example.sketch", version code 1, and version name 0.5.4: ** So, I edited the AndroidManifiest and completed the package name. This is:

    <?xml version="1.0" encoding="UTF-8"?>

    Then I try exporting the sketch again and the second window is:
    __The sketch does not include all required app icons. Processing could use its default set of Android icons, which are okay to test the app on your device, but a bad idea to distribute it on the Play store. Create a full set of unique icons for your app, and copy them into the sketch folder. Once you have done that, try exporting the sketch again. For more info on distributing apps from Processing, check this online tutorial.http://android.processing.org/tutorials/distributing/index.html AND THIS IS MY PROBLEM. I can´t continue with the exporting. Processing should ask me: _After selecting this option, Processing will ask you to create a new keystore to store the release key to sign the app package: _ but this doesn´happen. So I don´t know how to continue to publish in the Play Store Thanks for your patient and sorry if I´m not clear

  • @marinazer===

    • Android mode IS NOT Android Studio: ok (but you are not at all clear!)

    • WHERE exactly have you put your "version name", and package name???

    • you say that you EDITED the manifest file: put it there as it is and completely

  • edited February 2018

    OK. Here it is:

    <?xml version="1.0" encoding="UTF-8"?>

  • The version name is "Esquinas" y Package name is "Marina.Zerbarini"

  • @marinazer===

    <?xml version="1.0" encoding="UTF-8"?>
    • is it your COMPLETE manifest file???
    • where have you written "Esquinas"??? where have you written "Marina.Zerbarini"???
  • edited February 2018

    Hi Akenaton. I´ve posted the enterely manifiest file. I don´t know why you can´t see. In my computer, in the upper right corner of the message, there are a little icon to open all the file. I´ve written Esquinas y Marina Zerbarini, in the third and fourth line. This is: android:versionCode="1" android:versionName="Esquinas" package="Marina.Zerbarini">

  • ``<?xml version="1.0" encoding="UTF-8"?>

  • Manifiest

    I hope you can see this image, is the text complete.

  • edited February 2018

    @marinazer===

    ok; now we can work! ouf!

    • first problem : icons; go to your icons folder inside modes/ android: get a copy of this folder then create a new one with your icons called exactly as they were (icon-72.png and so on.... dont modify the circular ones)

    • second problem : version name; you could put what you want inside the manifest, as you have done = must be a string without forbidden chars; choose lower case: "esquinas"; but why changing that, i cannot see, it is useless...

    • third problem: package name; you have to give something like com.myFolder at least (you can write something like com.myFolder.mysubFolder and so on: that is only the path for your package that is not at all the name which appears under your icon

    • this one is fixed by the label tag, inside your Manifest: which has to be something like that:

    android:versionCode="1" android:versionName="1.0" package="com.akenaton"> .....

    application android:debuggable="true" android:icon="@drawable/icon" android:label="essai"

    • export your signed package,go to the android exported folder, get the zipaligned released apk and change its name if you want, does not matter: mygenial.apk.

    • put it on line to some url

    • go there with your phone, download and install; before, be sure that you have not any version already installed (destroy them if so)

    and enjoy!

  • OK Thanks, thank you very mucht. I'm not now at home. En a few days, when I return i will do just you say and I will coment what happen.

  • @marinazer===

    && if it works, put answered for others.

  • Hi Akenaton: I did what you suggest me and when I export the signed packages, it appears this message:

    [Fatal Error] :11:57: El nombre de atributo "android:" asociado a un tipo de elemento "application" debe ir seguido del carácter ' = '. org.xml.sax.SAXParseException; lineNumber: 11; columnNumber: 57; El nombre de atributo "android:" asociado a un tipo de elemento "application" debe ir seguido del carácter ' = '. at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:257) at

    and if I omit this part of the code I´m in the same problem:____The sketch does not include all required app icons__

    I try to include the "=", but it´doesn´t work.

  • @marinazer===

    • Put again your complete Manifest as it is when the error is fired

    • When you run the app in debug mode on the phone is the error fired???

  • 1) Its not clear for me these: first problem : icons; go to your icons folder inside modes/ android: get a copy of this folder then create a new one with your icons called exactly as they were (icon-72.png and so on.... dont modify the circular ones) ¿what folder? The data sketch folder? or the res folder in Android folder? If I get a copy what name should be? and where do I have to create it?

    2) I have the sam error runing the app on my phone.

    3)) This is the complete manifest:

    manifiest2

  • @marinazer===

    i think i told you: go to your icons folder inside modes/ android/ so i is NOT the res folder nor the sketch folder; it s your main processing workspace folder. you copy the iconfolder put it where you want then modify the icons inside the icons folder putting your icons with the same name and the same size....

  • OK. I will do it. The other problem with the manifiest, when I debbugg in my phone the texto of the "fatal error" is diferent. It´s: ___ [Fatal Error] :11:43: _El tipo de elemento "application" debe ir seguido de una de estas especificaciones de atributo: ">" o "/>". org.xml.sax.SAXParseException; lineNumber: 11; columnNumber: 43; El tipo de elemento "application" debe ir seguido de una de estas especificaciones de atributo: ">" o "/>". at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:257) at____

  • edited February 2018

    @marinazer===

    tell me when you have made the changes

    as for the error message it seems to me that there is some typo in your manifest, line 11: probably missing space between attributes; as your manifest is quite unreadable i cannot help more; what i see is that the general structure is ok, that s why i speak about some typo after the <application tag.

  • Well, now my manifiest is this:

    <?xml version="1.0" encoding="UTF-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.esquinas"> <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="26"/> <uses-permission android:name="android.permission.VIBRATE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-feature android:name="android.hardware.sensor.accelerometer" android:required="true"/> <uses-feature android:name="android.hardware.sensor.gyroscope" android:required="true"/> <uses-feature android:name="android.software.vr.mode" android:required="false"/> <uses-feature android:name="android.hardware.vr.high_performance" android:required="false"/> <uses-feature android:glEsVersion="0x00020000" android:required="true"/> <application android:debuggable="true"> android:icon="@drawable/icon" android:label="essai" android:theme="@style/VrActivityTheme"&gt;<activity android:configChanges="orientation|keyboardHidden|screenSize" android:name=".MainActivity" android:resizeableActivity="false" android:screenOrientation="landscape"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> <category android:name="com.google.intent.category.DAYDREAM"/> </intent-filter> </activity> </application> </manifest> when I exported signed packages, the message is: The sketch does not include all required app icons.

    when I debug in my phone, I can see it correctly, with the name I put in the manifiest, but with the android icon, not mine and processing tell these:

    ` Build folder: C:\Users\PC\AppData\Local\Temp\android3826128749433457143sketch java.lang.NullPointerException at processing.mode.android.Manifest.writeCopy(Manifest.java:290) at processing.mode.android.AndroidBuild.createAppModule(AndroidBuild.java:358) at processing.mode.android.AndroidBuild.createProject(AndroidBuild.java:245) at processing.mode.android.AndroidBuild.build(AndroidBuild.java:199) at processing.mode.android.AndroidMode.handleRunDevice(AndroidMode.java:315) at processing.mode.android.AndroidEditor$15.run(AndroidEditor.java:373) NDK is missing a "platforms" directory. If you are using NDK, verify the ndk.dir is set to a valid NDK directory. It is currently set to F:\ ARCHIVOS PERSONALES\DOCUMENTOS\Processing\android\sdk\ndk-bundle. If you are not using NDK, unset the NDK variable from ANDROID_NDK_HOME or local.properties to remove this warning.

    The setTestClassesDir(File) method has been deprecated and is scheduled to be removed in Gradle 5.0. Please use the setTestClassesDirs(FileCollection) method instead. The getTestClassesDir() method has been deprecated and is scheduled to be removed in Gradle 5.0. Please use the getTestClassesDirs() method instead. The ConfigurableReport.setDestination(Object) method has been deprecated and is scheduled to be removed in Gradle 5.0. Please use the method ConfigurableReport.setDestination(File) instead. :app:preBuild UP-TO-DATE :app:preDebugBuild UP-TO-DATE :app:checkDebugManifest :app:preReleaseBuild UP-TO-DATE :app:prepareComAndroidSupportAnimatedVectorDrawable2520Library :app:prepareComAndroidSupportAppcompatV72520Library :app:prepareComAndroidSupportDesign2520Library :app:prepareComAndroidSupportRecyclerviewV72520Library :app:prepareComAndroidSupportSupportCompat2520Library :app:prepareComAndroidSupportSupportCoreUi2520Library :app:prepareComAndroidSupportSupportCoreUtils2520Library :app:prepareComAndroidSupportSupportFragment2520Library :app:prepareComAndroidSupportSupportMediaCompat2520Library :app:prepareComAndroidSupportSupportV42520Library :app:prepareComAndroidSupportSupportVectorDrawable2520Library :app:prepareComAndroidSupportTransition2520Library :app:prepareComGoogleVrSdkAudio1601Library :app:prepareComGoogleVrSdkBase1601Library :app:prepareComGoogleVrSdkCommon1601Library :app:prepareDebugDependencies :app:compileDebugAidl :app:compileDebugRenderscript :app:generateDebugBuildConfig :app:generateDebugResValues :app:generateDebugResources :app:mergeDebugResources :app:processDebugManifest :app:processDebugResources :app:generateDebugSources :app:incrementalDebugJavaCompilationSafeguard :app:javaPreCompileDebug :app:compileDebugJavaWithJavac :app:compileDebugNdk NO-SOURCE :app:compileDebugSources :app:mergeDebugShaders :app:compileDebugShaders :app:generateDebugAssets :app:mergeDebugAssets :app:transformClassesWithDexForDebug :app:mergeDebugJniLibFolders :app:transformNativeLibsWithMergeJniLibsForDebug:app:processDebugJavaRes NO-SOURCE :app:transformResourcesWithMergeJavaResForDebug :app:validateSigningDebug :app:packageDebug :app:assembleDebug

    BUILD SUCCESSFUL in 9s 36 actionable tasks: 36 executed No event method `

  • @marinazer===

    • are you sure that your app compiles with this manifest file (i can see 2 errors but perhaps they are typos caused by the forum: &gt what is that???: must be >)

    • what have you done exactly for the icons???

    • the error message you have put does not speak about icons; it speaks about manifest, about gradle version (which does not matter) and ndk (as you probably does not use ndk that is only a warning)

  • edited February 2018

    1) Yes, my app compiles with this manifiest file, and the error is in the original Manifest. I changed and now is this:

    <?xml version="1.0" encoding="UTF-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.Marina"> <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="26"/> <uses-permission android:name="android.permission.VIBRATE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-feature android:name="android.hardware.sensor.accelerometer" android:required="true"/> <uses-feature android:name="android.hardware.sensor.gyroscope" android:required="true"/> <uses-feature android:name="android.software.vr.mode" android:required="false"/> <uses-feature android:name="android.hardware.vr.high_performance" android:required="false"/> <uses-feature android:glEsVersion="0x00020000" android:required="true"/> <application android:debuggable="true">android:icon="@drawable/icon" android:label="essai" android:theme="@style/VrActivityTheme">);<activity android:configChanges="orientation|keyboardHidden|screenSize" android:name=".MainActivity" android:resizeableActivity="false" android:screenOrientation="landscape"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> <category android:name="com.google.intent.category.DAYDREAM"/> </intent-filter> </activity> </application> </manifest> Processing tell me the same: the sketch does not include all requires app icons

  • 2) I imported my icons in the data folder and then I put it in the sketch folder. And I create another folder: MisIconos wich contains the sames files.MyFolder and this is my MisIconos: MyIcons

  • Answer ✓

    @marinazer===

    • i am surprised that you can compile with the manifest you put there because there are 2 errors at line 11; yet perhaps, as i told, those are typos from the forum...

    • as for icons you do not have done what i explained: go to the modes folder and so on...

  • 1) I can´t say anything because I don´t understand the code. 2) Finally, I suposs, I found the modes folder and Ihave changed the images with my icons, something like this, but I continue receiving the same message. Is it correct what I made?IconFolder

  • ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡YES, YES, YES!!!!!!!!!!!!!!!!!!!!!!!!!!! NOW IT´S ALL RIGHT THANKS YOU VERY MUCH I have changed the icon-180 by icon-144 and all it´s OK

  • Now I have another folder:** build** and inside 3 apk :

    signed,apk
    signed_aligned.apk
    unsigned.apk

    I don´t have an exported folder nor zipaligned released apk . So I dont´know wich of those apk have I to put on line.

    Thanks for your answer

  • Answer ✓

    From here: http://android.processing.org/tutorials/distributing/index.html

    The signed (and aligned) package will be saved in the build subfolder inside the sketch's folder, under the name [Sketch name in lowercase]_release_signed_aligned.apk. Once you have generated this file, you can follow the instructions from Google to complete the publishing process.

    Kf

  • OK Thanks you very much!!!

Sign In or Register to comment.