[Solved] 3.17 release build error. "warning: relocation refers to discarded section"

plz try https://www.dropbox.com/s/mmbgy6sen3m11xf/sdkbox.zip?dl=0

Thanks. There are no errors in cocos release compile.
But it crashes on startup.
It does not crash in debug build.

--------- beginning of /dev/log/main
05-31 17:48:21.389 1358-1455/? W/SearchService: Abort, client detached.
05-31 17:48:21.409 771-1026/? I/ActivityManager: Start proc jp.co.puzzlegame for activity jp.co.puzzlegame/org.cocos2dx.cpp.AppActivity: pid=14390 uid=10236 gids={50236, 3003, 1028, 1015}
05-31 17:48:21.429 948-2037/? I/AsyncOpDispatcher: 19-ReportUsage
05-31 17:48:21.459 14390-14390/? D/dalvikvm: Trying to load lib /data/app-lib/jp.co.puzzlegame-1/libcocos2dcpp.so 0x42bdc8c0
05-31 17:48:21.489 948-14221/? I/AsyncOpDispatcher: 35-GetDeviceDataUploadOptInStatusOperation
05-31 17:48:21.539 14390-14390/? D/dalvikvm: Added shared lib /data/app-lib/jp.co.puzzlegame-1/libcocos2dcpp.so 0x42bdc8c0
05-31 17:48:21.539 14390-14390/? D/main: cocos_android_app_init
05-31 17:48:21.539 14390-14390/? I/SDKBOX_CORE: Sdkbox Droid starting.
Sdkbox got VM.
Sdkbox jni initialized.
05-31 17:48:21.539 14390-14390/? D/SDKBOX_CORE: Can't load tracking info: java.io.IOException: BufferedInputStream is closed
05-31 17:48:21.549 14390-14390/? D/Cocos2dxHelper: isSupportLowLatency:true
sampleRate: 48000, framesPerBuffer: 240
05-31 17:48:21.549 14390-14390/? D/Java_org_cocos2dx_lib_Cocos2dxHelper.cpp: nativeSetAudioDeviceInfo: sampleRate: 48000, bufferSizeInFrames: 240
05-31 17:48:21.549 771-1846/? W/ActivityManager: Unable to start service Intent { act=com.b.a.a pkg=com.enhance.gameservice } U=0: not found
05-31 17:48:21.569 14390-14390/? D/EngineDataManager.cpp: nativeSetSupportOptimization: 0
05-31 17:48:21.569 14390-14390/? D/Cocos2dxActivity: onResume()
05-31 17:48:21.569 771-1848/? I/MediaFocusControl:  AudioFocus  requestAudioFocus() from android.media.AudioManager@42be9378org.cocos2dx.lib.Cocos2dxAudioFocusManager$1@42c20f10
05-31 17:48:21.569 14390-14414/? W/System.err: java.lang.NoClassDefFoundError: com/sdkbox/plugin/SdkboxLog
    at com.sdkbox.plugin.SDKBox.nOnStart(Native Method)
    at com.sdkbox.plugin.SDKBox$1.run(SDKBox.java:88)
    at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1463)
    at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.sdkbox.plugin.SdkboxLog" on path: DexPathList[[zip file "/data/app/jp.co.puzzlegame-1.apk"],nativeLibraryDirectories=[/data/app-lib/jp.co.puzzlegame-1, /vendor/lib, /system/lib]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
	... 4 more
05-31 17:48:21.569 14390-14414/? E/SDKBOX_CORE: JNI_BRIDGE Class com/sdkbox/plugin/SdkboxLog does not exist.
JNI_BRIDGE Get static method info: ClassNotFound com/sdkbox/plugin/SdkboxLog.
05-31 17:48:21.569 14390-14414/? W/System.err: java.lang.NoClassDefFoundError: com/sdkbox/plugin/SdkboxLog
    at com.sdkbox.plugin.SDKBox.nOnStart(Native Method)
    at com.sdkbox.plugin.SDKBox$1.run(SDKBox.java:88)
    at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1463)
    at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.sdkbox.plugin.SdkboxLog" on path: DexPathList[[zip file "/data/app/jp.co.puzzlegame-1.apk"],nativeLibraryDirectories=[/data/app-lib/jp.co.puzzlegame-1, /vendor/lib, /system/lib]]
05-31 17:48:21.569 14390-14390/? D/AudioFocusManager: requestAudioFocus succeed
05-31 17:48:21.569 14390-14414/? W/System.err:     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
	... 4 more
05-31 17:48:21.569 14390-14414/? E/SDKBOX_CORE: JNI_BRIDGE Class com/sdkbox/plugin/SdkboxLog does not exist.
JNI_BRIDGE Get static method info: ClassNotFound com/sdkbox/plugin/SdkboxLog.
05-31 17:48:21.569 14390-14414/? W/System.err: java.lang.NoClassDefFoundError: com/sdkbox/plugin/SdkboxLog
    at com.sdkbox.plugin.SDKBox.nOnStart(Native Method)
    at com.sdkbox.plugin.SDKBox$1.run(SDKBox.java:88)
    at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1463)
    at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.sdkbox.plugin.SdkboxLog" on path: DexPathList[[zip file "/data/app/jp.co.puzzlegame-1.apk"],nativeLibraryDirectories=[/data/app-lib/jp.co.puzzlegame-1, /vendor/lib, /system/lib]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
	... 4 more
