Thank you for your notice. 1. First, It is our goal to support arm-v7a, which is removed in NDK 17. There is no other way except for using NDK 16 for now. 2. Weex uses JavaScript Core compiled by GCC as a JS Interpreter. It is strongly suggested to use GCC instead of Clang. 3. We will fix the return value issue soon.
> 在 2018年7月14日,17:39,wcxwave <wcxw...@aliyun.com.INVALID> 写道: > > Dear all, > in release 0.19-rc2 android project, I find the libweexcore has some > problems. > 1) First, in the latest ndk 0.16 - 0.17, the android just support clang > platform tools. > -DANDROID_TOOLCHAIN=clang > -DANDROID_STL=c++_static > but in the weex-sdk project, it still uses gcc. > -DANDROID_TOOLCHAIN=gcc, > -DANDROID_STL=gnustl_static, > I get some bugs such as 'there no memcpy function'. > 2) Second, After I change it to use clang, there are some warning during the > compile. > I just ignore it.(but the developer should resolve it. some warning just > a bug.) > I get the weexcore.so. But it crashes after launch the app. > Then I think it maybe my enviroment problems, so I just replace the > weexcore.so from the apache github. > Unfortunately, there weexcore.so in the github is not matched the source. > It reports there is no native method nativeSetViewPort in WXBridge. I'm > depressed for it. > Then I just try to solve the crash. > A/art: art/runtime/check_jni.cc:70] JNI DETECTED ERROR IN APPLICATION: native > code passing in reference to invalid local reference: 0x200001 > A/art: art/runtime/check_jni.cc:70] in call to DeleteLocalRef > After some debuging, I find the reason for it. > In the jni_load.cc funtion JNI_OnLoad, > the function WeexCore::RegisterJNIMeasureMode(env); will > crash, it will call DeleteLocalRef twice. > After debuging more times and chaning code, I find a problem for the > function RegisterJNIMeasureMode. > > the origin source: > bool RegisterJNIMeasureMode(JNIEnv *env) { > RegisterNativesImpl(env); > } > there is no return value. > after I change it to the following code, > bool RegisterJNIMeasureMode(JNIEnv *env) { > ///wcheer.com modified by simon add return 2018.7.14 > return RegisterNativesImpl(env); > } > It can works for the function. but the latter function is crashed again. > WeexCore::RegisterWXJsFunction(env); > it has the same reason for crashing. > > In the last, I suggest the weex project ndk should use clang toolschain. > You can resolve some easy problems and it can save other developer's time and > efforts.\ > Thanks. > > Regards Best. > Simon Wu. > 2018.7.14 > > > >