草庐IT

android - 为 Android 项目构建 VLC 在 Ubuntu 12.04 上失败

coder 2023-11-23 原文

我想从事 VLC for Android 项目。所以首先我需要编译这个项目,我按照 https://wiki.videolan.org/AndroidCompile/ 上的所有步骤进行操作但是当我在最后执行 sh compile.sh -a armeabi-v7a 时,出现了这个错误:

contribs: make failed

Error:Execution failed for task ':libvlc:buildDebugARMv5'. > Process 'command './compile-libvlc.sh'' finished with non-zero exit value 1

我正在使用 Android Studio。

更新

所以我下载了 ubuntu 12.04 虚拟机,并在其上构建了 VLC android 项目。出现同样的错误,但它也告诉我我的 gettext 太旧了,它应该是 0.19.1 版本或更高版本。 所以我退出了 VM,并在我的真实机器上检查了我的 gettext 版本 (0.18.4),我更新了 gettext,它是 0.19.4 版本。

我构建了项目并且 contribs: make failed 错误消失了,但这是知道的新错误:

FAILURE: Build failed with an exception.

* Where:
Build file '/home/edouard/3DSoundLabs/android/android/build.gradle' line: 16

* What went wrong:
A problem occurred evaluating root project 'android'.
> Failed to apply plugin [id 'android-sdk-manager']
> Specified SDK directory './3DSoundLabs/android/android-sdk-linux/' in 'local.properties' is not found.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

这是我的local.properties,好像不错,没看懂

本地属性:

sdk.dir=./3DSoundLabs/android/android-sdk-linux/
ndk.dir=./3DSoundLabs/android/android-ndk-r10e/

已解决!!

好吧,对于第二个错误,这只是路径问题,我的错。 更正: sdk.dir=../android-sdk-linux/ ndk.dir=../android-ndk-r10e/

所以主要的错误是我的gettext版本太旧了,一开始没发现是因为log没有说出这个问题。

最佳答案

你没有提到你使用的是哪个版本的 Ubuntu,VLC AndroidComile wiki 说

very up-to-date versions of those tools.

所以我继续在 64 位 Ubuntu 14.04 上进行测试。

这是我做的

安装的最低要求包:

sudo apt-get update
sudo apt-get install ant autoconf automake autopoint cmake gawk gcc g++ libtool m4 patch pkg-config libprotobuf-dev libprotobuf-c0-dev protobuf-c-compiler ragel subversion unzip

导航到 VLC Android 目录并运行:

./compile.sh 
*** No ANDROID_ABI defined architecture: using ARMv7
inflating: ...
...

:wrapper

BUILD SUCCESSFUL

Total time: 4.992 secs
Downloading https://services.gradle.org/distributions/gradle-2.2.1-bin.zip
...........................................................................
Unzipping /home/<user>/.gradle/wrapper/dists/gradle-2.2.1-bin/88n1whbyjvxg3s40jzz5ur27/gradle-2.2.1-bin.zip to /home/<user>/.gradle/wrapper/dists/gradle-2.2.1-bin/88n1whbyjvxg3s40jzz5ur27
Set executable permissions for: /home/<user>/.gradle/wrapper/dists/gradle-2.2.1-bin/88n1whbyjvxg3s40jzz5ur27/gradle-2.2.1/bin/gradle

------------------------------------------------------------
Gradle 2.2.1
------------------------------------------------------------

Build time:   2014-11-24 09:45:35 UTC
Build number: none
Revision:     6fcb59c06f43a4e6b1bcb401f7686a8601a1fb4a

Groovy:       2.3.6
Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM:          1.7.0_80 (Oracle Corporation 24.80-b11)
OS:           Linux 3.13.0-53-generic amd64

VLC source not found, cloning
Cloning into 'vlc'...

VLC source found
Configuring
Lots of configuration and make logs
...

make[1]: Leaving directory `/<...>/vlc/android/vlc/extras/tools/cmake'
touch .cmake
You are ready to build VLC and its contribs
Bootstraping
NOTE: GNU gettext appears to be missing or out-of-date.
Please install or update GNU gettext.
Also check if you have cvs, a dependency of autopoint.
Otherwise, you will not be able to build a source tarball.
==============================================================

generating modules/**/Makefile.am
.....
+ autoreconf --install --force --verbose -I m4
autoreconf: Entering directory `.'
autoreconf: running: true --force
....

