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.

Reply via email to