Noob attempt at Zoom SDK - Error: Module not specified

Description
I am experienced Java developer but total noob to Android Studio and Zoom SDK. I am trying to get vanilla Zoom SDK example to run and I’m on my 2nd day with no luck. Nothing fancy here … just trying to get unmodified example to run, so was kind of hoping this step would be easy.

Which version?
Android Studio 3.6.3
Android Gradle Plugin 3.6.3
Gradle 6.4
Zoom SDK v4.6.21666.0429
Mac OS Mojave 10.14.6
MacBook Pro 2014 16GB

To Reproduce(If applicable)

  1. Check for Android Studio updates. Have latest version.
  2. Clone Zoom SDK from github.
  3. Open Android Studio and create new project.
  4. Edited key files as described in Zoom SDK documentation.
  5. Attempted to run example … but … it required a run configuration. I failed to create a run configuration because no modules were listed.

Tablet:

  • Device: Samsung Galaxy 5se
  • OS: Android 9 (Pie)
  • API 28

Additional context
I’ve tried …

  • closing and restarting Android Studio.
  • Sync project with gradle files
  • Different ways to import the project … existing project, via gradle, via android gradle.
  • Different gradles (gradle-wrapper.properties and external gradle in /usr/local/opt/gradle/libexec)
  • I did successfully create and run a vanilla Android Studio Basic Activity, so something works.
  • Tried to copy Zoom SDK example code into Basic Activity project. UPDATE: Am currently going down this path and debugging runtime launch errors.

Hi wallace,

Thanks for using Zoom SDK and thanks for sharing your attempts and thoughts. If you just would like to run the Android SDK demo app as the first approach to get familiar with Zoom SDK, here are the steps:

  1. Download the Zoom SDK from Github https://github.com/zoom/zoom-sdk-android and unzip it.
  2. Open Android Studio, and load the project mobilertc-android-stuido
  3. Wait for the Gradle to sync, once finished, you will see “commonlib”, “mobilertc”, “example2”, and “sample”. We offer 2 different demo apps here: example2 and sample. Example2 is a simple app that only has the join meeting feature. If you would like to try the full features, please explore the “sample” app.
  4. Open the “sample” app, navigate to AuthConstants.java(https://github.com/zoom/zoom-sdk-android/blob/master/mobilertc-android-studio/sample/src/main/java/us/zoom/sdksample/initsdk/AuthConstants.java), and enter your SDK_KEY and SDK_SECRET;
  5. Go to InitAuthSDKHelper.java(https://github.com/zoom/zoom-sdk-android/blob/master/mobilertc-android-studio/sample/src/main/java/us/zoom/sdksample/initsdk/InitAuthSDKHelper.java), and modify the following code:
            ZoomSDKInitParams initParams = new ZoomSDKInitParams();
            initParams.appKey = SDK_KEY;
            initParams.appSecret = SDK_SECRET;
//            initParams.jwtToken = SDK_JWTTOKEN;
            initParams.enableLog = true;
            initParams.logSize = 50;
            initParams.domain=AuthConstants.WEB_DOMAIN;
            initParams.videoRawDataMemoryMode = ZoomSDKRawDataMemoryMode.ZoomSDKRawDataMemoryModeStack;
            mZoomSDK.initialize(context, this, initParams);
  1. Build and run the app on real device or emulator.

Above are the complete steps to build and to run the sample app. No other configuration needed.

Please note that the credentials in the demo app are hardcoded for demo purposes. In the production, please do not hardcode the credentials.

Hope this helps. Thanks!

Thank you for the quick reply at time when I know you are swamped.

Those instructions are what I (think I) already did, but which did not resolve the issue. I have in the meantime succeeded by simply copying the “commonlib”, “mobilertc” and “sample” into a working Android Studio basic application and fiddling with the setup. No doubt some version compatibility or local environment issue is my problem, but I’ve found a way through without locating the exact cause.

For the sake of future seekers who end up here, note that I had seen the suggested modification in other posts. When I first saw it I only noticed the commenting out of the jwtToken line. Once I got the SDK to execute, it was obvious that the modification also includes the first two SDK_KEY and SDK_SECRET lines. Out of curiosity … why don’t we just update the github code?

Understood about the need to handle credentials better in production.

Thanks again for the support.
Wallace

Hi Wallace,

Thanks for the reply and thanks for your understanding. Regarding the SDK_KEY and SDK_SECRET part, we used to do that, then we would like to persuade users to use JWT token instead since it is more secure and has more control. I understand the inconvenience caused by this and I will forward this to the engineering team to revisit this again.

Hope this helps and happy Zooming! :slight_smile:

Ah! I did not realize this. I can happily follow your suggestion and switch to JWT token.

With this new information, I might offer a proposal for changes to the SDK:

Hi @wallace,

That’s a great idea! Let me forward this to the engineering team. Thanks for the great suggestion! Let me know if any other questions :slight_smile: