Pages

Thursday, 21 April 2016

在linux桌面系统,编译lantern的apk文件(把lantern的apk文件复制到你的安卓手机上安装,这样你就可在安卓手机上,用lantern翻墙了)

1. 安装proxychains

apt-get install proxychains
gedit /etc/proxychains.conf

做如下修改:

dynamic_chain
http     127.0.0.1 8787
#socks5     127.0.0.1 1080

存盘。

2. 安装go1.6:

rm -rf /usr/local/go
proxychains curl -sSL https://storage.googleapis.com/golang/go1.6.linux-amd64.tar.gz | tar -xvzf - -C /usr/local/  
mkdir /usr/local/mygo/ 
gedit /etc/profile

在文件末尾添加环境变量
 
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=/usr/local/mygo/

 存盘。
 
source /etc/profile


3.安装
Android-NDK:

http://dl.google.com/android/repository/android-ndk-r11b-linux-x86_64.zip

下载以后解压到/home/用户名/目录下


4. 安装
Android SDK:

http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz

下载以后解压到/home/用户名/目录下:
打开终端,用su登陆:

cd android-sdk-linux/tools
./android
弹出一个Android SDK Manager的图形界面:

选择以下安装:
Android SDK Build-toolsAndroid SDK Platform-toolsAndroid 6.0下的SDK Platform子项Extras

安装完成以后,运行以下命令:

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libncurses5:i386 libstdc++6:i386 zlib1g:i386


5. 安装Oracle Java8

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

弹出对话框,选择同意


6. 安装gradle

apt-get install bsdtar
wget --no-check-certificate  -qO-  https://services.gradle.org/distributions/gradle-2.12-bin.zip | bsdtar -xvf-

7. 设置环境变量:

gedit /etc/profile

参照下面的样式:

export GOROOT=/usr/local/go
export ANDROID_HOME=/home/用户名/android-sdk-linux/
export JAVA_HOME=/usr/lib/jvm/java-8-oracle/
export PATH=$PATH:$GOROOT/bin:/home/用户名/android-ndk-r11b:$ANDROID_HOME/tools:$ANDROID_HOME/build-tools:$ANDROID_HOME/platform-tools:$JAVA_HOME/bin:/home/用户名/gradle-2.12/bin/
export GOPATH=/usr/local/mygo/

修改以后,存盘退出


8. 开始编译Lantern App:

git clone -b devel --depth 1 --single-branch git://github.com/getlantern/lantern.git
cd lantern
source /etc/profile

修改以下文件(以下修改是本编译过程中至关重要的一步,直接决定了编译能否成功!):

gedit LanternMobileTestbed/app/build.gradle
第29行:把 android-sdk-debug.aar 改成 sdk-debug.aar
gedit Makefile
第83,93行 把android-sdk-debug.aar 改成 sdk-debug.aar

接着修改:

gedit MobileSDK/sdk/build.gradle 
gedit src/github.com/getlantern/lantern-mobile/build.gradle 


把里面的compileSdkVersionbuildToolsVersion改成以下内容:

compileSdkVersion 23
buildToolsVersion "23.0.3"

然后继续运行:

proxychains make android-lib

这里要等待大概15-20分钟,出现下面的字样表示成功!

** VERSION was not set, using default version. This is OK while in development.
Build tags:
Extra ldflags:


接着运行:

make android-sdk

很快,大概1分钟可以完成

然后运行:


make android-
debug

等待3分钟左右,出现下面的字样,完成!

:app:compileDebugNdk UP-TO-DATE
:app:compileDebugSources
:app:transformClassesWithDexForDebug
:app:mergeDebugJniLibFolders
:app:transformNative_libsWithMergeJniLibsForDebug
:app:processDebugJavaRes UP-TO-DATE
:app:transformResourcesWithMergeJavaResForDebug
:app:validateDebugSigning
:app:packageDebug
:app:zipalignDebug
:app:assembleDebug

BUILD SUCCESSFUL

Total time: 51.59 secs

This build could be faster, please consider using the Gradle Daemon: https://docs.gradle.org/2.12/userguide/gradle_daemon.html


生成的apk文件在以下路径:
lantern/src/github.com/getlantern/lantern-mobile/app/build/outputs/apk