Error packaging and signing BlackBerry WebWorks SDK application for Playbook - blackberry-playbook

I've been trying to follow the BlackBerry docs on signing a WebWorks SDK application on the command line and uploading to App World.
Here is a chart showing the high level picture, and here are the detailed instructions I am trying to follow.
I ran the first few steps successfully:
C:\MyDir>blackberry-signer -csksetup -cskpass <mypwd>
CSK file created.
C:\MyDir>blackberry-signer -register -csjpin <mypin> -cskpass <mypwd> client-RDK-<snip>.csj
Successfully registered with server.
C:\MyDir>blackberry-keytool -genkeypair -keystore sigtool.p12 -storepass <mypwd> -dname "cn=<My Company>" -alias author
<No output!>
The instructions now say I need to package my BAR file. It links to another web page that says to run a command like this:
blackberry-airpackager -package output_filename project_name-app.xml project_name.swf any_other_project_files
Although that sounds like it applies to an AIR application instead of a WebWorks SDK one I try it anyway, and I get an error:
C:\MyDir>blackberry-airpackager -package output\MyApp.bar config.xml input
C:\MyDir\config.xml: error 102: Invalid namespace http://www.w3.org/ns/widgets
Error: AIR validation failed
I then see if either of the blackberry-packager or blackberry-nativepackager commands is the right one. Running blackberry-nativepackager yields this error Error: not qnx tag or two many, and the usage of blackberry-packager seems to be inappropriate, e.g.
Usage:
blackberry-packager -generatemanifest [<manifest-file>]
blackberry-packager -verifymanifest <manifest-file>
blackberry-packager -metafolder <META-INF folder> [-javafolder <java-folder>] [-datafolder <data-folder>] [-nativefolder <native-folder>] [-airfolder <air-folder>] [-nocompression] <barfile.bar> (<inputfile>)*
So, I now revert back to packaging as I originally did during my testing, i.e. I create a ZIP file and use bbwp.exe:
C:\MyDir>bbwp.exe "MyApp.zip" -o "output"
[INFO] Parsing command line options
<snip>
[INFO] Packaging the bar file
[INFO] Bar packaging complete
[INFO] WebWorks application packaging complete
That looks good so I move onto the final two steps, which are:
blackberry-signer -verbose -cskpass <mypwd> -keystore sigtool.p12 -storepass <mypwd> output\MyApp.bar RDK
blackberry-signer -keystore sigtool.p12 -storepass <mypwd> output\MyApp.bar author
Unfortunately the first of these steps fails:
C:\MyDir>blackberry-signer -verbose -cskpass <mypwd> -keystore sigtool.p12 -storepass <mypwd> output\MyApp.bar RDK
<snip>
42 43 65 30 58 31 19 36 79 22 50 64 71 12 38 4e
74 68 78 34
Connecting to url http://www.rim.net/Websigner/servlet/RDK-Waterloo
Sending properties to server...
Properties of response := [
Version = 1
Response = Signature Response
Confirm = null
Error = Code signing request failed because Application-Development-Mode in Manifest is present and is not set to [false].
]
barsigner error: server error: Code signing request failed because Application-Development-Mode in Manifest is present and is not set to [false].
That exact error is documented here, along with this explanation of it:
Code signing request failed because Application-Development-Mode in Manifest is present and is not set to false
Description
This message appears when you try to sign a .bar file that
was packaged in Development mode.
Possible solution
Repackage the .bar file. If you use
blackberry-packager, or another
command line tool, do not include the
debug option in your command line.
Unfortunately that doesn't help me at all. My understanding is that the config.xml file in the WebWorks SDK replaces the need for a MANIFEST.MF file.
Can anybody help me with this misery?

You can try posting in the BlackBerry Web Development support forum, there is RIM staff monitoring that forum:
http://supportforums.blackberry.com/t5/Web-Development/bd-p/browser_dev

As I suspected, my problem appears to be that I was following the signing instructions for an AIR application, not a WebWorks SDK application.
Here are the WebWorks SDK instructions to follow, along with summary steps below.
blackberry-signer -csksetup -cskpass <mypwd>
blackberry-signer -register -csjpin <mypin> -cskpass <mypwd> client-RDK-<snip>.csj
blackberry-keytool -genkeypair -keystore sigtool.p12 -storepass <mypwd> -dname "cn=<My Company>" -alias author
bbwp.exe "MyApp.zip" -gcsk <mypwd> -gp12 <mypwd> -o "output"
I had originally followed these steps successfully, and my confusion started because BlackBerry sent me an e-mail after my first submission which said:
Also, to make your app available for
download, there is one additional
step. Each app must be “signed” and
resubmitted into BlackBerry App World;
if you haven’t signed your application
please review our blog post that
contains the needed information to
sign your application. Please sign
your application and resubmit to
BlackBerry App World. When
resubmitting add “_signed” to the end
of the bundle name and rest assured
you will not lose your spot in the
review queue.
I e-mailed them asking them to confirm if there was a problem with my signing, and I hadn't got a reply after 5 days, so I thought I may have followed the wrong instructions. :-(
FTR, this question was cross posted with the BlackBerry developer forum here.

Related

Xamarin forms Droid : keytool error- cannot import existing keystore after archiving app .aab

I am using xamarin forms on MAC.
In my Mac, I'm trying to import an existing keystore that has been created in Windows 10 to publish my droid app but it gives me this error :
keytool error: java.lang.Exception: Alias <lealtd> does not exist
java.lang.Exception: Alias <lealtd> does not exist
at java.base/sun.security.tools.keytool.Main.doPrintEntry(Main.java:2038)
at java.base/sun.security.tools.keytool.Main.doCommands(Main.java:1271)
at java.base/sun.security.tools.keytool.Main.run(Main.java:412)
at java.base/sun.security.tools.keytool.Main.main(Main.java:405)
I have tried to open my keystore using Keystore explore it works and I can see all the infos. I do not understand why it is not working on Xamarin
Thanks for your help
I have rename my alias because there were a space and it works :
keytool -changealias -alias "lealtd " -destalias "lealtd" -keystore lealtd.keystore

Error staging application: App staging failed in the buildpack compile phase in HWC Buildpack

