Looks like there is a bug right now in the maven plugin regarding where it generates the IOS native interfaces.
It seems to be generating them in src/main/objectivec (i.e. in the "src" directory of the root project). They should be generated in ios/src/main/objectivec. (i.e. inside the ios submodule). If seems to be doing the same thing with the "javascript" native files. Move the contents of your src/main/objectivec directory into ios/src/main/objectivec, and it should fix your issue. Steve On Thu, Jul 1, 2021 at 8:20 PM Shai Almog <[email protected]> wrote: > They don't have the right name. I'm checking. > > On Thursday, July 1, 2021 at 7:14:31 AM UTC+3 [email protected] wrote: > >> The files appear to be here: >> >> src/main/objectivec/com_symdesign_shoppinggenie_MyNativeImpl.h >> src/main/objectivec/com_symdesign_shoppinggenie_MyNativeImpl.m >> >> On Wednesday, June 30, 2021 at 10:05:05 PM UTC-4 Shai Almog wrote: >> >>> In iOS it generates >>> native_com_symdesign_shoppinggenie_MyNativeImplCodenameOne.m >>> and native_com_symdesign_shoppinggenie_MyNativeImplCodenameOne.h >>> Which you need to edit. >>> >>> For some reason it seems >>> native_com_symdesign_shoppinggenie_MyNativeImplCodenameOne.h >>> is missing. Do you have any idea why? >>> >>> On Wednesday, June 30, 2021 at 10:14:28 PM UTC+3 [email protected] >>> wrote: >>> >>>> I deleted the files and it did seem to compile and run on an android >>>> device but I can't do a build for the iphone. >>>> >>>> When I did the "genereate native interfaces" it didn't seem to create a >>>> "MyNativeImpl" file for the iphone and it generates an error file which >>>> I've attached. >>>> >>>> >>>> On Monday, June 28, 2021 at 9:44:15 PM UTC-4 Shai Almog wrote: >>>> >>>>> By default we don't overwrite files that are already there. I suggest >>>>> deleting and regenerating. >>>>> >>>>> On Monday, June 28, 2021 at 5:56:58 PM UTC+3 [email protected] wrote: >>>>> >>>>>> The file MyNative.java I created. I assume it was used to create the >>>>>> MyNativeImpl.java. I see that file is in three places: >>>>>> >>>>>> android/target/classes/com/symdesign/shoppinggenie/MyNativeImpl.java >>>>>> android/src/main/java/com/symdesign/shoppinggenie/MyNativeImpl.java >>>>>> javase/src/main/java/com/symdesign/shoppinggenie/MyNativeImpl.java >>>>>> >>>>>> when I do "generate native interfaces" only the last one is updated. >>>>>> Should the other two be there ? They are about 3 weeks old. >>>>>> >>>>>> >>>>>> >>>>>> On Sunday, June 27, 2021 at 9:43:20 PM UTC-4 Shai Almog wrote: >>>>>> >>>>>>> Not common. Under the android hierarchy you should have a file with >>>>>>> the name MyNativeImpl.java >>>>>>> >>>>>>> On Sunday, June 27, 2021 at 6:23:28 AM UTC+3 [email protected] >>>>>>> wrote: >>>>>>> >>>>>>>> I'm not quite sure what you mean by the "Android native" file. The >>>>>>>> file with my NativeInterface interface code is in >>>>>>>> "common/src/main/java/com/symdesigns/shoppinggenie/MyNative.java. >>>>>>>> The cn1.pluging.version is 7.0.26 . >>>>>>>> >>>>>>>> On Saturday, June 26, 2021 at 9:47:06 PM UTC-4 Shai Almog wrote: >>>>>>>> >>>>>>>>> Just the Android version is enough. If the Android native file >>>>>>>>> there? >>>>>>>>> Under which directory from project root? >>>>>>>>> >>>>>>>>> What's the cn1.plugin.version in the pom.xml? >>>>>>>>> On Sunday, June 27, 2021 at 1:21:03 AM UTC+3 [email protected] >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> Do you need to add native code for all of the native platforms? >>>>>>>>>> At the moment I only need it for android. I did go through the video >>>>>>>>>> tutorial. >>>>>>>>>> >>>>>>>>>> I didn't include the error file from the cloud build because it >>>>>>>>>> was so long but nevertheless I've attached it below. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Wednesday, June 23, 2021 at 9:50:50 PM UTC-4 Shai Almog wrote: >>>>>>>>>> >>>>>>>>>>> Where's the rest of the error log? >>>>>>>>>>> Also you didn't implement the native code for each of the native >>>>>>>>>>> platforms e.g. Android would have its own impl file and so would >>>>>>>>>>> iOS. >>>>>>>>>>> Did you look at the How Do I video tutorial for native >>>>>>>>>>> interfaces? It's pre-maven but should cover all of this. >>>>>>>>>>> >>>>>>>>>>> On Thursday, June 24, 2021 at 1:19:17 AM UTC+3 [email protected] >>>>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>>> I forgot to add the code used to test it: >>>>>>>>>>>> >>>>>>>>>>>> if(cn != null && cn.isSupported()) { >>>>>>>>>>>> rv = cn.doInNative("string"); >>>>>>>>>>>> Log.p(rv); >>>>>>>>>>>> } >>>>>>>>>>>> >>>>>>>>>>>> which returns "Dummy" as expected. >>>>>>>>>>>> ------------------- >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Wednesday, June 23, 2021 at 6:15:12 PM UTC-4 Dennis Rogers >>>>>>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> I'm at a loss in trying to do a native interface. I created >>>>>>>>>>>>> the class "MyNative" >>>>>>>>>>>>> >>>>>>>>>>>>> package com.symdesign.myapp; >>>>>>>>>>>>> >>>>>>>>>>>>> import com.codename1.system.NativeInterface; >>>>>>>>>>>>> >>>>>>>>>>>>> public interface MyNative extends NativeInterface { >>>>>>>>>>>>> public String doInNative(String hi); >>>>>>>>>>>>> } >>>>>>>>>>>>> >>>>>>>>>>>>> Then I ran the tool "create native interfaces" which created >>>>>>>>>>>>> the file "MyNativeImpl.java" in the javase folder which >>>>>>>>>>>>> I modified to: >>>>>>>>>>>>> >>>>>>>>>>>>> package com.symdesign.myapp; >>>>>>>>>>>>> >>>>>>>>>>>>> public class MyNativeImpl implements >>>>>>>>>>>>> com.symdesign.shoppinggenie.MyNative{ >>>>>>>>>>>>> public String doInNative(String param) { >>>>>>>>>>>>> return "Dummy"; >>>>>>>>>>>>> } >>>>>>>>>>>>> >>>>>>>>>>>>> public boolean isSupported() { >>>>>>>>>>>>> return true; >>>>>>>>>>>>> } >>>>>>>>>>>>> } >>>>>>>>>>>>> >>>>>>>>>>>>> If I run this in the simulator it seems to work ok, but when I >>>>>>>>>>>>> compile it to the cloud I get an error file with the error at the >>>>>>>>>>>>> top: >>>>>>>>>>>>> >>>>>>>>>>>>> Found hyp.beamId >>>>>>>>>>>>> Tried to start hyperlog but failed: Failed to start hyperlog: >>>>>>>>>>>>> Cannot run program "hyp": error=2, No such file or directory >>>>>>>>>>>>> User-level: 9000 >>>>>>>>>>>>> Request Args: >>>>>>>>>>>>> ----------------- >>>>>>>>>>>>> build.incSources=1 >>>>>>>>>>>>> hyp.beamId=9cfefcf3-f2c3-467c-b459-83c8c6dc3181 >>>>>>>>>>>>> ios.includePush=true >>>>>>>>>>>>> java.version=8 >>>>>>>>>>>>> maven.codenameone-maven-plugin=7.0.26 >>>>>>>>>>>>> ios.newStorageLocation=true >>>>>>>>>>>>> maven.codenameone-core.version=7.0.26 >>>>>>>>>>>>> android.release=false >>>>>>>>>>>>> android.debug=true >>>>>>>>>>>>> ------------------- >>>>>>>>>>>>> . >>>>>>>>>>>>> . >>>>>>>>>>>>> On Wednesday, June 16, 2021 at 12:18:48 PM UTC-4 Dennis Rogers >>>>>>>>>>>>> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> Thanks, but that didn't seem to help. I don't get any errors >>>>>>>>>>>>>> when building the app. I get these errors when trying to load it >>>>>>>>>>>>>> onto the >>>>>>>>>>>>>> phone: >>>>>>>>>>>>>> >>>>>>>>>>>>>> $ adb install -i ShoppingGenie-debug.apk >>>>>>>>>>>>>> >>>>>>>>>>>>>> Performing Streamed Install >>>>>>>>>>>>>> adb: failed to install ShoppingGenie-debug.apk: Error: Unable >>>>>>>>>>>>>> to open file: 8370465 >>>>>>>>>>>>>> Consider using a file under /data/local/tmp/ >>>>>>>>>>>>>> Error: Can't open file: 8370465 >>>>>>>>>>>>>> >>>>>>>>>>>>>> Exception occurred while executing: >>>>>>>>>>>>>> java.lang.IllegalArgumentException: Error: Can't open file: >>>>>>>>>>>>>> 8370465 >>>>>>>>>>>>>> at >>>>>>>>>>>>>> com.android.server.pm.PackageManagerShellCommand.setParamsSize(PackageManagerShellCommand.java:461) >>>>>>>>>>>>>> at >>>>>>>>>>>>>> com.android.server.pm.PackageManagerShellCommand.runInstall(PackageManagerShellCommand.java:1060) >>>>>>>>>>>>>> at >>>>>>>>>>>>>> com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:169) >>>>>>>>>>>>>> at android.os.ShellCommand.exec(ShellCommand.java:104) >>>>>>>>>>>>>> at >>>>>>>>>>>>>> com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:21745) >>>>>>>>>>>>>> at android.os.Binder.shellCommand(Binder.java:881) >>>>>>>>>>>>>> at android.os.Binder.onTransact(Binder.java:765) >>>>>>>>>>>>>> at >>>>>>>>>>>>>> android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:4860) >>>>>>>>>>>>>> at >>>>>>>>>>>>>> com.android.server.pm.PackageManagerService.onTransact(PackageManagerService.java:4015) >>>>>>>>>>>>>> at android.os.Binder.execTransactInternal(Binder.java:1021) >>>>>>>>>>>>>> at android.os.Binder.execTransact(Binder.java:994) >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Wednesday, June 16, 2021 at 8:02:59 AM UTC-4 Steve Hannah >>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> Add the following to the dependences section of your >>>>>>>>>>>>>>> javase/pom.xml file: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> <dependency> >>>>>>>>>>>>>>> <groupId>com.codenameone</groupId> >>>>>>>>>>>>>>> <artifactId>codenameone-core</artifactId> >>>>>>>>>>>>>>> <scope>provided</scope> >>>>>>>>>>>>>>> </dependency> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> That should fix the issue. (Mind you you haven't shared any >>>>>>>>>>>>>>> error messages so it's hard to say what your specific problem >>>>>>>>>>>>>>> is). >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Steve >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Tue, Jun 15, 2021 at 9:30 PM Dennis Rogers < >>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Since I added the generated the native interface I can no >>>>>>>>>>>>>>>> longer do cloud builds. Is there a way I can remove the native >>>>>>>>>>>>>>>> interface I >>>>>>>>>>>>>>>> created for the moment? >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On Monday, June 14, 2021 at 10:09:56 PM UTC-4 Shai Almog >>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> That sounds like a bug in the maven project. Let me check. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On Tuesday, June 15, 2021 at 12:00:09 AM UTC+3 >>>>>>>>>>>>>>>>> [email protected] wrote: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Sorry but I'm a little confused. I created a file, >>>>>>>>>>>>>>>>>> MyNative.java, in the common folder along with my other code: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> package com.symdesign.shoppinggenie; >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> import com.codename1.system.NativeInterface; >>>>>>>>>>>>>>>>>> public interface MyNative extends NativeInterface { >>>>>>>>>>>>>>>>>> String helloWorld(String hi); >>>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> When I run "Generate Native Interfaces" I get the error >>>>>>>>>>>>>>>>>> "cannot access com.codename1.system.NativeInterface" but >>>>>>>>>>>>>>>>>> nevertheless >>>>>>>>>>>>>>>>>> it creates a file in >>>>>>>>>>>>>>>>>> MyProject/src/main/java/com.symdesign/myproject/ called >>>>>>>>>>>>>>>>>> MyNativeImpl.java >>>>>>>>>>>>>>>>>> which looks like the advertised stub. (Is it in this file >>>>>>>>>>>>>>>>>> that I should put >>>>>>>>>>>>>>>>>> my native code? ) >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> On Sunday, June 13, 2021 at 9:37:18 PM UTC-4 Shai Almog >>>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> On which file? >>>>>>>>>>>>>>>>>>> notice that the native side shouldn't include the native >>>>>>>>>>>>>>>>>>> interface, it should only be in common. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> On Monday, June 14, 2021 at 1:08:30 AM UTC+3 >>>>>>>>>>>>>>>>>>> [email protected] wrote: >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> I generated the native interface but when I try to >>>>>>>>>>>>>>>>>>>> build it, it says it can't find >>>>>>>>>>>>>>>>>>>> com.codename1.system.NativeInterface. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> On Saturday, June 12, 2021 at 9:41:08 PM UTC-4 Shai >>>>>>>>>>>>>>>>>>>> Almog wrote: >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> The plugin is only applicable to Ant projects not to >>>>>>>>>>>>>>>>>>>>> maven projects. >>>>>>>>>>>>>>>>>>>>> For maven Generate Native Interfaces is one of the run >>>>>>>>>>>>>>>>>>>>> configurations. >>>>>>>>>>>>>>>>>>>>> On Sunday, June 13, 2021 at 12:01:09 AM UTC+3 >>>>>>>>>>>>>>>>>>>>> [email protected] wrote: >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> I'm trying to create a native interface to access >>>>>>>>>>>>>>>>>>>>>> android's SpeechRecognitionHelper. Following the manual >>>>>>>>>>>>>>>>>>>>>> I created >>>>>>>>>>>>>>>>>>>>>> andinterface that extends NativeInterface i.e. >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> import com.codename1.system.NativeInterface; >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> public interface MyNative extends NativeInterface { >>>>>>>>>>>>>>>>>>>>>> String getSpeech(String hi); >>>>>>>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> The manual then says I can generate initial native >>>>>>>>>>>>>>>>>>>>>> code by right clicking on the interface and selecting >>>>>>>>>>>>>>>>>>>>>> "Generate Native >>>>>>>>>>>>>>>>>>>>>> Access" . This option doesn't seem to be available in my >>>>>>>>>>>>>>>>>>>>>> setup and I don't >>>>>>>>>>>>>>>>>>>>>> know where to go from here. >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> -Dennis >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>>>>>>>> Google Groups "CodenameOne Discussions" group. >>>>>>>>>>>>>>>> To unsubscribe from this group and stop receiving emails >>>>>>>>>>>>>>>> from it, send an email to >>>>>>>>>>>>>>>> [email protected]. >>>>>>>>>>>>>>>> To view this discussion on the web visit >>>>>>>>>>>>>>>> https://groups.google.com/d/msgid/codenameone-discussions/5676afcc-c439-4018-a258-573ffc9fb6f6n%40googlegroups.com >>>>>>>>>>>>>>>> <https://groups.google.com/d/msgid/codenameone-discussions/5676afcc-c439-4018-a258-573ffc9fb6f6n%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>>>>>>>>>>> . >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>> Steve Hannah >>>>>>>>>>>>>>> Software Developer >>>>>>>>>>>>>>> Codename One >>>>>>>>>>>>>>> http://www.codenameone.com >>>>>>>>>>>>>>> >>>>>>>>>>>>>> -- > You received this message because you are subscribed to the Google Groups > "CodenameOne Discussions" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/codenameone-discussions/1bc03a67-db28-4c4e-9296-007329023258n%40googlegroups.com > <https://groups.google.com/d/msgid/codenameone-discussions/1bc03a67-db28-4c4e-9296-007329023258n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- Steve Hannah Software Developer Codename One http://www.codenameone.com -- You received this message because you are subscribed to the Google Groups "CodenameOne Discussions" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/codenameone-discussions/CAGOYrKWU7FYRPojvZ4_Rype44UpF8kU5a1KmVjOXMT-sfKFwzg%40mail.gmail.com.