05-31 17:48:21.569 14390-14414/? E/SDKBOX_CORE: JNI_BRIDGE Class com/sdkbox/plugin/SdkboxLog does not exist.
JNI_BRIDGE Get static method info: ClassNotFound com/sdkbox/plugin/SdkboxLog.
05-31 17:48:21.579 14390-14414/? W/System.err: java.lang.NoClassDefFoundError: com/sdkbox/plugin/SdkboxLog
    at com.sdkbox.plugin.SDKBox.nOnStart(Native Method)
    at com.sdkbox.plugin.SDKBox$1.run(SDKBox.java:88)
    at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1463)
    at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.sdkbox.plugin.SdkboxLog" on path: DexPathList[[zip file "/data/app/jp.co.puzzlegame-1.apk"],nativeLibraryDirectories=[/data/app-lib/jp.co.puzzlegame-1, /vendor/lib, /system/lib]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
	... 4 more

…

05-31 17:48:22.009 14390-14426/? E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #3
    Process: jp.co.puzzlegame, PID: 14390
    java.lang.RuntimeException: An error occured while executing doInBackground()
        at android.os.AsyncTask$3.done(AsyncTask.java:300)
        at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
        at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
        at java.util.concurrent.FutureTask.run(FutureTask.java:242)
        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
        at java.lang.Thread.run(Thread.java:841)
     Caused by: java.lang.AssertionError: java.lang.NoSuchFieldException: UNKNOWN
        at com.google.a.b.a.n$a.<init>(TypeAdapters.java:792)
        at com.google.a.b.a.n$24.a(TypeAdapters.java:818)
        at com.google.a.e.a(Gson.java:457)
        at com.google.a.b.a.i.a(ReflectiveTypeAdapterFactory.java:117)
        at com.google.a.b.a.i.a(ReflectiveTypeAdapterFactory.java:166)
        at com.google.a.b.a.i.a(ReflectiveTypeAdapterFactory.java:102)
        at com.google.a.e.a(Gson.java:457)
        at com.google.a.e.a(Gson.java:695)
        at com.google.a.e.a(Gson.java:682)
        at com.google.a.e.a(Gson.java:637)
        at com.google.a.e.a(Gson.java:617)
        at com.google.ads.a.f.a(ConsentInformation.java:455)
        at com.google.ads.a.f.a(ConsentInformation.java:422)
        at com.google.ads.a.f.a(ConsentInformation.java:47)
        at com.google.ads.a.f$c.a(ConsentInformation.java:236)
        at com.google.ads.a.f$c.a(ConsentInformation.java:263)
        at com.google.ads.a.f$c.doInBackground(ConsentInformation.java:189)
        at android.os.AsyncTask$2.call(AsyncTask.java:288)
        at java.util.concurrent.FutureTask.run(FutureTask.java:237)
        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 
        at java.lang.Thread.run(Thread.java:841) 
     Caused by: java.lang.NoSuchFieldException: UNKNOWN
        at java.lang.Class.getField(Class.java:724)
        at com.google.a.b.a.n$a.<init>(TypeAdapters.java:781)
        at com.google.a.b.a.n$24.a(TypeAdapters.java:818) 
        at com.google.a.e.a(Gson.java:457) 
        at com.google.a.b.a.i.a(ReflectiveTypeAdapterFactory.java:117) 
        at com.google.a.b.a.i.a(ReflectiveTypeAdapterFactory.java:166) 
        at com.google.a.b.a.i.a(ReflectiveTypeAdapterFactory.java:102) 
        at com.google.a.e.a(Gson.java:457) 
        at com.google.a.e.a(Gson.java:695) 
        at com.google.a.e.a(Gson.java:682) 
        at com.google.a.e.a(Gson.java:637) 
        at com.google.a.e.a(Gson.java:617) 
        at com.google.ads.a.f.a(ConsentInformation.java:455) 
        at com.google.ads.a.f.a(ConsentInformation.java:422) 
        at com.google.ads.a.f.a(ConsentInformation.java:47) 
        at com.google.ads.a.f$c.a(ConsentInformation.java:236) 
        at com.google.ads.a.f$c.a(ConsentInformation.java:263) 
        at com.google.ads.a.f$c.doInBackground(ConsentInformation.java:189) 
        at android.os.AsyncTask$2.call(AsyncTask.java:288) 
        at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 
        at java.lang.Thread.run(Thread.java:841)

have you cleanup and rebuild?

It was a crash that had nothing to do with sdkbox.

This error does not crash, but is there a problem?

W/System.err: java.lang.NoClassDefFoundError: com/sdkbox/plugin/SdkboxLog

OK, Proguard was the cause.

build.gradle

minifyEnabled false
shrinkResources false

Thank you!!

3 Likes

cocos2dx v3.17
NDK r16b
SDKBOX FACEBOOK 2.4.0.1
same problem, but can not solved with @yinjimmy solution.

/Users/dut/Desktop/test/test_fb_sdkbox/frameworks/runtime-src/proj.android/app/jni/./sdkbox/libs_c++_static/armeabi-v7a/libsdkbox.a(Utils.o):function std::__ndk1::basic_stringstream<char, std::__ndk1::char_traits, std::__ndk1::allocator >::~basic_stringstream(): warning: relocation refers to discarded section
/Users/dut/Documents/cocos/ndk/android-ndk-r16b/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/…/…/…/…/arm-linux-androideabi/bin/ld: error: treating warnings as errors
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [/Users/dut/Desktop/test/test_fb_sdkbox/frameworks/runtime-src/proj.android/app/build/intermediates/ndkBuild/release/obj/local/armeabi-v7a/libcocos2djs.so] Error 1

I update plugins (2.4.0.2) version on staging server.

plz try:

sdkbox update --staging
# or
sdkbox import facebook --staging

Thanks,

it’s working, thanks @yinjimmy