如何设置Facebook Redex以优化Android字节码?

如何设置Facebook Redex以优化Android字节码?,android,facebook,redex,facebook-redex,Android,Facebook,Redex,Facebook Redex,在Redex页面上有一个非常好的说明 我按照说明做,但我有两个步骤的问题 1.我对第一个命令的运行没有问题(我的操作系统是Ubuntu) 我在笔记本电脑的某个地方克隆了repo 我通过$cd-android/projects/folly/folly/ 我运行了git子模块更新--init,但什么也没发生。我甚至在$cd-android/projects/folly/中运行了这个命令,但也没有发生任何事情 我运行autoeconf-ivf&&./configure&&make&&makeinsta

在Redex页面上有一个非常好的说明

我按照说明做,但我有两个步骤的问题

1.我对第一个命令的运行没有问题(我的操作系统是Ubuntu)

  • 我在笔记本电脑的某个地方克隆了repo

  • 我通过
    $cd-android/projects/folly/folly/

  • 我运行了
    git子模块更新--init
    ,但什么也没发生。我甚至在
    $cd-android/projects/folly/
    中运行了这个命令,但也没有发生任何事情

  • 我运行
    autoeconf-ivf&&./configure&&make&&makeinstall
    。我看到这个过程大约需要一两分钟,而且有很多og消息被打印出来

  • 我将一个示例.apk文件复制/粘贴到我的桌面并运行
    redex~/Desktop/my_android\u app.apk-o~/Desktop/my_android\u app-redex.apk
    。然而,我在终端上收到了这个消息

    未找到命令“redex”,您的意思是:来自包的命令“redet” “redet”(宇宙)redex:未找到命令

  • 我在
    /home/hesam/android/projects/folly/folly
    /home/hesam/android/projects/folly/
    中运行上述命令。但我得到了相同的输出

    更新 我克隆了回购协议,并遵循伯特的指示。它可以工作,通过运行
    git子模块update--init
    ,我可以看到一些事情正在发生。多亏了伯特。但是,我在
    autoreconf-ivf&&./configure&&make&&makeinstall
    命令的末尾遇到了错误

    请查看以下输出:

    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) $ 
    

    你不需要单独克隆愚蠢;它作为redex的子模块包含。只要做:
    
    git克隆https://github.com/facebook/redex.git
    光驱
    git子模块更新--init
    

    然后根据说明进行配置/制作。

    您不需要单独克隆folly;它作为redex的子模块包含。只要做:
    
    git克隆https://github.com/facebook/redex.git
    光驱
    git子模块更新--init
    

    然后根据说明进行配置/制作。

    您在中看到的说明与在第页中看到的说明不同。请按照Github页面上关于
    make
    install
    的说明进行操作

    autoreconf -ivf && ./configure && make
    sudo make install
    
    关于我的上述问题,Redex团队的一位开发人员打电话给我,几分钟后他发现并解决了问题。他更新了Redex页面上的常见问题部分,您可以看到。因为那里没有解释,所以我复制/粘贴了他在聊天中说的话

    因此,作为一种优化,运行时链接器实际上不会运行 在所有东西中搜寻lib,它使用缓存 文件,该文件由ldconfig生成

    更新 我忘了提到您的路径中必须有
    ANDROID\u SDK
    。我的
    .profile
    中有以下路径。在对其进行更改后,不要忘了
    source
    it
    ~/android/sdk
    是指向我的android sdk目录的路径

    export ANDROID_HOME=~/android/sdk
    export ANDROID_SDK=${ANDROID_HOME}
    export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
    

    您在第页中看到的说明和在第页中看到的说明有所不同。请按照Github页面上关于
    make
    install
    的说明进行操作

    autoreconf -ivf && ./configure && make
    sudo make install
    
    关于我的上述问题,Redex团队的一位开发人员打电话给我,几分钟后他发现并解决了问题。他更新了Redex页面上的常见问题部分,您可以看到。因为那里没有解释,所以我复制/粘贴了他在聊天中说的话

    因此,作为一种优化,运行时链接器实际上不会运行 在所有东西中搜寻lib,它使用缓存 文件,该文件由ldconfig生成

    更新 我忘了提到您的路径中必须有
    ANDROID\u SDK
    。我的
    .profile
    中有以下路径。在对其进行更改后,不要忘了
    source
    it
    ~/android/sdk
    是指向我的android sdk目录的路径

    export ANDROID_HOME=~/android/sdk
    export ANDROID_SDK=${ANDROID_HOME}
    export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
    

    阅读Github上的问题。人们都有你的问题,关于如何解决这些问题,Github上有答案。人们都有你的问题,关于如何解决这个问题有答案。谢谢你的回复。你的指导帮助我解决了第一个问题。然而,我的第二个问题仍然存在。请看一下更新。谢谢.1.autoreconf-ivf&./configure&&make 2.sudo make install在上述应答命令之后运行此命令,您将获得识别的redex命令。您好。谢谢你的回复。你的指导帮助我解决了第一个问题。然而,我的第二个问题仍然存在。请看一下更新。谢谢.1.autoreconf-ivf&./configure&&make 2.sudo make install在上述应答命令之后运行此命令,u将获得识别的redex命令。