NFD for Android环境配置

来源:互联网 发布:开淘宝用什么电脑配置 编辑:程序博客网 时间:2024/05/23 22:52

github上的install.md真心讲的只是顺利安装过程,只能说是install MD了  T……T有没有~ 

肘子可是折腾了好久好久啊~


github项目:https://github.com/named-data-mobile/NFD-android


基于NFD的Android应用:https://github.com/YuanKQ/NFD_for_android

1. Build

Error 1:
Downloading https://services.gradle.org/distributions/gradle-2.10-bin.zip
..............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Unzipping /root/.gradle/wrapper/dists/gradle-2.10-bin/baigpnfu14tdk6ztbfwcl8275/gradle-2.10-bin.zip to /root/.gradle/wrapper/dists/gradle-2.10-bin/baigpnfu14tdk6ztbfwcl8275
Set executable permissions for: /root/.gradle/wrapper/dists/gradle-2.10-bin/baigpnfu14tdk6ztbfwcl8275/gradle-2.10/bin/gradle
......
load https://jcenter.bintray.com/org/ow2/asm/asm-analysis/5.0.3/asm-analysis-5.0.3.jar
Download https://jcenter.bintray.com/com/tunnelvisionlabs/antlr4-runtime/4.5/antlr4-runtime-4.5.jar
Download https://jcenter.bintray.com/com/tunnelvisionlabs/antlr4-annotations/4.5/antlr4-annotations-4.5.jar
Download https://jcenter.bintray.com/com/intellij/annotations/12.0/annotations-12.0.jar
Download https://jcenter.bintray.com/com/android/tools/external/lombok/lombok-ast/0.2.3/lombok-ast-0.2.3.jar
Download https://jcenter.bintray.com/org/abego/treelayout/org.abego.treelayout.core/1.0.1/org.abego.treelayout.core-1.0.1.jar
Download https://jcenter.bintray.com/org/apache/httpcomponents/httpclient/4.1.1/httpclient-4.1.1.jar
Download https://jcenter.bintray.com/org/apache/httpcomponents/httpcore/4.1/httpcore-4.1.jar
Download https://jcenter.bintray.com/commons-codec/commons-codec/1.4/commons-codec-1.4.jar
Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVERRIDE environment variable to "de2a192a9fcfa1463f5bdb8724e91a7812de2d84"

FAILURE: Build failed with an exception.

* Where:
Build file '/home/yuan/app/ndn-android/NFD-android/app/build.gradle' line: 3

* What went wrong:
A problem occurred evaluating project ':app'.
> Failed to apply plugin [id 'com.android.application']
   > Could not create plugin of type 'AppPlugin'.

Solution:
gradle的版本过低,需要更新gradle版本。处理步骤如下:
1. 下载最新版的gradle: 
1.1 假如可以访问gradle的官网的话,那就直接修改下载gradle的版本号
      NFD-android/gradle/gradle-wrapper.properties file:
distributionBase=GRADLE_USER_HOMEdistributionPath=wrapper/distszipStoreBase=GRADLE_USER_HOMEzipStorePath=wrapper/distsdistributionUrl=https\://services.gradle.org/distributions/gradle-2.12-bin.zip  //修改所需要的版本号
1.2 假如被墙了的话,就自己找网址下载安装
2.修改NFD-android/build.gradle
buildscript {
    repositories {
        jcenter()
        maven {
            url "https://oss.sonatype.org/content/repositories/snapshots/"
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.0.0-rc3//原来是2.0.0-beta5
        classpath 'net.named-data.playground:play-publisher:1.2.0-2-SNAPSHOT'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}
至于如何查找com.android.tools.build:gradle:的版本号,见网址:
https://bintray.com/android/android-tools/com.android.tools.build.gradle/view
由于肘子下载的是最新的gradle,所以就选了最新的版本号了,也就是说
gradle-2.12-bin.zip --> com.android.tools.build:gradle:2.0.0-rc3


Error 2:
* Where:
Build file '/home/yuan/app/ndn-android/NFD-android/app/build.gradle' line: 23

* What went wrong:
A problem occurred evaluating project ':app'.
> SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.

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

BUILD FAILED
Solution:缺少变量名sdk.dir, ndk.dir
sdk.dir=/home/yuan/app/android-sdk-linux
ndk.dir=/home/yuan/app/ndn-android/crystax-ndk-10.3.1


Error 3:
* What went wrong:
A problem occurred configuring project ':app'.
> Could not resolve all dependencies for configuration ':app:_debugCompile'.
> Could not find com.android.support:appcompat-v7:23.1.1.
Searched in the following locations:
https://jcenter.bintray.com/com/android/support/appcompat-v7/23.1.1/appcompat-v7-23.1.1.pom
https://jcenter.bintray.com/com/android/support/appcompat-v7/23.1.1/appcompat-v7-23.1.1.jar
file:/root/.m2/repository/com/android/support/appcompat-v7/23.1.1/appcompat-v7-23.1.1.pom
file:/root/.m2/repository/com/android/support/appcompat-v7/23.1.1/appcompat-v7-23.1.1.jar
https://repo1.maven.org/maven2/com/android/support/appcompat-v7/23.1.1/appcompat-v7-23.1.1.pom
https://repo1.maven.org/maven2/com/android/support/appcompat-v7/23.1.1/appcompat-v7-23.1.1.jar
https://oss.sonatype.org/content/repositories/snapshots/com/android/support/appcompat-v7/23.1.1/appcompat-v7-23.1.1.pom
https://oss.sonatype.org/content/repositories/snapshots/com/android/support/appcompat-v7/23.1.1/appcompat-v7-23.1.1.jar
Required by:
NFD-android:app:unspecified
> Could not find com.android.support:support-v4:23.1.1.
Searched in the following locations:
https://jcenter.bintray.com/com/android/support/support-v4/23.1.1/support-v4-23.1.1.pom
https://jcenter.bintray.com/com/android/support/support-v4/23.1.1/support-v4-23.1.1.jar
file:/root/.m2/repository/com/android/support/support-v4/23.1.1/support-v4-23.1.1.pom
file:/root/.m2/repository/com/android/support/support-v4/23.1.1/support-v4-23.1.1.jar
https://repo1.maven.org/maven2/com/android/support/support-v4/23.1.1/support-v4-23.1.1.pom
https://repo1.maven.org/maven2/com/android/support/support-v4/23.1.1/support-v4-23.1.1.jar
https://oss.sonatype.org/content/repositories/snapshots/com/android/support/support-v4/23.1.1/support-v4-23.1.1.pom
https://oss.sonatype.org/content/repositories/snapshots/com/android/support/support-v4/23.1.1/support-v4-23.1.1.jar
Required by:
NFD-android:app:unspecified

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

BUILD FAILED

Total time: 36.138 secs

Solution:support包的版本不对

Error2, Error3的错误都是SDK包没有安装正确,因为之前肘子已经下了android-sdk-linux了,但是发现自己配置实在是太难了(理论上只要下载对应的support和m2repository基本上问题就可以解决了,但是肘子是将在线下载的SDK和之前的SDK取并集得了最新版),所以还是乖乖按照教程的来安装了。在这个过程中遇到的最大的问题是:dl.google.com被墙了,哎,只能去找有效的hosts, 修改LInux中/etc/hosts的值,然后世界瞬间就友好起来了~


Error4
can not find .../NFD-android/app/src/main/jni/cryptopp/....   no such file or diectory....
Solution:
具体错误肘子忘记截图了,认真分析其中的原因,can not find~balabala~no such file or diectory,果然 .../NFD-android/app/src/main/jni/cryptopp, ndn-cxx, NFD是个空文件夹,然后看看
https://github.com/named-data-mobile/NFD-android/tree/master/app/src/main/jni
cryptopp, ndn-cxx, NFD这几文件夹是灰色的,

然后点进去看的时候,就会进入到另外一个github项目了,所以,只需要把相应的girhub项目下载解压到对应的文件夹里面就可以了。比如,到
https://github.com/named-data/NFD/tree/410064619292ca9551c9fdbf0aaca02061df3b54
下载解压替换掉.../NFD-android/app/src/main/jni/NFD文件夹即可
(这里还有一个小小的提醒,NFD项目下也有一个websocketpp的文件夹也是灰色的,所以还需要去到websocketpp的项目路径下下载解压替换掉/NFD/websocketpp文件夹)


2. Install

Build接近三个小时之后,就可以看到可爱的“Build Successfully”,然后你会在.../NFD-android/app/build/outputs/apk文件夹里看到若干releasse的apk,但是这并不能安装到手机里面,依然是在.../NFD-android目录下,输入./gradlew installDebug,然后在刚才那个文件夹里就会出现与release相对应的debug版的apk。但是,请务必把手机连上电脑,否则就会出现如下错误:

:app:installDebug FAILEDFAILURE: Build failed with an exception.* What went wrong:Execution failed for task ':app:installDebug'.> com.android.builder.testing.api.DeviceException: No connected devices!
然后,NFD就终于“愉快地”移植到Android手机上了。


最后,不得不说,一个好的网络环境很重要~  Bless me~


1 0