-
-
-
- Catch them all until bored Preface I never imagined that I will truly write something for hacking a game. Though I have to admit that Pokemon Go is a huge heat and different from other games, it still hard to believe that I took movement to make it better(or worse?). I was a big fun of ingress, and thanks to one of my best friends, Kevin, who was also a huge fan to ingress, recommended me this game.
-
-
I never imagined that I will truly write something for hacking a game. Though I have to admit that Pokemon Go is a huge heat and different from other games, it still hard to believe that I took movement to make it better(or worse?). I was a big fun of ingress, and thanks to one of my best friends, Kevin, who was also a huge fan to ingress, recommended me this game. Due to some well known reasons, Ingress didn’t become popular at my country. But time flies, I break through the wall, and come to a free land which can play Niantic’s game. Unfortunately, this time, the only thing restrict me from playing LBS game is limitation of my spare time. Working in the Lab makes me exhausted EVERYDAY and the place where I am now is so barren which even doesn’t have much insects and birds(I mean Weedle and Pidgey).
+afk I have to battle a nearby gym now
+Anyway, after coming back, I think I write too much on useless words, so let me keep it straight forward. My imagination of this hacking project is very simple, which is making an auto bot helping me go through all experiences a Pokemon trainer will face. In first stage, my goal is making the bot smartly picking up a route to walk, catch all Pokemons and supply from PokeStops.
+
+
TODO List
+
+
-[X] Test API
+-[ ] Finish Walk Algorithm
+-[ ] Finish other movement, etc. catch, hatch
+-[ ] Smart Walking route
+-[ ] Pokemon Predict (Thanks to Pokevision’s idea)
+-[ ] Become a Pokemon Master
This project is working for delta sync from mobile to server. Currently, there’s no mobile program/solution has supporting to delta sync(Include Dropbox/ Goggle Drive). But the truth is that almost every pc version sync program can work as delta sync properly or not. So in this article, I’ll provide a workbench for cross compilation and evaluation. And finally come up with a reason of how to port better incremental synchronize solution on mobile platform.
+
+
Pre-work
+
+
Basically, I used the native android compilation tool-chains, Android NDK, as working tools. Due to my working situation, I use a Nvidia Shield Tablet as target device. As Zengwen said in his blog, newest updated NDK might has some issue which can influence compilation progress. So you can find other version of NDK once you have some problems. Based on what Zengwen’s blog mentioned, we can write following useful system environment and export in terminal.
In order to build standalone tool-chains, we need first to export following system environment. After doing that, we can use following command to build a standalone tool-chains from downloaded NDK.
# Android NDK sources and standalone toolchain is put here
+export DEV=~/Android/
+
+# All the built binaries, libs and their header will be installed here
+export PREFIX=/opt/android
+
+# Don't mix up .pc files from your host and build target
+export PKG_CONFIG_PATH=${PREFIX}/lib/pkgconfig
+
+# GCC for Android version to use
+# 4.9 is the only available version since NDK r11!
+export GCC_VER=4.9
+
+# The building system we are using (Linux x86_64)
+export BUILD_SYS=x86_64-linux-gnu
+
+# Set Android target API level
+export ANDROID_API=22
+
+# Set Android target arch
+export ANDROID_ARCH=arm
+
+# Set Android target name, according to Table 2 in
+# https://developer.android.com/ndk/guides/standalone_toolchain.html
+export ANDROID_TARGET=armv7-none-linux-androideabi
+
+# The cross-compile toolchain we use
+export TOOLCHAIN=arm-linux-androideabi
+
+# This is a symlink pointing to the real Android NDK r12b
+export NDK=${DEV}/android-ndk
+
+# The path of standalone NDK toolchain
+# Refer to https://developer.android.com/ndk/guides/standalone_toolchain.html
+export NDK_TOOLCHAIN=${DEV}/android-ndk-toolchain
+
+# this one is the absolute, prebuilt path
+export SYSROOT=${NDK}/platforms/android-${ANDROID_API}/arch-${ANDROID_ARCH}
+
+# this one is the absolute, prebuilt path
+export CROSS_PREFIX=${NDK}/toolchains/${TOOLCHAIN}-${GCC_VER}/prebuilt/linux-x86_64/bin/${TOOLCHAIN}
+
+# Non-exhaustive lists of compiler + binutils
+export AR=${CROSS_PREFIX}-ar
+export AS=${CROSS_PREFIX}-as
+export LD=${CROSS_PREFIX}-ld
+export NM=${CROSS_PREFIX}-nm
+export CC=${CROSS_PREFIX}-gcc
+export CXX=${CROSS_PREFIX}-g++
+export CPP=${CROSS_PREFIX}-cpp
+export CXXCPP=${CROSS_PREFIX}-cpp
+export STRIP=${CROSS_PREFIX}-strip
+export RANLIB=${CROSS_PREFIX}-ranlib
+export STRINGS=${CROSS_PREFIX}-strings
+
+# Set build flags
+# Refer to https://developer.android.com/ndk/guides/standalone_toolchain.html
+export PATH=$PATH:${PREFIX}/bin:${PREFIX}/lib
+export CFLAGS="--sysroot=${SYSROOT} -I${SYSROOT}/usr/include -I${PREFIX}/include -fPIE -DANDROID -Wno-multichar"
+export CXXFLAGS=${CFLAGS}
+export CPPFLAGS="--sysroot=${SYSROOT} -I${SYSROOT}/usr/include -I${NDK_TOOLCHAIN}/include/c++/ -DANDROID -DNO_XMALLOC -mandroid"
+export LIBS="-lc -lstdc++ -ld"
+export LDFLAGS="-Wl,-rpath-link=-I${SYSROOT}/usr/lib -L${SYSROOT}/usr/lib -L${PREFIX}/lib -L${NDK_TOOLCHAIN}/lib"
+
+
+
Compile Process
+
+
To compile seafile, we should compile ccnet and libsearpc first. As for these two projects, they all have their own dependencies, so we must follow some order to run the compilation.
-
-
-
- Cross Compile Seafile to ARM platform Motivation This project is working for delta sync from mobile to server. Currently, there’s no mobile program/solution has supporting to delta sync(Include Dropbox/ Goggle Drive). But the truth is that almost every pc version sync program can work as delta sync properly or not. So in this article, I’ll provide a workbench for cross compilation and evaluation. And finally come up with a reason of how to port better incremental synchronize solution on mobile platform.
-
-
-
-
-
- Cross Compile Rsync to ARM platform As always, feel free to ask. // Sherlock Motivation I got some issues about compile seafile to android, so instead of doing so, I start to figure out some other synchronize workflow. Rsync is one of the most mature synchronization solution. So I made the decision on planting rsync to android. Pre-work Rsync is a sync program with delta sync feature and based on SSH connection.
-
-
I got some issues about compile seafile to android, so instead of doing so, I start to figure out some other synchronize workflow. Rsync is one of the most mature synchronization solution. So I made the decision on planting rsync to android.
+
+
Pre-work
+
+
Rsync is a sync program with delta sync feature and based on SSH connection. So all we need to do is SSH support and cross compile tool-chain. Similar to what I mentioned in previews blog, Android NDK and environment export need to be done before compilation.
+To enable normally use of compiled program, we need to make android support SSH. My solution is just install SSHDroid from Google Play Store.
+
+
Cross-Compile Rsync
+
+
Running following script to build rsync. It will generate a executable file named rsync in the root directory.
+
+
$ ./configure --build=${BUILD_SYS} --host=${TOOLCHAIN}
+$ make
+
+
+
Push RSync to Android.
+
+
After installing SSHDroid, we can now push our arm-version-rsync to target machine.
Catch them all until bored Preface I never imagined that I will truly write something for hacking a game. Though I have to admit that Pokemon Go is a huge heat and different from other games, it still hard to believe that I took movement to make it better(or worse?). I was a big fun of ingress, and thanks to one of my best friends, Kevin, who was also a huge fan to ingress, recommended me this game.
Cross Compile Seafile to ARM platform Motivation This project is working for delta sync from mobile to server. Currently, there’s no mobile program/solution has supporting to delta sync(Include Dropbox/ Goggle Drive). But the truth is that almost every pc version sync program can work as delta sync properly or not. So in this article, I’ll provide a workbench for cross compilation and evaluation. And finally come up with a reason of how to port better incremental synchronize solution on mobile platform.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/categories/2016_07/index.xml b/categories/2016_07/index.xml
deleted file mode 100644
index 4cc919b..0000000
--- a/categories/2016_07/index.xml
+++ /dev/null
@@ -1,177 +0,0 @@
-
-
-
- 2016_07 on Mil años de solitario
- https://CoderSherlock.github.io/categories/2016_07/
- Recent content in 2016_07 on Mil años de solitario
- Hugo -- gohugo.io
- en-us
- Sat, 30 Jul 2016 18:10:20 -0400
-
-
-
- Pokemon Go Hack
- https://codersherlock.github.io/post/Pokemon-Go-Hack/
- Sat, 30 Jul 2016 18:10:20 -0400
-
- https://codersherlock.github.io/post/Pokemon-Go-Hack/
-
-
-<h1 id="catch-them-all-until-bored">Catch them all until bored</h1>
-
-<h2 id="preface">Preface</h2>
-
-<p>I never imagined that I will truly write something for hacking a game. Though I have to admit that Pokemon Go is a huge heat and different from other games, it still hard to believe that I took movement to make it better(or worse?). I was a big fun of ingress, and thanks to one of my best friends, Kevin, who was also a huge fan to ingress, recommended me this game. Due to some well known reasons, Ingress didn’t become popular at my country. But time flies, I break through the wall, and come to a free land which can play Niantic’s game. Unfortunately, this time, the only thing restrict me from playing LBS game is limitation of my spare time. Working in the Lab makes me exhausted <strong>EVERYDAY</strong> and the place where I am now is so barren which even doesn’t have much insects and birds(I mean Weedle and Pidgey).
-<em>afk I have to battle a nearby gym now</em>
-Anyway, after coming back, I think I write too much on useless words, so let me keep it straight forward. My imagination of this hacking project is very simple, which is making an auto bot helping me go through all experiences a Pokemon trainer will face. In first stage, my goal is making the bot smartly picking up a route to walk, catch all Pokemons and supply from PokeStops.</p>
-
-<h2 id="todo-list">TODO List</h2>
-
-<p>-[X] Test API
--[ ] Finish Walk Algorithm
--[ ] Finish other movement, etc. catch, hatch
--[ ] Smart Walking route
--[ ] Pokemon Predict (Thanks to Pokevision’s idea)
--[ ] Become a Pokemon Master</p>
-
-
-
-
- Cross Compile Seafile 2 ARM
- https://codersherlock.github.io/post/Cross-Compile-Seafile-2-ARM/
- Sat, 30 Jul 2016 14:02:34 -0400
-
- https://codersherlock.github.io/post/Cross-Compile-Seafile-2-ARM/
-
-
-<h1 id="cross-compile-seafile-to-arm-platform">Cross Compile Seafile to ARM platform</h1>
-
-<h2 id="motivation">Motivation</h2>
-
-<p>This project is working for delta sync from mobile to server. Currently, there’s no mobile program/solution has supporting to delta sync(Include Dropbox/ Goggle Drive). But the truth is that almost every pc version sync program can work as delta sync properly or not. So in this article, I’ll provide a workbench for cross compilation and evaluation. And finally come up with a reason of how to port better incremental synchronize solution on mobile platform.</p>
-
-<h2 id="pre-work">Pre-work</h2>
-
-<p>Basically, I used the native android compilation tool-chains, <a href="https://developer.android.com/ndk/downloads/index.html">Android NDK</a>, as working tools. Due to my working situation, I use a <a href="https://shield.nvidia.com/tablet/k1">Nvidia Shield Tablet</a> as target device. As <em>Zengwen</em> said in his <a href="http://zwyuan.github.io/2016/07/17/cross-compile-glib-for-android/">blog</a>, newest updated NDK might has some issue which can influence compilation progress. So you can find <a href="http://stackoverflow.com/questions/6849981/where-do-i-find-old-versions-of-android-ndk">other version</a> of NDK once you have some problems. Based on what <em>Zengwen’s</em> blog mentioned, we can write following useful system environment and export in terminal.</p>
-
-<h3 id="prerequisites">Prerequisites</h3>
-
-<pre><code>$ sudo apt-get install build-essential
-$ sudo apt-get install pkg-config automake autoconf libtool
-</code></pre>
-
-<h3 id="link-with-standalone-tool-chains">Link with standalone tool-chains</h3>
-
-<p>In order to build standalone tool-chains, we need first to export following system environment. After doing that, we can use following command to build a standalone tool-chains from downloaded NDK.</p>
-
-<pre><code>$ ${NDK}/build/tools/make-standalone-toolchain.sh \
- --toolchain=arm-linux-androideabi-4.9 \
- --stl=gnustl \
- --arch=arm \
- --ndk-dir=/home/moslab/Android/android-ndk-r12b \
- --package-dir=/home/moslab/Android \
- --install-dir=/home/moslab/Android/android-ndk-toolchain \
- --platform=android-22
-</code></pre>
-
-<h3 id="original-system-environment-configuration">Original System Environment Configuration</h3>
-
-<p>[TODO]-> I will fix this part later.</p>
-
-<pre><code># Android NDK sources and standalone toolchain is put here
-export DEV=~/Android/
-
-# All the built binaries, libs and their header will be installed here
-export PREFIX=/opt/android
-
-# Don't mix up .pc files from your host and build target
-export PKG_CONFIG_PATH=${PREFIX}/lib/pkgconfig
-
-# GCC for Android version to use
-# 4.9 is the only available version since NDK r11!
-export GCC_VER=4.9
-
-# The building system we are using (Linux x86_64)
-export BUILD_SYS=x86_64-linux-gnu
-
-# Set Android target API level
-export ANDROID_API=22
-
-# Set Android target arch
-export ANDROID_ARCH=arm
-
-# Set Android target name, according to Table 2 in
-# https://developer.android.com/ndk/guides/standalone_toolchain.html
-export ANDROID_TARGET=armv7-none-linux-androideabi
-
-# The cross-compile toolchain we use
-export TOOLCHAIN=arm-linux-androideabi
-
-# This is a symlink pointing to the real Android NDK r12b
-export NDK=${DEV}/android-ndk
-
-# The path of standalone NDK toolchain
-# Refer to https://developer.android.com/ndk/guides/standalone_toolchain.html
-export NDK_TOOLCHAIN=${DEV}/android-ndk-toolchain
-
-# this one is the absolute, prebuilt path
-export SYSROOT=${NDK}/platforms/android-${ANDROID_API}/arch-${ANDROID_ARCH}
-
-# this one is the absolute, prebuilt path
-export CROSS_PREFIX=${NDK}/toolchains/${TOOLCHAIN}-${GCC_VER}/prebuilt/linux-x86_64/bin/${TOOLCHAIN}
-
-# Non-exhaustive lists of compiler + binutils
-export AR=${CROSS_PREFIX}-ar
-export AS=${CROSS_PREFIX}-as
-export LD=${CROSS_PREFIX}-ld
-export NM=${CROSS_PREFIX}-nm
-export CC=${CROSS_PREFIX}-gcc
-export CXX=${CROSS_PREFIX}-g++
-export CPP=${CROSS_PREFIX}-cpp
-export CXXCPP=${CROSS_PREFIX}-cpp
-export STRIP=${CROSS_PREFIX}-strip
-export RANLIB=${CROSS_PREFIX}-ranlib
-export STRINGS=${CROSS_PREFIX}-strings
-
-# Set build flags
-# Refer to https://developer.android.com/ndk/guides/standalone_toolchain.html
-export PATH=$PATH:${PREFIX}/bin:${PREFIX}/lib
-export CFLAGS="--sysroot=${SYSROOT} -I${SYSROOT}/usr/include -I${PREFIX}/include -fPIE -DANDROID -Wno-multichar"
-export CXXFLAGS=${CFLAGS}
-export CPPFLAGS="--sysroot=${SYSROOT} -I${SYSROOT}/usr/include -I${NDK_TOOLCHAIN}/include/c++/ -DANDROID -DNO_XMALLOC -mandroid"
-export LIBS="-lc -lstdc++ -ld"
-export LDFLAGS="-Wl,-rpath-link=-I${SYSROOT}/usr/lib -L${SYSROOT}/usr/lib -L${PREFIX}/lib -L${NDK_TOOLCHAIN}/lib"
-</code></pre>
-
-<h2 id="compile-process">Compile Process</h2>
-
-<p>To compile seafile, we should compile ccnet and libsearpc first. As for these two projects, they all have their own dependencies, so we must follow some order to run the compilation.</p>
-
-<h3 id="libsearpc">libsearpc</h3>
-
-<h4 id="glib">glib</h4>
-
-<h5 id="libiconv">libiconv</h5>
-
-<h5 id="libffi">libffi</h5>
-
-<h5 id="gettext">gettext</h5>
-
-<h4 id="libjasson">libjasson</h4>
-
-<h3 id="ccnet">ccnet</h3>
-
-<h4 id="libuuid">libuuid</h4>
-
-<h3 id="seafile">seafile</h3>
-
-<h2 id="preferences">Preferences</h2>
-
-<ul>
-<li><a href="http://zwyuan.github.io/2016/07/17/cross-compile-glib-for-android/">zwyuan</a></li>
-</ul>
-
-
-
-
-
diff --git a/categories/2016_07/page/1/index.html b/categories/2016_07/page/1/index.html
deleted file mode 100644
index c8020eb..0000000
--- a/categories/2016_07/page/1/index.html
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/categories/2016_08/index.html b/categories/2016_08/index.html
deleted file mode 100644
index aa57852..0000000
--- a/categories/2016_08/index.html
+++ /dev/null
@@ -1,159 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2016_08 - Mil años de solitario
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Cross Compile Rsync to ARM platform As always, feel free to ask. // Sherlock Motivation I got some issues about compile seafile to android, so instead of doing so, I start to figure out some other synchronize workflow. Rsync is one of the most mature synchronization solution. So I made the decision on planting rsync to android. Pre-work Rsync is a sync program with delta sync feature and based on SSH connection.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/categories/2016_08/index.xml b/categories/2016_08/index.xml
deleted file mode 100644
index a9cc288..0000000
--- a/categories/2016_08/index.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-
-
-
- 2016_08 on Mil años de solitario
- https://CoderSherlock.github.io/categories/2016_08/
- Recent content in 2016_08 on Mil años de solitario
- Hugo -- gohugo.io
- en-us
- Mon, 15 Aug 2016 15:44:05 -0400
-
-
-
- Cross Compile RSync ARM
- https://codersherlock.github.io/post/Cross-Compile-RSync-ARM/
- Mon, 15 Aug 2016 15:44:05 -0400
-
- https://codersherlock.github.io/post/Cross-Compile-RSync-ARM/
-
-
-<h1 id="cross-compile-rsync-to-arm-platform">Cross Compile Rsync to ARM platform</h1>
-
-<p>As always, feel free to ask. // Sherlock</p>
-
-<h2 id="motivation">Motivation</h2>
-
-<p>I got some issues about compile seafile to android, so instead of doing so, I start to figure out some other synchronize workflow. <a href="https://rsync.samba.org/">Rsync</a> is one of the most mature synchronization solution. So I made the decision on planting rsync to android.</p>
-
-<h2 id="pre-work">Pre-work</h2>
-
-<p>Rsync is a sync program with delta sync feature and based on SSH connection. So all we need to do is SSH support and cross compile tool-chain. Similar to what I mentioned in <a href="https://codersherlock.github.io/post/Cross-Compile-Seafile-2-ARM/">previews blog</a>, Android NDK and environment export need to be done before compilation.
-To enable normally use of compiled program, we need to make android support SSH. My solution is just install <a href="https://play.google.com/store/apps/details?id=berserker.android.apps.sshdroid&hl=en">SSHDroid</a> from Google Play Store.</p>
-
-<h2 id="cross-compile-rsync">Cross-Compile Rsync</h2>
-
-<p>Running following script to build rsync. It will generate a executable file named rsync in the root directory.</p>
-
-<pre><code>$ ./configure --build=${BUILD_SYS} --host=${TOOLCHAIN}
-$ make
-</code></pre>
-
-<h2 id="push-rsync-to-android">Push RSync to Android.</h2>
-
-<p>After installing SSHDroid, we can now push our arm-version-rsync to target machine.</p>
-
-<pre><code>$ adb push rsync /data/local/tmp
-$ adb shell
-
-# cd /data/data/berserker.android.apps.sshdroid/dropbear
-# mv ../../../local/tmp/rsync .
-</code></pre>
-
-<h2 id="run-rsync-with-argument">Run Rsync with argument</h2>
-
-<p>Now we can easily use rsync in android shell. Similar to what we use on PC.</p>
-
-<pre><code># ./rsync -e "./ssh" {target-data} {target-location}:{target-directory}
-</code></pre>
-
-<h2 id="references">References</h2>
-
-<p><a href="http://stackoverflow.com/questions/8130889/build-rsync-for-android">Build Rsync for Android</a></p>
-
-
-
-
-
diff --git a/categories/2016_08/page/1/index.html b/categories/2016_08/page/1/index.html
deleted file mode 100644
index 109129b..0000000
--- a/categories/2016_08/page/1/index.html
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/categories/index.html b/categories/index.html
deleted file mode 100644
index cec99df..0000000
--- a/categories/index.html
+++ /dev/null
@@ -1,146 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Categories - Mil años de solitario
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
` that contains the `.pure-menu` that
-appears on the left side of the page.
-*/
-
-#menu {
- margin-left: -150px;
- /* "#menu" width */
- width: 150px;
- position: fixed;
- top: 0;
- left: 0;
- bottom: 0;
- z-index: 1000;
- /* so the menu or its navicon stays above all content */
- background: #191818;
- overflow-y: auto;
- -webkit-overflow-scrolling: touch;
-}
-
-/*
- All anchors inside the menu should be styled like this.
- */
-
-#menu a {
- color: #999;
- border: none;
- padding: 0.6em 0 0.6em 0.6em;
-}
-
-/*
- Remove all background/borders, since we are applying them to #menu.
- */
-
-#menu .pure-menu,
-#menu .pure-menu ul {
- border: none;
- background: transparent;
-}
-
-/*
- Add that light border to separate items into groups.
- */
-
-#menu .pure-menu ul,
-#menu .pure-menu .menu-item-divided {
- border-top: 1px solid #333;
-}
-
-/*
- Change color of the anchor links on hover/focus.
- */
-
-#menu .pure-menu li a:hover,
-#menu .pure-menu li a:focus {
- background: #333;
-}
-
-/*
- This styles the selected menu item `
`.
- */
-
-#menu .pure-menu-selected,
-#menu .pure-menu-heading {
- background: #1f8dd6;
-}
-
-/*
- This styles a link within a selected menu item `
`.
- */
-
-#menu .pure-menu-selected a {
- color: #fff;
-}
-
-/*
- This styles the menu heading.
- */
-
-#menu .pure-menu-heading {
- font-size: 110%;
- color: #fff;
- margin: 0;
-}
-
-/* -- Dynamic Button For Responsive Menu -------------------------------------*/
-
-/*
-The button to open/close the Menu is custom-made and not part of Pure. Here's
-how it works:
-*/
-
-/*
-`.menu-link` represents the responsive menu toggle that shows/hides on
-small screens.
-*/
-
-.menu-link {
- position: fixed;
- display: block;
- /* show this only on small screens */
- top: 0;
- left: 0;
- /* "#menu width" */
- background: #000;
- background: rgba(0,0,0,0.7);
- font-size: 10px;
- /* change this value to increase/decrease button size */
- z-index: 10;
- width: 2em;
- height: auto;
- padding: 2.1em 1.6em;
-}
-
-.menu-link:hover,
-.menu-link:focus {
- background: #000;
-}
-
-.menu-link span {
- position: relative;
- display: block;
-}
-
-.menu-link span,
-.menu-link span:before,
-.menu-link span:after {
- background-color: #fff;
- width: 100%;
- height: 0.2em;
-}
-
-.menu-link span:before,
-.menu-link span:after {
- position: absolute;
- margin-top: -0.6em;
- content: " ";
-}
-
-.menu-link span:after {
- margin-top: 0.6em;
-}
-
-/* -- Responsive Styles (Media Queries) ------------------------------------- */
-
-/*
-Hides the menu at `48em`, but modify this based on your app's needs.
-*/
-
-.header,
-.content {
- padding-left: 2em;
- padding-right: 2em;
-}
-
-#layout {
- padding-left: 150px;
- /* left col width "#menu" */
- left: 0;
-}
-
-#menu {
- left: 150px;
-}
-
-.menu-link {
- position: fixed;
- left: 150px;
- display: none;
-}
-
-#layout.active .menu-link {
- left: 150px;
-}
\ No newline at end of file
diff --git a/css/side-menu.css b/css/side-menu.css
deleted file mode 100644
index b5ce7ae..0000000
--- a/css/side-menu.css
+++ /dev/null
@@ -1,248 +0,0 @@
-body {
- color: #777;
-}
-
-.pure-img-responsive {
- max-width: 100%;
- height: auto;
-}
-
-/*
-Add transition to containers so they can push in and out.
-*/
-#layout,
-#menu,
-.menu-link {
- -webkit-transition: all 0.2s ease-out;
- -moz-transition: all 0.2s ease-out;
- -ms-transition: all 0.2s ease-out;
- -o-transition: all 0.2s ease-out;
- transition: all 0.2s ease-out;
-}
-
-/*
-This is the parent `
` that contains the menu and the content area.
-*/
-#layout {
- position: relative;
- padding-left: 0;
-}
- #layout.active #menu {
- left: 150px;
- width: 150px;
- }
-
- #layout.active .menu-link {
- left: 150px;
- }
-/*
-The content `
` that contains the `.pure-menu` that
-appears on the left side of the page.
-*/
-
-#menu {
- margin-left: -150px; /* "#menu" width */
- width: 150px;
- position: fixed;
- top: 0;
- left: 0;
- bottom: 0;
- z-index: 1000; /* so the menu or its navicon stays above all content */
- background: #191818;
- overflow-y: auto;
- -webkit-overflow-scrolling: touch;
-}
- /*
- All anchors inside the menu should be styled like this.
- */
- #menu a {
- color: #999;
- border: none;
- padding: 0.6em 0 0.6em 0.6em;
- }
-
- /*
- Remove all background/borders, since we are applying them to #menu.
- */
- #menu .pure-menu,
- #menu .pure-menu ul {
- border: none;
- background: transparent;
- }
-
- /*
- Add that light border to separate items into groups.
- */
- #menu .pure-menu ul,
- #menu .pure-menu .menu-item-divided {
- border-top: 1px solid #333;
- }
- /*
- Change color of the anchor links on hover/focus.
- */
- #menu .pure-menu li a:hover,
- #menu .pure-menu li a:focus {
- background: #333;
- }
-
- /*
- This styles the selected menu item `
`.
- */
- #menu .pure-menu-selected,
- #menu .pure-menu-heading {
- background: #1f8dd6;
- }
- /*
- This styles a link within a selected menu item `
I got some issues about compile seafile to android, so instead of doing so, I start to figure out some other synchronize workflow. Rsync is one of the most mature synchronization solution. So I made the decision on planting rsync to android.
+
+
Pre-work
+
+
Rsync is a sync program with delta sync feature and based on SSH connection. So all we need to do is SSH support and cross compile tool-chain. Similar to what I mentioned in previews blog, Android NDK and environment export need to be done before compilation.
+To enable normally use of compiled program, we need to make android support SSH. My solution is just install SSHDroid from Google Play Store.
+
+
Cross-Compile Rsync
+
+
Running following script to build rsync. It will generate a executable file named rsync in the root directory.
+
+
$ ./configure --build=${BUILD_SYS} --host=${TOOLCHAIN}
+$ make
+
+
+
Push RSync to Android.
+
+
After installing SSHDroid, we can now push our arm-version-rsync to target machine.
I never imagined that I will truly write something for hacking a game. Though I have to admit that Pokemon Go is a huge heat and different from other games, it still hard to believe that I took movement to make it better(or worse?). I was a big fun of ingress, and thanks to one of my best friends, Kevin, who was also a huge fan to ingress, recommended me this game. Due to some well known reasons, Ingress didn’t become popular at my country. But time flies, I break through the wall, and come to a free land which can play Niantic’s game. Unfortunately, this time, the only thing restrict me from playing LBS game is limitation of my spare time. Working in the Lab makes me exhausted EVERYDAY and the place where I am now is so barren which even doesn’t have much insects and birds(I mean Weedle and Pidgey).
+afk I have to battle a nearby gym now
+Anyway, after coming back, I think I write too much on useless words, so let me keep it straight forward. My imagination of this hacking project is very simple, which is making an auto bot helping me go through all experiences a Pokemon trainer will face. In first stage, my goal is making the bot smartly picking up a route to walk, catch all Pokemons and supply from PokeStops.
+
+
TODO List
+
+
-[X] Test API
+-[ ] Finish Walk Algorithm
+-[ ] Finish other movement, etc. catch, hatch
+-[ ] Smart Walking route
+-[ ] Pokemon Predict (Thanks to Pokevision’s idea)
+-[ ] Become a Pokemon Master
This project is working for delta sync from mobile to server. Currently, there’s no mobile program/solution has supporting to delta sync(Include Dropbox/ Goggle Drive). But the truth is that almost every pc version sync program can work as delta sync properly or not. So in this article, I’ll provide a workbench for cross compilation and evaluation. And finally come up with a reason of how to port better incremental synchronize solution on mobile platform.
+
+
Pre-work
+
+
Basically, I used the native android compilation tool-chains, Android NDK, as working tools. Due to my working situation, I use a Nvidia Shield Tablet as target device. As Zengwen said in his blog, newest updated NDK might has some issue which can influence compilation progress. So you can find other version of NDK once you have some problems. Based on what Zengwen’s blog mentioned, we can write following useful system environment and export in terminal.
In order to build standalone tool-chains, we need first to export following system environment. After doing that, we can use following command to build a standalone tool-chains from downloaded NDK.
# Android NDK sources and standalone toolchain is put here
+export DEV=~/Android/
+
+# All the built binaries, libs and their header will be installed here
+export PREFIX=/opt/android
+
+# Don't mix up .pc files from your host and build target
+export PKG_CONFIG_PATH=${PREFIX}/lib/pkgconfig
+
+# GCC for Android version to use
+# 4.9 is the only available version since NDK r11!
+export GCC_VER=4.9
+
+# The building system we are using (Linux x86_64)
+export BUILD_SYS=x86_64-linux-gnu
+
+# Set Android target API level
+export ANDROID_API=22
+
+# Set Android target arch
+export ANDROID_ARCH=arm
+
+# Set Android target name, according to Table 2 in
+# https://developer.android.com/ndk/guides/standalone_toolchain.html
+export ANDROID_TARGET=armv7-none-linux-androideabi
+
+# The cross-compile toolchain we use
+export TOOLCHAIN=arm-linux-androideabi
+
+# This is a symlink pointing to the real Android NDK r12b
+export NDK=${DEV}/android-ndk
+
+# The path of standalone NDK toolchain
+# Refer to https://developer.android.com/ndk/guides/standalone_toolchain.html
+export NDK_TOOLCHAIN=${DEV}/android-ndk-toolchain
+
+# this one is the absolute, prebuilt path
+export SYSROOT=${NDK}/platforms/android-${ANDROID_API}/arch-${ANDROID_ARCH}
+
+# this one is the absolute, prebuilt path
+export CROSS_PREFIX=${NDK}/toolchains/${TOOLCHAIN}-${GCC_VER}/prebuilt/linux-x86_64/bin/${TOOLCHAIN}
+
+# Non-exhaustive lists of compiler + binutils
+export AR=${CROSS_PREFIX}-ar
+export AS=${CROSS_PREFIX}-as
+export LD=${CROSS_PREFIX}-ld
+export NM=${CROSS_PREFIX}-nm
+export CC=${CROSS_PREFIX}-gcc
+export CXX=${CROSS_PREFIX}-g++
+export CPP=${CROSS_PREFIX}-cpp
+export CXXCPP=${CROSS_PREFIX}-cpp
+export STRIP=${CROSS_PREFIX}-strip
+export RANLIB=${CROSS_PREFIX}-ranlib
+export STRINGS=${CROSS_PREFIX}-strings
+
+# Set build flags
+# Refer to https://developer.android.com/ndk/guides/standalone_toolchain.html
+export PATH=$PATH:${PREFIX}/bin:${PREFIX}/lib
+export CFLAGS="--sysroot=${SYSROOT} -I${SYSROOT}/usr/include -I${PREFIX}/include -fPIE -DANDROID -Wno-multichar"
+export CXXFLAGS=${CFLAGS}
+export CPPFLAGS="--sysroot=${SYSROOT} -I${SYSROOT}/usr/include -I${NDK_TOOLCHAIN}/include/c++/ -DANDROID -DNO_XMALLOC -mandroid"
+export LIBS="-lc -lstdc++ -ld"
+export LDFLAGS="-Wl,-rpath-link=-I${SYSROOT}/usr/lib -L${SYSROOT}/usr/lib -L${PREFIX}/lib -L${NDK_TOOLCHAIN}/lib"
+
+
+
Compile Process
+
+
To compile seafile, we should compile ccnet and libsearpc first. As for these two projects, they all have their own dependencies, so we must follow some order to run the compilation.
-
-
-
- Cross Compile Rsync to ARM platform As always, feel free to ask. // Sherlock Motivation I got some issues about compile seafile to android, so instead of doing so, I start to figure out some other synchronize workflow. Rsync is one of the most mature synchronization solution. So I made the decision on planting rsync to android. Pre-work Rsync is a sync program with delta sync feature and based on SSH connection.
-
-
-
-
-
- Catch them all until bored Preface I never imagined that I will truly write something for hacking a game. Though I have to admit that Pokemon Go is a huge heat and different from other games, it still hard to believe that I took movement to make it better(or worse?). I was a big fun of ingress, and thanks to one of my best friends, Kevin, who was also a huge fan to ingress, recommended me this game.
-
-
-
-
-
- Cross Compile Seafile to ARM platform Motivation This project is working for delta sync from mobile to server. Currently, there’s no mobile program/solution has supporting to delta sync(Include Dropbox/ Goggle Drive). But the truth is that almost every pc version sync program can work as delta sync properly or not. So in this article, I’ll provide a workbench for cross compilation and evaluation. And finally come up with a reason of how to port better incremental synchronize solution on mobile platform.
-
-
@@ -176,59 +104,48 @@ Anyway, after coming back, I think I write too much on useless words, so let me
-[ ] Pokemon Predict (Thanks to Pokevision’s idea)
-[ ] Become a Pokemon Master
-
-
+
-
-
-
- Cross Compile Rsync to ARM platform As always, feel free to ask. // Sherlock Motivation I got some issues about compile seafile to android, so instead of doing so, I start to figure out some other synchronize workflow. Rsync is one of the most mature synchronization solution. So I made the decision on planting rsync to android. Pre-work Rsync is a sync program with delta sync feature and based on SSH connection.
-
-
-
-
-
- Catch them all until bored Preface I never imagined that I will truly write something for hacking a game. Though I have to admit that Pokemon Go is a huge heat and different from other games, it still hard to believe that I took movement to make it better(or worse?). I was a big fun of ingress, and thanks to one of my best friends, Kevin, who was also a huge fan to ingress, recommended me this game.
-
-
-
-
-
- Cross Compile Seafile to ARM platform Motivation This project is working for delta sync from mobile to server. Currently, there’s no mobile program/solution has supporting to delta sync(Include Dropbox/ Goggle Drive). But the truth is that almost every pc version sync program can work as delta sync properly or not. So in this article, I’ll provide a workbench for cross compilation and evaluation. And finally come up with a reason of how to port better incremental synchronize solution on mobile platform.
-
-
I got some issues about compile seafile to android, so instead of doing so, I start to figure out some other synchronize workflow. Rsync is one of the most mature synchronization solution. So I made the decision on planting rsync to android.
+
+
Pre-work
+
+
Rsync is a sync program with delta sync feature and based on SSH connection. So all we need to do is SSH support and cross compile tool-chain. Similar to what I mentioned in previews blog, Android NDK and environment export need to be done before compilation.
+To enable normally use of compiled program, we need to make android support SSH. My solution is just install SSHDroid from Google Play Store.
+
+
Cross-Compile Rsync
+
+
Running following script to build rsync. It will generate a executable file named rsync in the root directory.
+
+
$ ./configure --build=${BUILD_SYS} --host=${TOOLCHAIN}
+$ make
+
+
+
Push RSync to Android.
+
+
After installing SSHDroid, we can now push our arm-version-rsync to target machine.
I never imagined that I will truly write something for hacking a game. Though I have to admit that Pokemon Go is a huge heat and different from other games, it still hard to believe that I took movement to make it better(or worse?). I was a big fun of ingress, and thanks to one of my best friends, Kevin, who was also a huge fan to ingress, recommended me this game. Due to some well known reasons, Ingress didn’t become popular at my country. But time flies, I break through the wall, and come to a free land which can play Niantic’s game. Unfortunately, this time, the only thing restrict me from playing LBS game is limitation of my spare time. Working in the Lab makes me exhausted EVERYDAY and the place where I am now is so barren which even doesn’t have much insects and birds(I mean Weedle and Pidgey).
+afk I have to battle a nearby gym now
+Anyway, after coming back, I think I write too much on useless words, so let me keep it straight forward. My imagination of this hacking project is very simple, which is making an auto bot helping me go through all experiences a Pokemon trainer will face. In first stage, my goal is making the bot smartly picking up a route to walk, catch all Pokemons and supply from PokeStops.
+
+
TODO List
+
+
-[X] Test API
+-[ ] Finish Walk Algorithm
+-[ ] Finish other movement, etc. catch, hatch
+-[ ] Smart Walking route
+-[ ] Pokemon Predict (Thanks to Pokevision’s idea)
+-[ ] Become a Pokemon Master
This project is working for delta sync from mobile to server. Currently, there’s no mobile program/solution has supporting to delta sync(Include Dropbox/ Goggle Drive). But the truth is that almost every pc version sync program can work as delta sync properly or not. So in this article, I’ll provide a workbench for cross compilation and evaluation. And finally come up with a reason of how to port better incremental synchronize solution on mobile platform.
+
+
Pre-work
+
+
Basically, I used the native android compilation tool-chains, Android NDK, as working tools. Due to my working situation, I use a Nvidia Shield Tablet as target device. As Zengwen said in his blog, newest updated NDK might has some issue which can influence compilation progress. So you can find other version of NDK once you have some problems. Based on what Zengwen’s blog mentioned, we can write following useful system environment and export in terminal.
In order to build standalone tool-chains, we need first to export following system environment. After doing that, we can use following command to build a standalone tool-chains from downloaded NDK.
# Android NDK sources and standalone toolchain is put here
+export DEV=~/Android/
+
+# All the built binaries, libs and their header will be installed here
+export PREFIX=/opt/android
+
+# Don't mix up .pc files from your host and build target
+export PKG_CONFIG_PATH=${PREFIX}/lib/pkgconfig
+
+# GCC for Android version to use
+# 4.9 is the only available version since NDK r11!
+export GCC_VER=4.9
+
+# The building system we are using (Linux x86_64)
+export BUILD_SYS=x86_64-linux-gnu
+
+# Set Android target API level
+export ANDROID_API=22
+
+# Set Android target arch
+export ANDROID_ARCH=arm
+
+# Set Android target name, according to Table 2 in
+# https://developer.android.com/ndk/guides/standalone_toolchain.html
+export ANDROID_TARGET=armv7-none-linux-androideabi
+
+# The cross-compile toolchain we use
+export TOOLCHAIN=arm-linux-androideabi
+
+# This is a symlink pointing to the real Android NDK r12b
+export NDK=${DEV}/android-ndk
+
+# The path of standalone NDK toolchain
+# Refer to https://developer.android.com/ndk/guides/standalone_toolchain.html
+export NDK_TOOLCHAIN=${DEV}/android-ndk-toolchain
+
+# this one is the absolute, prebuilt path
+export SYSROOT=${NDK}/platforms/android-${ANDROID_API}/arch-${ANDROID_ARCH}
+
+# this one is the absolute, prebuilt path
+export CROSS_PREFIX=${NDK}/toolchains/${TOOLCHAIN}-${GCC_VER}/prebuilt/linux-x86_64/bin/${TOOLCHAIN}
+
+# Non-exhaustive lists of compiler + binutils
+export AR=${CROSS_PREFIX}-ar
+export AS=${CROSS_PREFIX}-as
+export LD=${CROSS_PREFIX}-ld
+export NM=${CROSS_PREFIX}-nm
+export CC=${CROSS_PREFIX}-gcc
+export CXX=${CROSS_PREFIX}-g++
+export CPP=${CROSS_PREFIX}-cpp
+export CXXCPP=${CROSS_PREFIX}-cpp
+export STRIP=${CROSS_PREFIX}-strip
+export RANLIB=${CROSS_PREFIX}-ranlib
+export STRINGS=${CROSS_PREFIX}-strings
+
+# Set build flags
+# Refer to https://developer.android.com/ndk/guides/standalone_toolchain.html
+export PATH=$PATH:${PREFIX}/bin:${PREFIX}/lib
+export CFLAGS="--sysroot=${SYSROOT} -I${SYSROOT}/usr/include -I${PREFIX}/include -fPIE -DANDROID -Wno-multichar"
+export CXXFLAGS=${CFLAGS}
+export CPPFLAGS="--sysroot=${SYSROOT} -I${SYSROOT}/usr/include -I${NDK_TOOLCHAIN}/include/c++/ -DANDROID -DNO_XMALLOC -mandroid"
+export LIBS="-lc -lstdc++ -ld"
+export LDFLAGS="-Wl,-rpath-link=-I${SYSROOT}/usr/lib -L${SYSROOT}/usr/lib -L${PREFIX}/lib -L${NDK_TOOLCHAIN}/lib"
+
+
+
Compile Process
+
+
To compile seafile, we should compile ccnet and libsearpc first. As for these two projects, they all have their own dependencies, so we must follow some order to run the compilation.
-
-
-
- Cross Compile Rsync to ARM platform As always, feel free to ask. // Sherlock Motivation I got some issues about compile seafile to android, so instead of doing so, I start to figure out some other synchronize workflow. Rsync is one of the most mature synchronization solution. So I made the decision on planting rsync to android. Pre-work Rsync is a sync program with delta sync feature and based on SSH connection.
-
-
I got some issues about compile seafile to android, so instead of doing so, I start to figure out some other synchronize workflow. Rsync is one of the most mature synchronization solution. So I made the decision on planting rsync to android.
+
+
Pre-work
+
+
Rsync is a sync program with delta sync feature and based on SSH connection. So all we need to do is SSH support and cross compile tool-chain. Similar to what I mentioned in previews blog, Android NDK and environment export need to be done before compilation.
+To enable normally use of compiled program, we need to make android support SSH. My solution is just install SSHDroid from Google Play Store.
+
+
Cross-Compile Rsync
+
+
Running following script to build rsync. It will generate a executable file named rsync in the root directory.
+
+
$ ./configure --build=${BUILD_SYS} --host=${TOOLCHAIN}
+$ make
+
+
+
Push RSync to Android.
+
+
After installing SSHDroid, we can now push our arm-version-rsync to target machine.
This project is working for delta sync from mobile to server. Currently, there’s no mobile program/solution has supporting to delta sync(Include Dropbox/ Goggle Drive). But the truth is that almost every pc version sync program can work as delta sync properly or not. So in this article, I’ll provide a workbench for cross compilation and evaluation. And finally come up with a reason of how to port better incremental synchronize solution on mobile platform.
+
+
Pre-work
+
+
Basically, I used the native android compilation tool-chains, Android NDK, as working tools. Due to my working situation, I use a Nvidia Shield Tablet as target device. As Zengwen said in his blog, newest updated NDK might has some issue which can influence compilation progress. So you can find other version of NDK once you have some problems. Based on what Zengwen’s blog mentioned, we can write following useful system environment and export in terminal.
In order to build standalone tool-chains, we need first to export following system environment. After doing that, we can use following command to build a standalone tool-chains from downloaded NDK.
# Android NDK sources and standalone toolchain is put here
+export DEV=~/Android/
+
+# All the built binaries, libs and their header will be installed here
+export PREFIX=/opt/android
+
+# Don't mix up .pc files from your host and build target
+export PKG_CONFIG_PATH=${PREFIX}/lib/pkgconfig
+
+# GCC for Android version to use
+# 4.9 is the only available version since NDK r11!
+export GCC_VER=4.9
+
+# The building system we are using (Linux x86_64)
+export BUILD_SYS=x86_64-linux-gnu
+
+# Set Android target API level
+export ANDROID_API=22
+
+# Set Android target arch
+export ANDROID_ARCH=arm
+
+# Set Android target name, according to Table 2 in
+# https://developer.android.com/ndk/guides/standalone_toolchain.html
+export ANDROID_TARGET=armv7-none-linux-androideabi
+
+# The cross-compile toolchain we use
+export TOOLCHAIN=arm-linux-androideabi
+
+# This is a symlink pointing to the real Android NDK r12b
+export NDK=${DEV}/android-ndk
+
+# The path of standalone NDK toolchain
+# Refer to https://developer.android.com/ndk/guides/standalone_toolchain.html
+export NDK_TOOLCHAIN=${DEV}/android-ndk-toolchain
+
+# this one is the absolute, prebuilt path
+export SYSROOT=${NDK}/platforms/android-${ANDROID_API}/arch-${ANDROID_ARCH}
+
+# this one is the absolute, prebuilt path
+export CROSS_PREFIX=${NDK}/toolchains/${TOOLCHAIN}-${GCC_VER}/prebuilt/linux-x86_64/bin/${TOOLCHAIN}
+
+# Non-exhaustive lists of compiler + binutils
+export AR=${CROSS_PREFIX}-ar
+export AS=${CROSS_PREFIX}-as
+export LD=${CROSS_PREFIX}-ld
+export NM=${CROSS_PREFIX}-nm
+export CC=${CROSS_PREFIX}-gcc
+export CXX=${CROSS_PREFIX}-g++
+export CPP=${CROSS_PREFIX}-cpp
+export CXXCPP=${CROSS_PREFIX}-cpp
+export STRIP=${CROSS_PREFIX}-strip
+export RANLIB=${CROSS_PREFIX}-ranlib
+export STRINGS=${CROSS_PREFIX}-strings
+
+# Set build flags
+# Refer to https://developer.android.com/ndk/guides/standalone_toolchain.html
+export PATH=$PATH:${PREFIX}/bin:${PREFIX}/lib
+export CFLAGS="--sysroot=${SYSROOT} -I${SYSROOT}/usr/include -I${PREFIX}/include -fPIE -DANDROID -Wno-multichar"
+export CXXFLAGS=${CFLAGS}
+export CPPFLAGS="--sysroot=${SYSROOT} -I${SYSROOT}/usr/include -I${NDK_TOOLCHAIN}/include/c++/ -DANDROID -DNO_XMALLOC -mandroid"
+export LIBS="-lc -lstdc++ -ld"
+export LDFLAGS="-Wl,-rpath-link=-I${SYSROOT}/usr/lib -L${SYSROOT}/usr/lib -L${PREFIX}/lib -L${NDK_TOOLCHAIN}/lib"
+
+
+
Compile Process
+
+
To compile seafile, we should compile ccnet and libsearpc first. As for these two projects, they all have their own dependencies, so we must follow some order to run the compilation.
-
-
-
- Cross Compile Seafile to ARM platform Motivation This project is working for delta sync from mobile to server. Currently, there’s no mobile program/solution has supporting to delta sync(Include Dropbox/ Goggle Drive). But the truth is that almost every pc version sync program can work as delta sync properly or not. So in this article, I’ll provide a workbench for cross compilation and evaluation. And finally come up with a reason of how to port better incremental synchronize solution on mobile platform.
-
-
-
-
-
- Cross Compile Rsync to ARM platform As always, feel free to ask. // Sherlock Motivation I got some issues about compile seafile to android, so instead of doing so, I start to figure out some other synchronize workflow. Rsync is one of the most mature synchronization solution. So I made the decision on planting rsync to android. Pre-work Rsync is a sync program with delta sync feature and based on SSH connection.
-
-
I got some issues about compile seafile to android, so instead of doing so, I start to figure out some other synchronize workflow. Rsync is one of the most mature synchronization solution. So I made the decision on planting rsync to android.
+
+
Pre-work
+
+
Rsync is a sync program with delta sync feature and based on SSH connection. So all we need to do is SSH support and cross compile tool-chain. Similar to what I mentioned in previews blog, Android NDK and environment export need to be done before compilation.
+To enable normally use of compiled program, we need to make android support SSH. My solution is just install SSHDroid from Google Play Store.
+
+
Cross-Compile Rsync
+
+
Running following script to build rsync. It will generate a executable file named rsync in the root directory.
+
+
$ ./configure --build=${BUILD_SYS} --host=${TOOLCHAIN}
+$ make
+
+
+
Push RSync to Android.
+
+
After installing SSHDroid, we can now push our arm-version-rsync to target machine.
This project is working for delta sync from mobile to server. Currently, there’s no mobile program/solution has supporting to delta sync(Include Dropbox/ Goggle Drive). But the truth is that almost every pc version sync program can work as delta sync properly or not. So in this article, I’ll provide a workbench for cross compilation and evaluation. And finally come up with a reason of how to port better incremental synchronize solution on mobile platform.
+
+
Pre-work
+
+
Basically, I used the native android compilation tool-chains, Android NDK, as working tools. Due to my working situation, I use a Nvidia Shield Tablet as target device. As Zengwen said in his blog, newest updated NDK might has some issue which can influence compilation progress. So you can find other version of NDK once you have some problems. Based on what Zengwen’s blog mentioned, we can write following useful system environment and export in terminal.
In order to build standalone tool-chains, we need first to export following system environment. After doing that, we can use following command to build a standalone tool-chains from downloaded NDK.
# Android NDK sources and standalone toolchain is put here
+export DEV=~/Android/
+
+# All the built binaries, libs and their header will be installed here
+export PREFIX=/opt/android
+
+# Don't mix up .pc files from your host and build target
+export PKG_CONFIG_PATH=${PREFIX}/lib/pkgconfig
+
+# GCC for Android version to use
+# 4.9 is the only available version since NDK r11!
+export GCC_VER=4.9
+
+# The building system we are using (Linux x86_64)
+export BUILD_SYS=x86_64-linux-gnu
+
+# Set Android target API level
+export ANDROID_API=22
+
+# Set Android target arch
+export ANDROID_ARCH=arm
+
+# Set Android target name, according to Table 2 in
+# https://developer.android.com/ndk/guides/standalone_toolchain.html
+export ANDROID_TARGET=armv7-none-linux-androideabi
+
+# The cross-compile toolchain we use
+export TOOLCHAIN=arm-linux-androideabi
+
+# This is a symlink pointing to the real Android NDK r12b
+export NDK=${DEV}/android-ndk
+
+# The path of standalone NDK toolchain
+# Refer to https://developer.android.com/ndk/guides/standalone_toolchain.html
+export NDK_TOOLCHAIN=${DEV}/android-ndk-toolchain
+
+# this one is the absolute, prebuilt path
+export SYSROOT=${NDK}/platforms/android-${ANDROID_API}/arch-${ANDROID_ARCH}
+
+# this one is the absolute, prebuilt path
+export CROSS_PREFIX=${NDK}/toolchains/${TOOLCHAIN}-${GCC_VER}/prebuilt/linux-x86_64/bin/${TOOLCHAIN}
+
+# Non-exhaustive lists of compiler + binutils
+export AR=${CROSS_PREFIX}-ar
+export AS=${CROSS_PREFIX}-as
+export LD=${CROSS_PREFIX}-ld
+export NM=${CROSS_PREFIX}-nm
+export CC=${CROSS_PREFIX}-gcc
+export CXX=${CROSS_PREFIX}-g++
+export CPP=${CROSS_PREFIX}-cpp
+export CXXCPP=${CROSS_PREFIX}-cpp
+export STRIP=${CROSS_PREFIX}-strip
+export RANLIB=${CROSS_PREFIX}-ranlib
+export STRINGS=${CROSS_PREFIX}-strings
+
+# Set build flags
+# Refer to https://developer.android.com/ndk/guides/standalone_toolchain.html
+export PATH=$PATH:${PREFIX}/bin:${PREFIX}/lib
+export CFLAGS="--sysroot=${SYSROOT} -I${SYSROOT}/usr/include -I${PREFIX}/include -fPIE -DANDROID -Wno-multichar"
+export CXXFLAGS=${CFLAGS}
+export CPPFLAGS="--sysroot=${SYSROOT} -I${SYSROOT}/usr/include -I${NDK_TOOLCHAIN}/include/c++/ -DANDROID -DNO_XMALLOC -mandroid"
+export LIBS="-lc -lstdc++ -ld"
+export LDFLAGS="-Wl,-rpath-link=-I${SYSROOT}/usr/lib -L${SYSROOT}/usr/lib -L${PREFIX}/lib -L${NDK_TOOLCHAIN}/lib"
+
+
+
Compile Process
+
+
To compile seafile, we should compile ccnet and libsearpc first. As for these two projects, they all have their own dependencies, so we must follow some order to run the compilation.
-
-
-
- Cross Compile Seafile to ARM platform Motivation This project is working for delta sync from mobile to server. Currently, there’s no mobile program/solution has supporting to delta sync(Include Dropbox/ Goggle Drive). But the truth is that almost every pc version sync program can work as delta sync properly or not. So in this article, I’ll provide a workbench for cross compilation and evaluation. And finally come up with a reason of how to port better incremental synchronize solution on mobile platform.
-
-
-
-
-
- Catch them all until bored Preface I never imagined that I will truly write something for hacking a game. Though I have to admit that Pokemon Go is a huge heat and different from other games, it still hard to believe that I took movement to make it better(or worse?). I was a big fun of ingress, and thanks to one of my best friends, Kevin, who was also a huge fan to ingress, recommended me this game.
-
-
I never imagined that I will truly write something for hacking a game. Though I have to admit that Pokemon Go is a huge heat and different from other games, it still hard to believe that I took movement to make it better(or worse?). I was a big fun of ingress, and thanks to one of my best friends, Kevin, who was also a huge fan to ingress, recommended me this game. Due to some well known reasons, Ingress didn’t become popular at my country. But time flies, I break through the wall, and come to a free land which can play Niantic’s game. Unfortunately, this time, the only thing restrict me from playing LBS game is limitation of my spare time. Working in the Lab makes me exhausted EVERYDAY and the place where I am now is so barren which even doesn’t have much insects and birds(I mean Weedle and Pidgey).
+afk I have to battle a nearby gym now
+Anyway, after coming back, I think I write too much on useless words, so let me keep it straight forward. My imagination of this hacking project is very simple, which is making an auto bot helping me go through all experiences a Pokemon trainer will face. In first stage, my goal is making the bot smartly picking up a route to walk, catch all Pokemons and supply from PokeStops.
+
+
TODO List
+
+
-[X] Test API
+-[ ] Finish Walk Algorithm
+-[ ] Finish other movement, etc. catch, hatch
+-[ ] Smart Walking route
+-[ ] Pokemon Predict (Thanks to Pokevision’s idea)
+-[ ] Become a Pokemon Master
-
-
-
- Catch them all until bored Preface I never imagined that I will truly write something for hacking a game. Though I have to admit that Pokemon Go is a huge heat and different from other games, it still hard to believe that I took movement to make it better(or worse?). I was a big fun of ingress, and thanks to one of my best friends, Kevin, who was also a huge fan to ingress, recommended me this game.
-
-
I never imagined that I will truly write something for hacking a game. Though I have to admit that Pokemon Go is a huge heat and different from other games, it still hard to believe that I took movement to make it better(or worse?). I was a big fun of ingress, and thanks to one of my best friends, Kevin, who was also a huge fan to ingress, recommended me this game. Due to some well known reasons, Ingress didn’t become popular at my country. But time flies, I break through the wall, and come to a free land which can play Niantic’s game. Unfortunately, this time, the only thing restrict me from playing LBS game is limitation of my spare time. Working in the Lab makes me exhausted EVERYDAY and the place where I am now is so barren which even doesn’t have much insects and birds(I mean Weedle and Pidgey).
+afk I have to battle a nearby gym now
+Anyway, after coming back, I think I write too much on useless words, so let me keep it straight forward. My imagination of this hacking project is very simple, which is making an auto bot helping me go through all experiences a Pokemon trainer will face. In first stage, my goal is making the bot smartly picking up a route to walk, catch all Pokemons and supply from PokeStops.
+
+
TODO List
+
+
-[X] Test API
+-[ ] Finish Walk Algorithm
+-[ ] Finish other movement, etc. catch, hatch
+-[ ] Smart Walking route
+-[ ] Pokemon Predict (Thanks to Pokevision’s idea)
+-[ ] Become a Pokemon Master