bin/Makefile.am: installing 'autotools/depcomp'
autoreconf: Leaving directory `.'
+ rm -f po/Makevars.template
+ rm -f stamp-h*
+ set +x
Successfully bootstrapped
Building the contribs
Generating EGL pkg-config file
Generating GLESv2 pkg-config file
Guessing build system... x86_64-linux-gnu
Creating configuration file... config.mak
Bootstrap completed.

Run "make" to start compilation.

Other targets:
 * make install      same as "make"
 * make prebuilt     fetch and install prebuilt binaries
 * make list         list packages
 * make fetch        fetch required source tarballs
 * make fetch-all    fetch all source tarballs
 * make distclean    clean everything and undo bootstrap
 * make mostlyclean  clean everything except source tarballs
 * make clean        clean everything
 * make package      prepare prebuilt packages
curl -f -L -- "http://downloads.videolan.org/pub/contrib/a52dec-0.7.4.tar.gz" > "../../contrib/tarballs/a52dec-0.7.4.tar.gz"
Lots of fetching and cloning
...

Lots of configuration and make logs
...

Libraries have been installed in:
/<...>/vlc/android/vlc/contrib/arm-linux-androideabi/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
make[4]: Leaving directory `/<...>/vlc/android/vlc/contrib/contrib-android-arm-linux-androideabi/gmp'
make[3]: Leaving directory `/<...>/vlc/android/vlc/contrib/contrib-android-arm-linux-androideabi/gmp'
make[2]: Leaving directory `/<...>/vlc/android/vlc/contrib/contrib-android-arm-linux-androideabi/gmp'
make[1]: Leaving directory `/<...>/vlc/android/vlc/contrib/contrib-android-arm-linux-androideabi/gmp'
touch .gmp
contribs: make failed

make 不断失败,但每次都使用不同的库,我不得不多次重复 ./compile.sh 命令。但是在 zvbi

出现类似错误之后
make[4]: Leaving directory `/<...>/vlc/android/vlc/contrib/contrib-android-arm-linux-androideabi/zvbi'
make[3]: Leaving directory `/<...>/vlc/android/vlc/contrib/contrib-android-arm-linux-androideabi/zvbi'
make[2]: Leaving directory `/<...>/vlc/android/vlc/contrib/contrib-android-arm-linux-androideabi/zvbi'
make[1]: Leaving directory `/<...>/vlc/android/vlc/contrib/contrib-android-arm-linux-androideabi/zvbi'
touch .zvbi
contribs: make failed

这次出现了不同的错误信息:

mkdir -p -- /<...>/vlc/android/vlc/contrib/arm-linux-androideabi/share/aclocal && cd libgpg-error && autoreconf -fiv -I/<...>/vlc/android/vlc/contrib/arm-linux-androideabi/share/aclocal
autoreconf: Entering directory `.'
autoreconf: running: autopoint --force
autopoint: *** The AM_GNU_GETTEXT_VERSION declaration in your configure.ac
               file requires the infrastructure from gettext-0.19.3 but this version
               is older. Please upgrade to gettext-0.19.3 or newer.
autopoint: *** Stop.
autoreconf: autopoint failed with exit status: 1
make: *** [.gpg-error] Error 1
contribs: make failed

$ gettext --version
gettext (GNU gettext-runtime) 0.18.3

在撰写本文时甚至 vivid (v0.19.2-2) 没有那么高级别的 gettext。所以,我作弊并手动降级所需的gettext版本到0.18:

$ grep --include=configure.ac -rn AM_GNU_GETTEXT_VERSION .
./vlc/configure.ac:439:AM_GNU_GETTEXT_VERSION([0.19.2])
./vlc/contrib/contrib-android-arm-linux-androideabi/gnutls/configure.ac:148:AM_GNU_GETTEXT_VERSION([0.18])
./vlc/contrib/contrib-android-arm-linux-androideabi/libgpg-error/configure.ac:158:AM_GNU_GETTEXT_VERSION([0.19.3])

再来一个 ./compile.sh 和 bingo:

[armeabi-v7a] SharedLibrary  : libvlcjni.so
[armeabi-v7a] Install        : libvlcjni.so => libs/armeabi-v7a/libvlcjni.so
rm jni/../../android-libs/libbinder.c jni/../../android-libs/libui.c jni/../../android-libs/libutils.c jni/../../android-libs/libstagefright.c jni/../../android-libs/libcutils.c jni/../../android-libs/libhardware.c jni/../../android-libs/libmedia.c
make: Leaving directory `/<...>/vlc/android/libvlc'
Download https://jcenter.bintray.com/com/android/tools/build/gradle/1.2.1/gradle-1.2.1.pom
...
> Configuring > 0/3 projects > root project

但随后它永远卡在那里(可能是因为代理配置存在冲突)。 ps x 显示:

/bin/sh ./compile.sh
java -Dorg.gradle.appname=gradlew -classpath /<...>/vlc/android/gradle/wrapper/gradle-wrapper.jar org.gradle.wrapper.GradleWrapperMain assembleVanillaARMv7Debug

所以,我决定取消Ctrl+C./compile.sh,尝试将项目导入Android Studio。 启动 AS 并选择“打开现有的 Android Studio 项目”。 AS 还从 jcenter 和 bingo 中获取了一些包(这次是真的)!

Information:Gradle tasks [:libvlc:generateDebugSources, :libvlc:generateDebugAndroidTestSources, :vlc-android:generateChromeARMv5DebugSources, :vlc-android:generateChromeARMv5DebugAndroidTestSources]
:libvlc:preBuild UP-TO-DATE
:libvlc:preDebugBuild UP-TO-DATE
:libvlc:checkDebugManifest
:libvlc:prepareDebugDependencies
:libvlc:compileDebugAidl
:libvlc:compileDebugRenderscript
:libvlc:generateDebugBuildConfig
:libvlc:generateDebugAssets UP-TO-DATE
:libvlc:mergeDebugAssets
:libvlc:generateDebugResValues
:libvlc:generateDebugResources
:libvlc:packageDebugResources
:libvlc:processDebugManifest
:libvlc:processDebugResources
:libvlc:generateDebugSources
:libvlc:preDebugAndroidTestBuild UP-TO-DATE
:libvlc:prepareDebugAndroidTestDependencies
:libvlc:compileDebugAndroidTestAidl
:libvlc:compileLint
:libvlc:copyDebugLint UP-TO-DATE
:libvlc:mergeDebugProguardFiles
:libvlc:processDebugJavaRes UP-TO-DATE
:libvlc:compileDebugJava
Note: /<...>/vlc/android/libvlc/src/org/videolan/libvlc/LibVlcUtil.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: /<...>/vlc/android/libvlc/src/org/videolan/libvlc/VLCObject.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
:libvlc:packageDebugJar
:libvlc:compileDebugNdk UP-TO-DATE
:libvlc:packageDebugJniLibs
:libvlc:packageDebugLocalJar UP-TO-DATE
:libvlc:packageDebugRenderscript UP-TO-DATE
:libvlc:bundleDebug
:libvlc:compileDebugSources
:libvlc:assembleDebug
:libvlc:processDebugAndroidTestManifest
:libvlc:compileDebugAndroidTestRenderscript
:libvlc:generateDebugAndroidTestBuildConfig
:libvlc:generateDebugAndroidTestAssets UP-TO-DATE
:libvlc:mergeDebugAndroidTestAssets
:libvlc:generateDebugAndroidTestResValues
:libvlc:generateDebugAndroidTestResources
:libvlc:mergeDebugAndroidTestResources
:libvlc:processDebugAndroidTestResources
:libvlc:generateDebugAndroidTestSources
:vlc-android:preBuild UP-TO-DATE
:vlc-android:preChromeARMv5DebugBuild UP-TO-DATE
:vlc-android:checkChromeARMv5DebugManifest
:libvlc:copyReleaseLint UP-TO-DATE
:libvlc:mergeReleaseProguardFiles
:libvlc:preReleaseBuild UP-TO-DATE
:libvlc:checkReleaseManifest
:libvlc:prepareReleaseDependencies
:libvlc:compileReleaseAidl
:libvlc:compileReleaseRenderscript
:libvlc:generateReleaseBuildConfig
:libvlc:generateReleaseAssets UP-TO-DATE
:libvlc:mergeReleaseAssets
:libvlc:generateReleaseResValues
:libvlc:generateReleaseResources
:libvlc:packageReleaseResources
:libvlc:processReleaseManifest
:libvlc:processReleaseResources
:libvlc:generateReleaseSources
:libvlc:processReleaseJavaRes UP-TO-DATE
:libvlc:compileReleaseJava
Note: /<...>/vlc/android/libvlc/src/org/videolan/libvlc/LibVlcUtil.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: /<...>/vlc/android/libvlc/src/org/videolan/libvlc/VLCObject.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
:libvlc:packageReleaseJar
:libvlc:compileReleaseNdk UP-TO-DATE
:libvlc:packageReleaseJniLibs
:libvlc:packageReleaseLocalJar UP-TO-DATE
:libvlc:packageReleaseRenderscript UP-TO-DATE
:libvlc:bundleRelease
:vlc-android:preChromeARMv5ReleaseBuild UP-TO-DATE
:vlc-android:preChromeARMv6fpuDebugBuild UP-TO-DATE
:vlc-android:preChromeARMv6fpuReleaseBuild UP-TO-DATE
:vlc-android:preChromeARMv6nofpuDebugBuild UP-TO-DATE
:vlc-android:preChromeARMv6nofpuReleaseBuild UP-TO-DATE
:vlc-android:preChromeARMv7DebugBuild UP-TO-DATE
:vlc-android:preChromeARMv7ReleaseBuild UP-TO-DATE
:vlc-android:preChromeARMv8DebugBuild UP-TO-DATE
:vlc-android:preChromeARMv8ReleaseBuild UP-TO-DATE
:vlc-android:preChromeMIPS64DebugBuild UP-TO-DATE
:vlc-android:preChromeMIPS64ReleaseBuild UP-TO-DATE
:vlc-android:preChromeMIPSDebugBuild UP-TO-DATE
:vlc-android:preChromeMIPSReleaseBuild UP-TO-DATE
:vlc-android:preChromeX86DebugBuild UP-TO-DATE
:vlc-android:preChromeX86ReleaseBuild UP-TO-DATE
:vlc-android:preChromeX86_64DebugBuild UP-TO-DATE
:vlc-android:preChromeX86_64ReleaseBuild UP-TO-DATE
:vlc-android:preTvARMv5DebugBuild UP-TO-DATE
:vlc-android:preTvARMv5ReleaseBuild UP-TO-DATE
:vlc-android:preTvARMv6fpuDebugBuild UP-TO-DATE
:vlc-android:preTvARMv6fpuReleaseBuild UP-TO-DATE
:vlc-android:preTvARMv6nofpuDebugBuild UP-TO-DATE
:vlc-android:preTvARMv6nofpuReleaseBuild UP-TO-DATE
:vlc-android:preTvARMv7DebugBuild UP-TO-DATE
:vlc-android:preTvARMv7ReleaseBuild UP-TO-DATE
:vlc-android:preTvARMv8DebugBuild UP-TO-DATE
:vlc-android:preTvARMv8ReleaseBuild UP-TO-DATE
:vlc-android:preTvMIPS64DebugBuild UP-TO-DATE
:vlc-android:preTvMIPS64ReleaseBuild UP-TO-DATE
:vlc-android:preTvMIPSDebugBuild UP-TO-DATE
:vlc-android:preTvMIPSReleaseBuild UP-TO-DATE
:vlc-android:preTvX86DebugBuild UP-TO-DATE
:vlc-android:preTvX86ReleaseBuild UP-TO-DATE
:vlc-android:preTvX86_64DebugBuild UP-TO-DATE
:vlc-android:preTvX86_64ReleaseBuild UP-TO-DATE
:vlc-android:preVanillaARMv5DebugBuild UP-TO-DATE
:vlc-android:preVanillaARMv5ReleaseBuild UP-TO-DATE
:vlc-android:preVanillaARMv6fpuDebugBuild UP-TO-DATE
:vlc-android:preVanillaARMv6fpuReleaseBuild UP-TO-DATE
:vlc-android:preVanillaARMv6nofpuDebugBuild UP-TO-DATE
:vlc-android:preVanillaARMv6nofpuReleaseBuild UP-TO-DATE
:vlc-android:preVanillaARMv7DebugBuild UP-TO-DATE
:vlc-android:preVanillaARMv7ReleaseBuild UP-TO-DATE
:vlc-android:preVanillaARMv8DebugBuild UP-TO-DATE
:vlc-android:preVanillaARMv8ReleaseBuild UP-TO-DATE
:vlc-android:preVanillaMIPS64DebugBuild UP-TO-DATE
:vlc-android:preVanillaMIPS64ReleaseBuild UP-TO-DATE
:vlc-android:preVanillaMIPSDebugBuild UP-TO-DATE
:vlc-android:preVanillaMIPSReleaseBuild UP-TO-DATE
:vlc-android:preVanillaX86DebugBuild UP-TO-DATE
:vlc-android:preVanillaX86ReleaseBuild UP-TO-DATE
:vlc-android:preVanillaX86_64DebugBuild UP-TO-DATE
:vlc-android:preVanillaX86_64ReleaseBuild UP-TO-DATE
:vlc-android:prepareAndroidLibvlcUnspecifiedLibrary
:vlc-android:prepareComAndroidSupportAppcompatV72211Library
:vlc-android:prepareComAndroidSupportCardviewV72211Library
:vlc-android:prepareComAndroidSupportRecyclerviewV72211Library
:vlc-android:prepareComAndroidSupportSupportV42211Library
:vlc-android:prepareChromeARMv5DebugDependencies
:vlc-android:compileChromeARMv5DebugAidl
:vlc-android:compileChromeARMv5DebugRenderscript
:vlc-android:generateChromeARMv5DebugBuildConfig
:vlc-android:generateChromeARMv5DebugAssets UP-TO-DATE
:vlc-android:mergeChromeARMv5DebugAssets
:vlc-android:generateChromeARMv5DebugResValues
:vlc-android:generateChromeARMv5DebugResources
:vlc-android:mergeChromeARMv5DebugResources
:vlc-android:processChromeARMv5DebugManifest
:vlc-android:processChromeARMv5DebugResources
warning: string 'advanced_debugging' has no default translation.
warning: string 'beta_warning' has no default translation.
warning: string 'enable_iomx' has no default translation.
warning: string 'enable_wheel_bar' has no default translation.
warning: string 'filebrowser_title' has no default translation.
warning: string 'main_prefs_category' has no default translation.
warning: string 'new_app' has no default translation.
warning: string 'new_app_go' has no default translation.
warning: string 'new_app_msg' has no default translation.
:vlc-android:generateChromeARMv5DebugSources
:vlc-android:preChromeARMv5DebugAndroidTestBuild UP-TO-DATE
:vlc-android:prepareChromeARMv5DebugAndroidTestDependencies
:vlc-android:compileChromeARMv5DebugAndroidTestAidl
:vlc-android:processChromeARMv5DebugAndroidTestManifest
:vlc-android:compileChromeARMv5DebugAndroidTestRenderscript
:vlc-android:generateChromeARMv5DebugAndroidTestBuildConfig
:vlc-android:generateChromeARMv5DebugAndroidTestAssets UP-TO-DATE
:vlc-android:mergeChromeARMv5DebugAndroidTestAssets
:vlc-android:generateChromeARMv5DebugAndroidTestResValues
:vlc-android:generateChromeARMv5DebugAndroidTestResources
:vlc-android:mergeChromeARMv5DebugAndroidTestResources
:vlc-android:processChromeARMv5DebugAndroidTestResources
:vlc-android:generateChromeARMv5DebugAndroidTestSources
Information:BUILD SUCCESSFUL
Information:Total time: 22.922 secs
Information:0 errors
Information:0 warnings
Information:See complete output in console

按下 Shift+F10 并:

Uploading file
local path: /<...>/vlc/android/vlc-android/build/outputs/apk/VLC-Android-CHROME-1.4.0-ARMv5.apk
remote path: /data/local/tmp/org.videolan.vlc.debug
Installing org.videolan.vlc.debug
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/org.videolan.vlc.debug"
pkg: /data/local/tmp/org.videolan.vlc.debug
Success

Launching application: org.videolan.vlc.debug/org.videolan.vlc.gui.MainActivity.
DEVICE SHELL COMMAND: am start -n "org.videolan.vlc.debug/org.videolan.vlc.gui.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=org.videolan.vlc.debug/org.videolan.vlc.gui.MainActivity }

我在这里放了很多资料和日志,希望对大家有帮助。

关于android - 为 Android 项目构建 VLC 在 Ubuntu 12.04 上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30259182/

有关android - 为 Android 项目构建 VLC 在 Ubuntu 12.04 上失败的更多相关文章

  1. ruby - 如何在 buildr 项目中使用 Ruby 代码? - 2

    如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby​​

  2. ruby-on-rails - 项目升级后 Pow 不会更改 ruby​​ 版本 - 2

    我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby​​版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby​​版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘

  3. ruby-on-rails - 新 Rails 项目 : 'bundle install' can't install rails in gemfile - 2

    我已经像这样安装了一个新的Rails项目:$railsnewsite它执行并到达:bundleinstall但是当它似乎尝试安装依赖项时我得到了这个错误Gem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcheckingforlibkern/OSAtomic.h...yescreatingMakefilemake"DESTDIR="cleanmake"DESTDIR="

  4. ruby - 如何在 Ubuntu 中清除 Ruby Phusion Passenger 的缓存? - 2

    我试过重新启动apache,缓存的页面仍然出现,所以一定有一个文件夹在某个地方。我没有“公共(public)/缓存”,那么我还应该查看哪些其他地方?是否有一个URL标志也可以触发此效果? 最佳答案 您需要触摸一个文件才能清除phusion,例如:touch/webapps/mycook/tmp/restart.txt参见docs 关于ruby-如何在Ubuntu中清除RubyPhusionPassenger的缓存?,我们在StackOverflow上找到一个类似的问题:

  5. Ruby 从大范围中获取第 n 个项目 - 2

    假设我有这个范围:("aaaaa".."zzzzz")如何在不事先/每次生成整个项目的情况下从范围中获取第N个项目? 最佳答案 一种快速简便的方法:("aaaaa".."zzzzz").first(42).last#==>"aaabp"如果出于某种原因你不得不一遍又一遍地这样做,或者如果你需要避免为前N个元素构建中间数组,你可以这样写:moduleEnumerabledefskip(n)returnto_enum:skip,nunlessblock_given?each_with_indexdo|item,index|yieldit

  6. ruby - 在 Ruby 中构建长字符串的简洁方法 - 2

    在编写Ruby(客户端脚本)时,我看到了三种构建更长字符串的方法,包括行尾,所有这些对我来说“闻起来”有点难看。有没有更干净、更好的方法?变量递增。ifrender_quote?quote="NowthatthereistheTec-9,acrappyspraygunfromSouthMiami."quote+="ThisgunisadvertisedasthemostpopularguninAmericancrime.Doyoubelievethatshit?"quote+="Itactuallysaysthatinthelittlebookthatcomeswithit:themo

  7. Vscode+Cmake配置并运行opencv环境(Windows和Ubuntu大同小异) - 2

    之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m

  8. 在VMware16虚拟机安装Ubuntu详细教程 - 2

    在VMware16.2.4安装Ubuntu一、安装VMware1.打开VMwareWorkstationPro官网,点击即可进入。2.进入后向下滑动找到Workstation16ProforWindows,点击立即下载。3.下载完成,文件大小615MB,如下图:4.鼠标右击,以管理员身份运行。5.点击下一步6.勾选条款,点击下一步7.先勾选,再点击下一步8.去掉勾选,点击下一步9.点击下一步10.点击安装11.点击许可证12.在百度上搜索VM16许可证,复制填入,然后点击输入即可,亲测有效。13.点击完成14.重启系统,点击是15.双击VMwareWorkstationPro图标,进入虚拟机主

  9. kvm虚拟机安装centos7基于ubuntu20.04系统 - 2

    需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc

  10. 安卓apk修改(Android反编译apk) - 2

    最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路

随机推荐