1

私がダウンロードしました

https://www.dropbox.com/s/uammywfed6d2rgj/android_gcc_r2a.tar.bz2

https://www.dropbox.com/s/uammywfed6d2rgj/android_gcc_supplement.tar.bz2

から

http://rwiki.sciviews.org/doku.php?id=getting-started:installation:android

/data に /data/local/gcc を作成し、前の 2 つのファイルをその中に入れて、それらを展開しました。

次に、これを行うためにファイル /system/etc/mkshrc を変更しました。

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/local/gcc/lib export PATH=$PATH:/data/local/gcc/bin

アドバイス通り。次に、test1.cファイルを作成しました

#include <stdio.h>
int main()
{
printf("Hello")
return 0;
}

コマンドでコンパイルしました

gcc test1.c -o test1

そして、コマンドを実行しました

./test1

結果:

「実行できません: 権限が拒否されました」. A ls -l on test1 は私に -rw-rw-r-- root を与えます(私はそれを root として作成したためです;しかし、同じ「アクセス許可が拒否されました」という結果で、すべてが root ではありませんでした)。次に、実行可能にするためにchmodを試しましたが、成功しませんでした。何か考えはありますか?

ありがとう


編集

Symbol table '.symtab' contains 55 entries:
   Num:    Value  Size Type    Bind   Vis      Ndx Name
     0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND
     1: 000080f4     0 SECTION LOCAL  DEFAULT    1
     2: 00008108     0 SECTION LOCAL  DEFAULT    2
     3: 00008158     0 SECTION LOCAL  DEFAULT    3
     4: 00008248     0 SECTION LOCAL  DEFAULT    4
     5: 000082e8     0 SECTION LOCAL  DEFAULT    5
     6: 000082f8     0 SECTION LOCAL  DEFAULT    6
     7: 00008330     0 SECTION LOCAL  DEFAULT    7
     8: 00008388     0 SECTION LOCAL  DEFAULT    8
     9: 00010398     0 SECTION LOCAL  DEFAULT    9
    10: 000103a0     0 SECTION LOCAL  DEFAULT   10
    11: 000103a8     0 SECTION LOCAL  DEFAULT   11
    12: 000103b0     0 SECTION LOCAL  DEFAULT   12
    13: 000103b8     0 SECTION LOCAL  DEFAULT   13
    14: 00010478     0 SECTION LOCAL  DEFAULT   14
    15: 00000000     0 SECTION LOCAL  DEFAULT   15
    16: 00000000     0 SECTION LOCAL  DEFAULT   16
    17: 00000000     0 FILE    LOCAL  DEFAULT  ABS bionic/libc/arch-arm/bion
    18: 00000000     0 FILE    LOCAL  DEFAULT  ABS test1.c
    19: 00008388     0 NOTYPE  LOCAL  DEFAULT    8 $d
    20: 00008360     0 NOTYPE  LOCAL  DEFAULT    7 $a
    21: 00008384     0 NOTYPE  LOCAL  DEFAULT    7 $d
    22: 00000000     0 FILE    LOCAL  DEFAULT  ABS bionic/libc/arch-arm/bion
    23: 00008398     0 NOTYPE  LOCAL  DEFAULT  ABS __exidx_end
    24: 000103b8     0 OBJECT  LOCAL  DEFAULT   13 _DYNAMIC
    25: 00008398     0 NOTYPE  LOCAL  DEFAULT  ABS __exidx_start
    26: 00010478     0 OBJECT  LOCAL  DEFAULT   14 _GLOBAL_OFFSET_TABLE_
    27: 00008330     0 NOTYPE  LOCAL  DEFAULT    7 $d
    28: 00010398     0 NOTYPE  LOCAL  DEFAULT    9 $d
    29: 000103a0     0 NOTYPE  LOCAL  DEFAULT   10 $d
    30: 000103a8     0 NOTYPE  LOCAL  DEFAULT   11 $d
    31: 000103b0     0 NOTYPE  LOCAL  DEFAULT   12 $d
    32: 0001039c     0 NOTYPE  LOCAL  DEFAULT    9 $d
    33: 000103a4     0 NOTYPE  LOCAL  DEFAULT   10 $d
    34: 000103ac     0 NOTYPE  LOCAL  DEFAULT   11 $d
    35: 000103b4     0 NOTYPE  LOCAL  DEFAULT   12 $d
    36: 000082f8     0 NOTYPE  LOCAL  DEFAULT    6 $a
    37: 00008308     0 NOTYPE  LOCAL  DEFAULT    6 $d
    38: 0000830c     0 NOTYPE  LOCAL  DEFAULT    6 $a
    39: 0001048c     0 NOTYPE  GLOBAL DEFAULT  ABS _bss_end__
    40: 0000830c     0 FUNC    GLOBAL DEFAULT  UND puts
    41: 000103a8     0 NOTYPE  GLOBAL DEFAULT   11 __FINI_ARRAY__
    42: 0001048c     0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start__
    43: 00008318     0 FUNC    GLOBAL DEFAULT  UND __libc_init
    44: 000103b0     0 NOTYPE  GLOBAL DEFAULT   12 __CTOR_LIST__
    45: 0001048c     0 NOTYPE  GLOBAL DEFAULT  ABS __bss_end__
    46: 00008330     0 FUNC    GLOBAL DEFAULT    7 _start
    47: 000103a0     0 NOTYPE  GLOBAL DEFAULT   10 __INIT_ARRAY__
    48: 0001048c     0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
    49: 00008360    40 FUNC    GLOBAL DEFAULT    7 main
    50: 0001048c     0 NOTYPE  GLOBAL DEFAULT  ABS __end__
    51: 00010398     0 NOTYPE  GLOBAL DEFAULT    9 __PREINIT_ARRAY__
    52: 0001048c     0 NOTYPE  GLOBAL DEFAULT  ABS _edata
    53: 0001048c     0 NOTYPE  GLOBAL DEFAULT  ABS _end
    54: 0001048c     0 NOTYPE  GLOBAL DEFAULT   14 __data_start