I am trying to deploy my application built in ASP.Net 4.6.1. So I am using HWC Buildpack.
Below is my manifest.yml
---
applications:
- name: DRSN
random-route: true
memory: 128M
buildpack:
https://github.com/cloudfoundry/hwc-buildpack.git
env:
DOTNET_CLI_TELEMETRY_OPTOUT: 1
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
The error that I am receiving is below.
Waiting for API to complete processing files...
Staging app and tracing logs...
Cell 0f7012eb-9e32-4fdf-ba92-85aee4639139 creating container for instance 34107c3c-1acb-4aa5-b435-b06516abcfcb
Cell 0f7012eb-9e32-4fdf-ba92-85aee4639139 successfully created container for instance 34107c3c-1acb-4aa5-b435-b06516abcfcb
Downloading app package...
Downloading build artifacts cache...
Downloaded build artifacts cache (231B)
Downloaded app package (19.5M)
Failed to compile droplet: Failed to compile droplet: fork/exec /tmp/buildpackdownloads/6c6dca8d638ac0d145d6581f9eb9a96a/bin/compile: permission denied
Exit status 223
Cell 0f7012eb-9e32-4fdf-ba92-85aee4639139 stopping instance 34107c3c-1acb-4aa5-b435-b06516abcfcb
Cell 0f7012eb-9e32-4fdf-ba92-85aee4639139 destroying container for instance 34107c3c-1acb-4aa5-b435-b06516abcfcb
Error staging application: App staging failed in the buildpack compile phase
Can anyone help me resolve this issue? Am I not correct in my manifest.yml? Or is it something else?
I believe that the problem is that you're telling the system to use the HWC buildpack, but at the same time you're not setting the Windows stack (at least based on what info I can see). That means it's going to default to the Linux stack, which I believe is why you're seeing the fork/exec /tmp/buildpackdownloads/... error.
Try adding stack: windows to your manifest.yml or -s windows to your cf push command (for future reference, when you need help always include the full cf push command you're running).
PS: you shouldn't use https://github.com/cloudfoundry/hwc-buildpack.git that is telling the system to grab the master branch in whatever state it's currently in. That's a.) not reproducible and b.) not guaranteed to be in a working state. You should either use the platform provided buildpack names (from cf buildpacks) or append #<branch_or_tag> to the end of the URL so it picks a specific branch. All CF Buildpacks have tags for each release. It's strongly recommended you use a tagged release.

how to solve Firebase CLI error on start up

when I open firebase CLI I get this error :
Let's make sure your Firebase CLI is ready...
undefined:1
SyntaxError: Unexpected end of JSON input
at JSON.parse (<anonymous>)
at ChildProcess.<anonymous> (C:\snapshot\firepit\welcome.js:115:27)
at ChildProcess.emit (events.js:311:20)
at maybeClose (internal/child_process.js:1021:16)
at Socket.<anonymous> (internal/child_process.js:443:11)
at Socket.emit (events.js:311:20)
at Pipe.<anonymous> (net.js:668:12)
I am using windows 10 pro
The comment on the original question was the solution for me. My "Downloads" folder is hosted on D: and the installer assumes C:
(how to solve Firebase CLI error on start up)
A solution that helped me after transferring the exe to C has failed, is deleting the folder:
C:\Users\{YOUR_PROFILE_NAME}\.cache\firebase
Hope this helps anyone
That is nothing to worry about, it only appears because the CLI by default assumes it is in the C directory.
So, copying the CLI exe to any other directory would show this message but, you can still use all the CLI functionalities as you wish.
Like what I did here using firebase init
The solution :
leave the exe name as: "firebase-win.exe" and you can move it to whatever folder you want
The detailed explanation:
i moved the executable i downloaded ("firebase-tools-instant-win.exe") to folder: c:\firebase\bin
and it works without any error,
but for some reason if i rename the exe file to something like: "firebase.exe" or "fbcli.exe" it will throw the json error and will not download the .cache folder correctly
but if i rename the exe name to: "firebase-win.exe" it works no matter what folder i put it in,
when checking C:\Users{YOUR_PROFILE_NAME}.cache\firebase\runtime\shell.bat
if the exe name is: "firebase.exe" (Not working) then the content is:
#echo off
"C:\firebase\bin\firebase.exe" C:\Users\{YOUR_PROFILE_NAME}\CACHE~1\firebase\runtime\shell.js %*
if the exe name is: "firebase-win.exe" (working) then the content is:
#echo off
"C:\firebase\bin\FIREBA~1.EXE" C:\Users\shaybc\.cache\firebase\runtime\shell.js %*
so i simply left the exe name: "firebase-win.exe"
valid names worked for me:
fireb-win.exe
firebase-win.exe
firebase-w.exe
fire-base.exe
fbcli-win.exe
...
Install Firebase using npm:
npm install firebase
source:
https://firebase.google.com/docs/web/setup
I got this warning as well, but when I tried to init, serve, and deploy, it worked just fine. Good luck!

Flutter - http.get fails on macos build target: Connection failed

I started porting my Flutter app to macos Desktop. The UI started fine. However, as soon as the app makes a network call, it fails instantly with Connection failed (OS Error: Operation not permitted).
Running a one-liner:
final response = await http.get('https://jsonplaceholder.typicode.com/posts/1');
fails with:
Unhandled Exception: SocketException: Connection failed (OS Error:
Operation not permitted, errno = 1),
address = jsonplaceholder.typicode.com, port = 443
#0 IOClient.send (package:http/src/io_client.dart:33:23)
The macos build target comes from Google's sample here.
Flutter (Channel master, v1.9.8-pre.108)
Per my comment on the other answer, you should not use the Xcode capabilities UI for this. It will not correctly handle the two separate entitlement files in a Flutter project.
You need to add:
<key>com.apple.security.network.client</key>
<true/>
to macos/Runner/DebugProfile.entitlements and macos/Runner/Release.entitlements.
This is documented here and here.
Your macOS XCode project lacks Internet permission called "Outgoing Connections (Client)".
Open your macos xcode project - [root]/macos/Runner.xcworkspace
Click "Runner" in Project navigator - general settings will show up. Select "Capabilities" from tabbar and tick option "Outgoing Connections (Client)".
Rebuild your application inside XCode and launch the project.
If you are getting this error Only in Android release then Internet permission must be missing from main manifest. You just need to add Internet permission in Manifest file.
Just add this permission in manifest <uses-permission android:name="android.permission.INTERNET"/>
There are three manifest file available in Android folder
app/src/debug
app/src/main
app/src/profile

Device Driver created with Xcode won't load

I have implemented a Device Driver Application based on this link https://developer.apple.com/library/archive/documentation/Darwin/Conceptual/KEXTConcept/KEXTConceptIOKit/iokit_tutorial.html
If I try to load Device on Terminal($ sudo cp -R MyDriver.kext /tmp) I get the error:
No kernel file specified; using running kernel for linking.
MyDriver.kext is invalid; can't resolve dependencies.
MyDriver.kext is invalid; can't resolve dependencies.
MyDriver.kext is invalid; can't resolve dependencies.
MyDriver.kext has problems:
Validation Failures:
Info dictionary property value is of illegal type:
IOKitPersonalities->MyDriver->IOKitDebug
Authentication Failures: File owner/permissions are incorrect (must be root:wheel, nonwritable by group/other):
/Users/Rasheed/Library/Developer/Xcode/DerivedData/MyDriver-gdmnlqdybpdwzyanoeludcalqwba/Build/Products/Debug/MyDriver.kext
/Users/Rasheed/Library/Developer/Xcode/DerivedData/MyDriver-gdmnlqdybpdwzyanoeludcalqwba/Build/Products/Debug/MyDriver.kext/Contents
/Users/Rasheed/Library/Developer/Xcode/DerivedData/MyDriver-gdmnlqdybpdwzyanoeludcalqwba/Build/Products/Debug/MyDriver.kext/Contents/Info.plist
/Users/Rasheed/Library/Developer/Xcode/DerivedData/MyDriver-gdmnlqdybpdwzyanoeludcalqwba/Build/Products/Debug/MyDriver.kext/Contents/MacOS
/Users/Rasheed/Library/Developer/Xcode/DerivedData/MyDriver-gdmnlqdybpdwzyanoeludcalqwba/Build/Products/Debug/MyDriver.kext/Contents/MacOS/MyDriver
/Users/Rasheed/Library/Developer/Xcode/DerivedData/MyDriver-gdmnlqdybpdwzyanoeludcalqwba/Build/Products/Debug/MyDriver.kext/Contents/Resources
/Users/Rasheed/Library/Developer/Xcode/DerivedData/MyDriver-gdmnlqdybpdwzyanoeludcalqwba/Build/Products/Debug/MyDriver.kext/Contents/Resources/en.lproj
/Users/Rasheed/Library/Developer/Xcode/DerivedData/MyDriver-gdmnlqdybpdwzyanoeludcalqwba/Build/Products/Debug/MyDriver.kext/Contents/Resources/en.lproj/InfoPlist.strings
Warnings:
Personality has no CFBundleIdentifier; the kext's identifier will be inserted when sending to the IOCatalogue:
MyDriver
My Doubts are:
What is No Kernel file specified Error (what have I missed on my application)?
What is MyDriver.kext is invalid; can't resolve dependencies?
My Bundle Identifier is:
<key>CFBundleIdentifier</key>
<string>com.MyCompany.driver.${PRODUCT_NAME:maanu}</string>
what is Info dictionary property value is of illegal type:
IOKitPersonalities->MyDriver->IOKitDebug?
(MyDriver My application Name.)
First kernel dependencies.
This is specified in the info.plist of your driver.
Here the path to info.plist seems to be /Users/Rasheed/Library/Developer/Xcode/DerivedData/MyDriver-gdmnlqdybpdwzyanoeludcalqwba/Build/Products/Debug/MyDriver.kext/Contents/Info.plist
The following is the kernel dependencies of AppleHIDKeyboard.kext in the info.plist
(key)OSBundleLibraries<(/key)
(dict)
(key)com.apple.iokit.IOHIDFamily(/key)
(string)1.4(/string)
(key)com.apple.kpi.iokit(/key)
(string)10.0.0d2(/string)
(key)com.apple.kpi.libkern(/key)
(string)10.0.0d2(/string)
(/dict)
Second Authentication Failures:
U can solve this issue by the following procedure to deployment your driver.
1.place MyDriver.kext in your Desktop.
2.open the Terminal app and type commands list below.
3.sudo chown -R root:wheel ~/Desktop/MyDriver.kext
4.sudo chmod -R 755 ~/Desktop/MyDriver.kext
5.mv -f ~/Desktop/MyDriver.kext /System/Library/Extensions/
6.touch /System/Library/Extenstions/
Third CFBundleIdentifier warning.
I am not sure what type of issue here, this warning may make your driver unexecutable.
However, u should check your driver's info.plist, confirm whether your driver has the CFBundleIdentifier key and the associate value.
Besides, u should also check the driver's project settings.
Hope this is helpful to u, have a good day!

Resources