Can't run sample rhodes application

2019-07-04 19:10发布

I installed Android sdk version and Andorid ndk . Using Android SDK and AVD Manager, i installed SDK Plaform Android 2.2, API8, rev3 and 1.6, API4, revsion3

When i try rake run:android I got the error saying

D:/Android_ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/../lib/gcc/arm-linux-android
eabi/4.4.3/../../../../arm-linux-androideabi/bin/ld.exe: crtbegin_so.o: No such file: No such file or directory
collect2: ld returned 1 exit status 

Any suggestion would be helpful

3条回答
冷血范
2楼-- · 2019-07-04 19:16

The issue arises on NDK r7c(linux) as well.

I found that the toolchain ignores the platform location ($NDK_ROOT/platforms/android-8/arch-arm/usr/lib/) and searches for it in the toolchain path, which is incorrect.

However, as the toolchain also searches for the file in the current directory, one solution is to link the correct platform crtbegin_so.o and crtend_so.o into the source directory:

cd src && ln -s NDK_ROOT/platforms/android-8/arch-arm/usr/lib/crtbegin_so.a

cd src && ln -s NDK_ROOT/platforms/android-8/arch-arm/usr/lib/crtend_so.a

NOTE 1:This answer is not specific to rhodes

NOTE 2:This assumes that the code is being compiled for API8 (Android 2.2). Please alter the path to the correct platform as per your requirement.

NOTE 3:Configure flags used:

./configure \
--host=arm-linux-androideabi \
CC=arm-linux-androideabi-gcc \
CPPFLAGS="-I$NDK_ROOT/platforms/android-8/arch-arm/usr/include/" \
CFLAGS="-nostdlib" \
LDFLAGS="-Wl,-rpath-link=$NDK_ROOT/platforms/android-8/arch-arm/usr/lib/ -L$NDK_ROOT/platforms/android-8/arch-arm/usr/lib/" \
LIBS="-lc"
查看更多
Luminary・发光体
3楼-- · 2019-07-04 19:21

There appears to be an error on the 6b version of the NDK. Fall back to version 6 (the Mac version is here http://dl.google.com/android/ndk/android-ndk-r6-darwin-x86.tar.bz2, the Windows and Linux will be similar). Unpack it, put it somewhere then run the rhodes-setup utility and tell it where the new NDK is - you should be good to go.

查看更多
Fickle 薄情
4楼-- · 2019-07-04 19:38

Not sure if I'm pointing you in the right direction, but it seems your Rhodes application is looking for files like the SDK and AVD and can't find them.

First, make sure the build.yml in your project is pointing to your Rhodes folder. The sample-api does not have this set correctly by default.

Also, in the Rhodes folder make sure the rhobuild.yml has the correct location for your SDK and AVD. There is an example in that folder as well that shows you how it should look like.

If this not helps I would suggest you show more of the trace that leads to this error. Any more information is welcome since what you gave is not much to work with.

查看更多
登录 后发表回答