root@android:/sdcard/Development/cpp #

編集 2:「マウント」を実行した結果:

* daemon not running. starting it now on port 5037 *
* daemon started successfully *
shell@android:/ $ su
su
root@android:/ # mount
mount
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
/dev/block/mmcblk0p13 /system ext4 ro,relatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p3 /efs ext4 rw,nosuid,nodev,noatime,barrier=1,journal_async_commit,data=ordered 0 0
/dev/block/mmcblk0p12 /cache ext4 rw,nosuid,nodev,noatime,errors=panic,barrier=1,journal_async_commit,data=ordered 0 0
/dev/block/mmcblk0p16 /data ext4 rw,nosuid,nodev,noatime,barrier=1,journal_async_commit,data=ordered,noauto_da_alloc,dis
card 0 0
/sys/kernel/debug /sys/kernel/debug debugfs rw,relatime 0 0
/dev/fuse /storage/sdcard0 fuse rw,nosuid,nodev,noexec,relatime,user_id=1023,group_id=1023,default_permissions,allow_oth
er 0 0
/dev/block/dm-0 /mnt/asec/eu.chainfire.supersu.pro-1 ext4 ro,dirsync,nosuid,nodev,noatime,barrier=1 0 0
/dev/block/dm-1 /mnt/asec/com.keramidas.TitaniumBackupPro-1 ext4 ro,dirsync,nosuid,nodev,noatime,barrier=1 0 0
/dev/block/dm-2 /mnt/asec/stericson.busybox.donate-1 ext4 ro,dirsync,nosuid,nodev,noatime,barrier=1 0 0
/dev/block/dm-3 /mnt/asec/eu.chainfire.mobileodin.pro-1 ext4 ro,dirsync,nosuid,nodev,noatime,barrier=1 0 0
/dev/block/dm-4 /mnt/asec/com.vito.lux-2 ext4 ro,dirsync,nosuid,nodev,noatime,barrier=1 0 0
/dev/block/dm-5 /mnt/asec/com.speedsoftware.rootexplorer-1 ext4 ro,dirsync,nosuid,nodev,noatime,barrier=1 0 0
/dev/block/dm-6 /mnt/asec/eu.chainfire.triangleaway-2 ext4 ro,dirsync,nosuid,nodev,noatime,barrier=1 0 0
/dev/block/dm-7 /mnt/asec/com.ea.game.realracing2_OTD_row-1 ext4 ro,dirsync,nosuid,nodev,noatime,barrier=1 0 0
/dev/block/dm-8 /mnt/asec/com.zausan.zscreenrecorderpro-1 ext4 ro,dirsync,nosuid,nodev,noatime,barrier=1 0 0
/dev/block/dm-9 /mnt/asec/sixgreen.aos.itap.notes-1 ext4 ro,dirsync,nosuid,nodev,noatime,barrier=1 0 0
/dev/block/dm-10 /mnt/asec/com.square_enix.android_googleplay.ffl_gp-1 ext4 ro,dirsync,nosuid,nodev,noatime,barrier=1 0
0
/dev/block/vold/179:17 /storage/extSdCard exfat rw,dirsync,nosuid,nodev,noexec,noatime,nodiratime,uid=1000,gid=1023,fmas
k=0002,dmask=0002,allow_utime=0020,codepage=cp437,iocharset=utf8,namecase=0,errors=remount-ro 0 0
root@android:/ #
4

1 に答える 1

0

コンパイル済みのプログラムが /sdcard/ 内にあるようです。/sdcard/ は FAT ファイル システムである可能性が非常に高いため、chmod +x は機能しません。/system/ 内に配置する必要があります (注意: /system/ は読み取り専用でマウントされます)。

CyanogenMod を実行している GS3 で同じことを試し、/system/ の中に入れてみました。

于 2013-04-02T20:06:52.437 に答える