0

http://fbredex.com/の Redex ページに非常に優れた説明があります。

指示に従いますが、2 つのステップで問題が発生します。

1.最初のコマンドの実行に問題はありません(私のOSはUbuntuです)

sudo apt-get install \
    g++ \
    automake \
    autoconf \
    autoconf-archive \
    libtool \
    libboost-all-dev \
    libevent-dev \
    libdouble-conversion-dev \
    libgoogle-glog-dev \
    libgflags-dev \
    liblz4-dev \
    liblzma-dev \
    libsnappy-dev \
    make \
    zlib1g-dev \
    binutils-dev \
    libjemalloc-dev \
    libssl-dev \
    libiberty-dev
  1. ラップトップのどこかに愚かなリポジトリを複製します

  2. ディレクトリに移動します$ cd android/projects/folly/folly/

  3. 走りますgit submodule update --initが何も起こりません。このコマンドを実行して$ cd android/projects/folly/も何も起こりません。

  4. 私は走りautoreconf -ivf && ./configure && make && make installます。プロセスには 1 ~ 2 分ほどかかり、多くのメッセージが出力されるので、うまくいっているようです。

  5. サンプルの .apk ファイルをコピーしてデスクトップに貼り付け、実行しますredex ~/Desktop/my_android_app.apk -o ~/Desktop/my_android_app-redexed.apk。ただし、端末でこのメッセージが表示されます。

    コマンド 'redex' が見つかりません。つまり、パッケージ 'redet' (universe) redex のコマンド 'redet': コマンドが見つかりません

/home/hesam/android/projects/folly/follyまたはにいるときに上記のコマンドを実行しました/home/hesam/android/projects/folly/。しかし、同じ出力が得られます。

アップデート

私はRedexリポジトリのクローンを作成し、Bert の指示に従いました。それは機能し、実行することで何かが起こっていることがわかりましたgit submodule update --init。バートに感謝します。ただし、autoreconf -ivf && ./configure && make && make installコマンドの最後にエラーが発生しました。

次の出力を見てください。

Making all in unit
make[3]: Entering directory `/home/hesam/android/projects/redex/test/unit'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/hesam/android/projects/redex/test/unit'
make[2]: Leaving directory `/home/hesam/android/projects/redex/test'
make[1]: Leaving directory `/home/hesam/android/projects/redex'
Making install in third-party/folly/folly
make[1]: Entering directory `/home/hesam/android/projects/redex/third-party/folly/folly'
Making install in .
make[2]: Entering directory `/home/hesam/android/projects/redex/third-party/folly/folly'
make[3]: Entering directory `/home/hesam/android/projects/redex/third-party/folly/folly'
 /bin/mkdir -p '/usr/local/lib'
 /bin/bash ./libtool   --mode=install /usr/bin/install -c   libfolly.la libfollybenchmark.la '/usr/local/lib'
libtool: install: /usr/bin/install -c .libs/libfolly.so.57.0.0 /usr/local/lib/libfolly.so.57.0.0
/usr/bin/install: cannot create regular file '/usr/local/lib/libfolly.so.57.0.0': Permission denied
make[3]: *** [install-libLTLIBRARIES] Error 1
make[3]: Leaving directory `/home/hesam/android/projects/redex/third-party/folly/folly'
make[2]: *** [install-am] Error 2
make[2]: Leaving directory `/home/hesam/android/projects/redex/third-party/folly/folly'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/home/hesam/android/projects/redex/third-party/folly/folly'
make: *** [install-recursive] Error 1
hesam: redex (master) $ redex ~/Desktop/my_android_app.apk -o ~/Desktop/my_android_app-redexed.apk 
No command 'redex' found, did you mean:
 Command 'redet' from package 'redet' (universe)
redex: command not found
hesam: redex (master) $ 
4

2 に答える 2

1

folly を個別に複製する必要はありません。redex のサブモジュールとして含まれています。ただ行う: git clone https://github.com/facebook/redex.git cd redex git submodule update --init そして、指示に従って構成/作成します。

于 2016-04-15T22:58:58.193 に答える
1

fbredexに表示される指示とGithub redex ページに表示される指示に関して違いがあります。makeおよびについては、Github ページの内容に従ってくださいinstall

autoreconf -ivf && ./configure && make
sudo make install

上記の問題について、Redex チームの開発者から電話があり、数分後に問題を見つけて解決しました。彼はここで見ることができる Redex ページの FAQ セクションを更新しました。そこに説明がないので、彼がチャットで言ったことをコピペします。

そのため、最適化として、実行時リンカーは実際にすべてを調べてライブラリを探すのではなく、ldconfig によって生成されるキャッシュ ファイルを使用します。

アップデート

ANDROID_SDKPATHにある必要があることを忘れていました。に次のパスがあります.profilesource変更後は忘れずに。~/android/sdkAndroid SDK ディレクトリへのパスです。

export ANDROID_HOME=~/android/sdk
export ANDROID_SDK=${ANDROID_HOME}
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
于 2016-04-19T17:51:29.730 に答える