Change_Another_Theme

This commit is contained in:
2016-08-16 14:08:36 -04:00
parent 34547ce62d
commit 60ee324bb8
11 changed files with 1658 additions and 2160 deletions
+1
View File
@@ -0,0 +1 @@
#layout,.nav-list{padding:0}.brand-title,.content-subhead{text-transform:uppercase}.footer,.header,.post-share-links{text-align:center}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.pure-g [class*=pure-u],button,html,input,select,textarea{font-family:"Source Sans Pro",serif}.brand-title,.nav-item a,.post-title{font-family:Oxygen,sans-serif}a{text-decoration:none;color:#3d92c9}.brand-title a,.sidebar{color:#fff}a:focus,a:hover{text-decoration:underline}.brand-title a:hover,.post-share-links a:hover,.post-title:hover{text-decoration:none}h3{font-weight:100}.pure-img-responsive{max-width:100%;height:auto}.header{top:auto;margin:3em auto}.sidebar{background:#3d4f5d}.brand-tagline,.brand-title{margin:0}.brand-tagline{font-weight:300;color:#b0cadb}.nav-list{margin:0;list-style:none}.nav-item{display:inline-block;zoom:1}.nav-item a{background:0 0;border:2px solid #b0cadb;color:#fff;margin-top:1em;font-weight:700}.nav-item a:focus,.nav-item a:hover{border:2px solid #3d92c9;text-decoration:none}.post-share-links,pre{border:1px solid #ccc}.content-subhead{color:#aaa;border-bottom:1px solid #eee;padding:.4em 0;font-size:80%;font-weight:500;letter-spacing:.1em}.hugo,.post-title,pre .class,pre .css-property,pre .css-value,pre .entity.function,pre .id,pre .keyword,pre .sass,pre .storage.function,pre .vendor-prefix{font-weight:700}.content{padding:2em 1em 0}.post{padding-bottom:2em}.post-title{font-size:2em;color:#222;margin:.4em 0}.post-avatar{border-radius:50px;float:right;margin-left:1em}.post-description{font-family:"Source Sans Pro",serif;color:#333;line-height:1.35em}.post-meta{color:#999;font-size:90%;margin:5px 0}.post-category{margin:0 .1em;padding:.3em 1em;color:#fff;background:#999;font-size:80%}.post-category-design{background:#5aba59}.post-category-pure{background:#4d85d1}.post-category-yui{background:#8156a7}.post-category-javascript{background:#df2d4f}.post-images{margin:1em 0}.post-image-meta{margin-top:-3.5em;margin-left:1em;color:#fff;text-shadow:0 1px 1px #333}.footer{padding:1em 0;color:#555;font-size:80%}.footer ul li a{display:inline;padding:0}.hugo{color:#333}.footer .pure-menu a:focus,.footer .pure-menu a:hover{background:0 0}.footer li{list-style-type:none}.post-share-links{margin:15px 15px 0 0;float:left;padding:10px}.post-share-links a{color:#aaa;font-size:28px;line-height:36px;margin:0 auto;display:block;transition:all .3s ease-in}.post-share-links a:hover{color:#3d92c9}.post-share-links h4{font-family:Oxygen,sans-serif;margin:0 0 5px;color:#aaa}@media (min-width:48em){.content{padding:2em 3em 0;margin-left:25%}.header{margin:80% 2em 0;text-align:right}.sidebar{position:fixed;top:0;bottom:0}}pre{word-wrap:break-word;padding:6px 10px;line-height:19px;margin-bottom:20px}code{border:1px solid #eaeaea;margin:0 2px;padding:0 5px;font-size:12px}pre code{border:0;padding:0;margin:0;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}code,pre{font-family:Consolas,'Liberation Mono',Courier,monospace;color:#333;background:#f8f8f8;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}pre,pre code{font-size:13px}pre .comment{color:#998}pre .support{color:#0086B3}pre .tag,pre .tag-name{color:navy}pre .css-property,pre .css-value,pre .support.namespace,pre .vendor-prefix{color:#333}pre .constant.numeric,pre .hex-color,pre .keyword.unit{font-weight:400;color:#099}pre .entity.class{color:#458}pre .entity.function,pre .entity.id{color:#900}pre .attribute,pre .variable{color:teal}pre .string,pre .support.value{font-weight:400;color:#d14}pre .regexp{color:#009926}
+315 -315
View File
@@ -1,340 +1,340 @@
<!DOCTYPE html> <!doctype html>
<html lang="en"> <html lang="en">
<head> <head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="A boy who can&#39;t step into academia"> <title>Mil años de solitario &middot; Mil años de solitario</title>
<meta name="generator" content="Hugo 0.16" />
<title>Mil años de solitario</title> <meta name="description" content="A boy who can&#39;t step into academia">
<meta name="generator" content="Hugo 0.16" />
<meta name="twitter:card" content="summary">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/pure-min.css">
<meta name="twitter:title" content="Mil años de solitario &middot; Mil años de solitario">
<meta name="twitter:description" content="A boy who can&#39;t step into academia">
<!--[if lte IE 8]> <meta property="og:type" content="article">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/grids-responsive-old-ie-min.css"> <meta property="og:title" content="Mil años de solitario &middot; Mil años de solitario">
<![endif]--> <meta property="og:description" content="A boy who can&#39;t step into academia">
<!--[if gt IE 8]><!-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/grids-responsive-min.css">
<!--<![endif]-->
<!--[if lte IE 8]> <link href='//fonts.googleapis.com/css?family=Source+Sans+Pro:400,700|Oxygen:400,700' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="/css/side-menu-old-ie.css"> <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/pure-min.css">
<![endif]--> <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/grids-responsive-min.css">
<!--[if gt IE 8]><!-->
<link rel="stylesheet" href="/css/side-menu.css">
<!--<![endif]-->
<link rel="stylesheet" href="/css/blackburn.css"> <link rel="stylesheet" href="https://codersherlock.github.io//css/all.min.css">
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
<link href="https://fonts.googleapis.com/css?family=Raleway" rel="stylesheet" type="text/css">
<link rel="alternate" type="application/rss+xml" title="Mil años de solitario" href="https://CoderSherlock.github.io/index.xml" />
<link rel="shortcut icon" href="https://codersherlock.github.io/img/favicon.ico" type="image/x-icon" />
<link rel="alternate" type="application/rss+xml" title="Mil años de solitario" href="https://codersherlock.github.io//index.xml" />
</head> </head>
<body> <body>
<div id="layout">
<a href="#menu" id="menuLink" class="menu-link">
<span></span>
</a>
<div id="menu">
<div id="layout" class="pure-g">
<div class="sidebar pure-u-1 pure-u-md-1-4">
<div class="header">
<hgroup>
<h1 class="brand-title"><a href="https://codersherlock.github.io/">Mil años de solitario</a></h1>
<h2 class="brand-tagline"> A boy who can&#39;t step into academia </h2>
</hgroup>
<div class="pure-menu"> <nav class="nav">
<ul class="pure-menu-list"> <ul class="nav-list">
<li class="pure-menu-item"> <li class="nav-item">
<a class="pure-menu-link" href="/"><i class='fa fa-home fa-fw'></i>Home</a> <a class="pure-button" href="https://codersherlock.github.io//index.xml"><i class="fa fa-rss"></i> rss</a>
</li>
</li> </ul>
</nav>
</div>
<li class="pure-menu-item">
<a class="pure-menu-link" href="/post/"><i class='fa fa-list fa-fw'></i>Posts</a>
</li>
<li class="pure-menu-item">
<a class="pure-menu-link" href="/about/"><i class='fa fa-user fa-fw'></i>About</a>
</li>
<li class="pure-menu-item">
<a class="pure-menu-link" href="/contact/"><i class='fa fa-phone fa-fw'></i>Contact</a>
</li>
</ul>
</div>
<div class="pure-menu social">
<ul class="pure-menu-list">
<li class="pure-menu-item">
<a class="pure-menu-link" href="https://CoderSherlock.github.io/index.xml"><i class="fa fa-rss fa-fw"></i>RSS</a>
</li>
</ul>
</div> </div>
<div> <div class="content pure-u-1 pure-u-md-3-4">
<div class="small-print"> <div>
<small></small>
</div> <div class="posts">
<div class="small-print">
<small>Built with&nbsp;<a href="https://gohugo.io/" target="_blank">Hugo</a></small> <h1 class="content-subhead">15 Aug 2016, 15:44</h1>
<small>Theme&nbsp;<a href="https://github.com/yoshiharuyamashita/blackburn" target="_blank">Blackburn</a></small> <section class="post">
</div> <header class="post-header">
</div>
<a href="https://codersherlock.github.io/post/Cross-Compile-RSync-ARM/" class="post-title">Cross Compile RSync ARM</a>
<p class="post-meta">
under
<a class="post-category post-category-2016-08" href="https://codersherlock.github.io//categories/2016-08">2016-08</a>
</p>
</header>
<div class="post-description">
<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&amp;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 &quot;./ssh&quot; {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>
</div>
</section>
<h1 class="content-subhead">30 Jul 2016, 18:10</h1>
<section class="post">
<header class="post-header">
<a href="https://codersherlock.github.io/post/Pokemon-Go-Hack/" class="post-title">Pokemon Go Hack</a>
<p class="post-meta">
under
<a class="post-category post-category-2016-07" href="https://codersherlock.github.io//categories/2016-07">2016-07</a>
</p>
</header>
<div class="post-description">
<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&rsquo;t become popular at my country. But time flies, I break through the wall, and come to a free land which can play Niantic&rsquo;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&rsquo;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&rsquo;s idea)
-[ ] Become a Pokemon Master</p>
</div>
</section>
<h1 class="content-subhead">30 Jul 2016, 14:02</h1>
<section class="post">
<header class="post-header">
<a href="https://codersherlock.github.io/post/Cross-Compile-Seafile-2-ARM/" class="post-title">Cross Compile Seafile 2 ARM</a>
<p class="post-meta">
under
<a class="post-category post-category-2016-07" href="https://codersherlock.github.io//categories/2016-07">2016-07</a>
</p>
</header>
<div class="post-description">
<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&rsquo;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&rsquo;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&rsquo;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]-&gt; 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=&quot;--sysroot=${SYSROOT} -I${SYSROOT}/usr/include -I${PREFIX}/include -fPIE -DANDROID -Wno-multichar&quot;
export CXXFLAGS=${CFLAGS}
export CPPFLAGS=&quot;--sysroot=${SYSROOT} -I${SYSROOT}/usr/include -I${NDK_TOOLCHAIN}/include/c++/ -DANDROID -DNO_XMALLOC -mandroid&quot;
export LIBS=&quot;-lc -lstdc++ -ld&quot;
export LDFLAGS=&quot;-Wl,-rpath-link=-I${SYSROOT}/usr/lib -L${SYSROOT}/usr/lib -L${PREFIX}/lib -L${NDK_TOOLCHAIN}/lib&quot;
</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>
</div>
</section>
</div>
<div class="footer">
<div class="pure-menu pure-menu-horizontal pure-menu-open">
<ul>
<li>Powered by <a class="hugo" href="https://gohugo.io/" target="_blank">hugo</a></li>
</ul>
</div>
</div>
<script src="https://codersherlock.github.io//js/all.min.js"></script>
</div>
</div>
</div> </div>
<div id="main"> <script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
<div class="header"> m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
<h1>Mil años de solitario</h1> })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
<h2></h2>
</div>
<div class="content">
<article>
<header>
<h2><a href="https://codersherlock.github.io/post/Cross-Compile-RSync-ARM/">Cross Compile RSync ARM</a></h2>
<div class="post-meta">
<div>
<i class="fa fa-calendar fa-fw"></i>
<time>15 Aug 2016, 15:44</time>
</div>
<div>
<i class="fa fa-tags fa-fw"></i>
<a class="post-taxonomy-tag" href="https://codersherlock.github.io/tags/android">android</a>&nbsp;&#47;
<a class="post-taxonomy-tag" href="https://codersherlock.github.io/tags/arm">arm</a>
</div>
</div>
</header>
<p>
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.
</p>
<footer>
<a href="/post/Cross-Compile-RSync-ARM/">Read more<i class="fa fa-angle-double-right fa-fw"></i></a>
</footer>
</article>
<article>
<header>
<h2><a href="https://codersherlock.github.io/post/Pokemon-Go-Hack/">Pokemon Go Hack</a></h2>
<div class="post-meta">
<div>
<i class="fa fa-calendar fa-fw"></i>
<time>30 Jul 2016, 18:10</time>
</div>
<div>
<i class="fa fa-tags fa-fw"></i>
<a class="post-taxonomy-tag" href="https://codersherlock.github.io/tags/hack">hack</a>&nbsp;&#47;
<a class="post-taxonomy-tag" href="https://codersherlock.github.io/tags/github">github</a>
</div>
</div>
</header>
<p>
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.
</p>
<footer>
<a href="/post/Pokemon-Go-Hack/">Read more<i class="fa fa-angle-double-right fa-fw"></i></a>
</footer>
</article>
<article>
<header>
<h2><a href="https://codersherlock.github.io/post/Cross-Compile-Seafile-2-ARM/">Cross Compile Seafile 2 ARM</a></h2>
<div class="post-meta">
<div>
<i class="fa fa-calendar fa-fw"></i>
<time>30 Jul 2016, 14:02</time>
</div>
<div>
<i class="fa fa-tags fa-fw"></i>
<a class="post-taxonomy-tag" href="https://codersherlock.github.io/tags/android">android</a>&nbsp;&#47;
<a class="post-taxonomy-tag" href="https://codersherlock.github.io/tags/arm">arm</a>
</div>
</div>
</header>
<p>
Cross Compile Seafile to ARM platform Motivation This project is working for delta sync from mobile to server. Currently, there&rsquo;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&rsquo;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>
<footer>
<a href="/post/Cross-Compile-Seafile-2-ARM/">Read more<i class="fa fa-angle-double-right fa-fw"></i></a>
</footer>
</article>
</div>
</div>
</div>
<script src="https://codersherlock.github.io/js/ui.js"></script>
ga('create', '', 'auto');
ga('send', 'pageview');
</script>
</body> </body>
</html> </html>
+4
View File
File diff suppressed because one or more lines are too long
+88 -225
View File
@@ -1,213 +1,87 @@
<!DOCTYPE html> <!doctype html>
<html lang="en"> <html lang="en">
<head> <head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content=""> <title>Cross Compile RSync ARM &middot; Mil años de solitario</title>
<meta name="generator" content="Hugo 0.16" />
<title>Cross Compile RSync ARM &middot; Mil años de solitario</title> <meta name="description" content="">
<meta name="generator" content="Hugo 0.16" />
<meta name="twitter:card" content="summary">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/pure-min.css">
<meta name="twitter:title" content="Cross Compile RSync ARM &middot; Mil años de solitario">
<meta name="twitter:description" content="">
<!--[if lte IE 8]> <meta property="og:type" content="article">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/grids-responsive-old-ie-min.css"> <meta property="og:title" content="Cross Compile RSync ARM &middot; Mil años de solitario">
<![endif]--> <meta property="og:description" content="">
<!--[if gt IE 8]><!-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/grids-responsive-min.css">
<!--<![endif]-->
<!--[if lte IE 8]> <link href='//fonts.googleapis.com/css?family=Source+Sans+Pro:400,700|Oxygen:400,700' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="/css/side-menu-old-ie.css"> <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/pure-min.css">
<![endif]--> <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/grids-responsive-min.css">
<!--[if gt IE 8]><!-->
<link rel="stylesheet" href="/css/side-menu.css">
<!--<![endif]-->
<link rel="stylesheet" href="/css/blackburn.css"> <link rel="stylesheet" href="https://codersherlock.github.io//css/all.min.css">
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
<link href="https://fonts.googleapis.com/css?family=Raleway" rel="stylesheet" type="text/css">
<link rel="shortcut icon" href="https://codersherlock.github.io/img/favicon.ico" type="image/x-icon" />
<link rel="alternate" type="application/rss+xml" title="Mil años de solitario" href="https://codersherlock.github.io//index.xml" />
</head> </head>
<body> <body>
<div id="layout">
<a href="#menu" id="menuLink" class="menu-link">
<span></span>
</a>
<div id="menu">
<div id="layout" class="pure-g">
<div class="sidebar pure-u-1 pure-u-md-1-4">
<div class="header">
<hgroup>
<h1 class="brand-title"><a href="https://codersherlock.github.io/">Mil años de solitario</a></h1>
<h2 class="brand-tagline"> A boy who can&#39;t step into academia </h2>
</hgroup>
<div class="pure-menu"> <nav class="nav">
<ul class="pure-menu-list"> <ul class="nav-list">
<li class="pure-menu-item"> <li class="nav-item">
<a class="pure-menu-link" href="/"><i class='fa fa-home fa-fw'></i>Home</a> <a class="pure-button" href="https://codersherlock.github.io//index.xml"><i class="fa fa-rss"></i> rss</a>
</li>
</li> </ul>
</nav>
</div>
<li class="pure-menu-item">
<a class="pure-menu-link" href="/post/"><i class='fa fa-list fa-fw'></i>Posts</a>
</li>
<li class="pure-menu-item">
<a class="pure-menu-link" href="/about/"><i class='fa fa-user fa-fw'></i>About</a>
</li>
<li class="pure-menu-item">
<a class="pure-menu-link" href="/contact/"><i class='fa fa-phone fa-fw'></i>Contact</a>
</li>
</ul>
</div>
<div class="pure-menu social">
<ul class="pure-menu-list">
</ul>
</div> </div>
<div> <div class="content pure-u-1 pure-u-md-3-4">
<div class="small-print"> <div>
<small></small>
</div> <div class="posts">
<div class="small-print"> <h1 class="content-subhead">15 Aug 2016, 15:44</h1>
<small>Built with&nbsp;<a href="https://gohugo.io/" target="_blank">Hugo</a></small> <section class="post">
<small>Theme&nbsp;<a href="https://github.com/yoshiharuyamashita/blackburn" target="_blank">Blackburn</a></small> <header class="post-header">
</div>
</div>
</div> <a href="https://codersherlock.github.io/post/Cross-Compile-RSync-ARM/" class="post-title">Cross Compile RSync ARM</a>
<p class="post-meta">
<div id="main">
under
<div class="header">
<h1>Cross Compile RSync ARM</h1> <a class="post-category post-category-2016-08" href="https://codersherlock.github.io//categories/2016-08">2016-08</a>
<h2></h2>
</div> </p>
<div class="content"> </header>
<div class="post-meta"> <div class="post-share">
<div class="post-share-links">
<div> <h4 style="">Share</h4>
<i class="fa fa-calendar fa-fw"></i>
<time>15 Aug 2016, 15:44</time>
</div>
</div>
</div>
<div class="post-description">
<div>
<i class="fa fa-tags fa-fw"></i>
<a class="post-taxonomy-tag" href="https://codersherlock.github.io/tags/android">android</a>&nbsp;&#47;
<a class="post-taxonomy-tag" href="https://codersherlock.github.io/tags/arm">arm</a>
</div>
</div>
<h1 id="cross-compile-rsync-to-arm-platform">Cross Compile Rsync to ARM platform</h1> <h1 id="cross-compile-rsync-to-arm-platform">Cross Compile Rsync to ARM platform</h1>
@@ -252,45 +126,34 @@ $ mv ../../../local/tmp/rsync .
<p><a href="http://stackoverflow.com/questions/8130889/build-rsync-for-android">Build Rsync for Android</a></p> <p><a href="http://stackoverflow.com/questions/8130889/build-rsync-for-android">Build Rsync for Android</a></p>
</div>
</section>
</div>
<div class="footer">
<div class="pure-menu pure-menu-horizontal pure-menu-open">
<ul>
<li>Powered by <a class="hugo" href="https://gohugo.io/" target="_blank">hugo</a></li>
</ul>
</div>
</div>
<script src="https://codersherlock.github.io//js/all.min.js"></script>
</div>
<div class="prev-next-post pure-g"> </div>
<div class="pure-u-1-24" style="text-align: left;">
<a href="https://codersherlock.github.io/post/Pokemon-Go-Hack/"><i class="fa fa-chevron-left"></i></a>
</div>
<div class="pure-u-10-24">
<nav class="prev">
<a href="https://codersherlock.github.io/post/Pokemon-Go-Hack/">Pokemon Go Hack</a>
</nav>
</div>
<div class="pure-u-2-24">
&nbsp;
</div>
<div class="pure-u-10-24">
</div>
<div class="pure-u-1-24" style="text-align: right;">
</div>
</div> </div>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', '', 'auto');
ga('send', 'pageview');
</div>
</div>
</div>
<script src="https://codersherlock.github.io/js/ui.js"></script>
</script>
</body> </body>
</html> </html>
+88 -225
View File
@@ -1,213 +1,87 @@
<!DOCTYPE html> <!doctype html>
<html lang="en"> <html lang="en">
<head> <head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content=""> <title>Cross Compile Seafile 2 ARM &middot; Mil años de solitario</title>
<meta name="generator" content="Hugo 0.16" />
<title>Cross Compile Seafile 2 ARM &middot; Mil años de solitario</title> <meta name="description" content="">
<meta name="generator" content="Hugo 0.16" />
<meta name="twitter:card" content="summary">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/pure-min.css">
<meta name="twitter:title" content="Cross Compile Seafile 2 ARM &middot; Mil años de solitario">
<meta name="twitter:description" content="">
<!--[if lte IE 8]> <meta property="og:type" content="article">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/grids-responsive-old-ie-min.css"> <meta property="og:title" content="Cross Compile Seafile 2 ARM &middot; Mil años de solitario">
<![endif]--> <meta property="og:description" content="">
<!--[if gt IE 8]><!-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/grids-responsive-min.css">
<!--<![endif]-->
<!--[if lte IE 8]> <link href='//fonts.googleapis.com/css?family=Source+Sans+Pro:400,700|Oxygen:400,700' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="/css/side-menu-old-ie.css"> <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/pure-min.css">
<![endif]--> <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/grids-responsive-min.css">
<!--[if gt IE 8]><!-->
<link rel="stylesheet" href="/css/side-menu.css">
<!--<![endif]-->
<link rel="stylesheet" href="/css/blackburn.css"> <link rel="stylesheet" href="https://codersherlock.github.io//css/all.min.css">
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
<link href="https://fonts.googleapis.com/css?family=Raleway" rel="stylesheet" type="text/css">
<link rel="shortcut icon" href="https://codersherlock.github.io/img/favicon.ico" type="image/x-icon" />
<link rel="alternate" type="application/rss+xml" title="Mil años de solitario" href="https://codersherlock.github.io//index.xml" />
</head> </head>
<body> <body>
<div id="layout">
<a href="#menu" id="menuLink" class="menu-link">
<span></span>
</a>
<div id="menu">
<div id="layout" class="pure-g">
<div class="sidebar pure-u-1 pure-u-md-1-4">
<div class="header">
<hgroup>
<h1 class="brand-title"><a href="https://codersherlock.github.io/">Mil años de solitario</a></h1>
<h2 class="brand-tagline"> A boy who can&#39;t step into academia </h2>
</hgroup>
<div class="pure-menu"> <nav class="nav">
<ul class="pure-menu-list"> <ul class="nav-list">
<li class="pure-menu-item"> <li class="nav-item">
<a class="pure-menu-link" href="/"><i class='fa fa-home fa-fw'></i>Home</a> <a class="pure-button" href="https://codersherlock.github.io//index.xml"><i class="fa fa-rss"></i> rss</a>
</li>
</li> </ul>
</nav>
</div>
<li class="pure-menu-item">
<a class="pure-menu-link" href="/post/"><i class='fa fa-list fa-fw'></i>Posts</a>
</li>
<li class="pure-menu-item">
<a class="pure-menu-link" href="/about/"><i class='fa fa-user fa-fw'></i>About</a>
</li>
<li class="pure-menu-item">
<a class="pure-menu-link" href="/contact/"><i class='fa fa-phone fa-fw'></i>Contact</a>
</li>
</ul>
</div>
<div class="pure-menu social">
<ul class="pure-menu-list">
</ul>
</div> </div>
<div> <div class="content pure-u-1 pure-u-md-3-4">
<div class="small-print"> <div>
<small></small>
</div> <div class="posts">
<div class="small-print"> <h1 class="content-subhead">30 Jul 2016, 14:02</h1>
<small>Built with&nbsp;<a href="https://gohugo.io/" target="_blank">Hugo</a></small> <section class="post">
<small>Theme&nbsp;<a href="https://github.com/yoshiharuyamashita/blackburn" target="_blank">Blackburn</a></small> <header class="post-header">
</div>
</div>
</div> <a href="https://codersherlock.github.io/post/Cross-Compile-Seafile-2-ARM/" class="post-title">Cross Compile Seafile 2 ARM</a>
<p class="post-meta">
<div id="main">
under
<div class="header">
<h1>Cross Compile Seafile 2 ARM</h1> <a class="post-category post-category-2016-07" href="https://codersherlock.github.io//categories/2016-07">2016-07</a>
<h2></h2>
</div> </p>
<div class="content"> </header>
<div class="post-meta"> <div class="post-share">
<div class="post-share-links">
<div> <h4 style="">Share</h4>
<i class="fa fa-calendar fa-fw"></i>
<time>30 Jul 2016, 14:02</time>
</div>
</div>
</div>
<div class="post-description">
<div>
<i class="fa fa-tags fa-fw"></i>
<a class="post-taxonomy-tag" href="https://codersherlock.github.io/tags/android">android</a>&nbsp;&#47;
<a class="post-taxonomy-tag" href="https://codersherlock.github.io/tags/arm">arm</a>
</div>
</div>
<h1 id="cross-compile-seafile-to-arm-platform">Cross Compile Seafile to ARM platform</h1> <h1 id="cross-compile-seafile-to-arm-platform">Cross Compile Seafile to ARM platform</h1>
@@ -336,45 +210,34 @@ export LDFLAGS=&quot;-Wl,-rpath-link=-I${SYSROOT}/usr/lib -L${SYSROOT}/usr/lib -
<li><a href="http://zwyuan.github.io/2016/07/17/cross-compile-glib-for-android/">zwyuan</a></li> <li><a href="http://zwyuan.github.io/2016/07/17/cross-compile-glib-for-android/">zwyuan</a></li>
</ul> </ul>
</div>
</section>
</div>
<div class="footer">
<div class="pure-menu pure-menu-horizontal pure-menu-open">
<ul>
<li>Powered by <a class="hugo" href="https://gohugo.io/" target="_blank">hugo</a></li>
</ul>
</div>
</div>
<script src="https://codersherlock.github.io//js/all.min.js"></script>
</div>
<div class="prev-next-post pure-g"> </div>
<div class="pure-u-1-24" style="text-align: left;">
</div>
<div class="pure-u-10-24">
</div>
<div class="pure-u-2-24">
&nbsp;
</div>
<div class="pure-u-10-24">
<nav class="next">
<a href="https://codersherlock.github.io/post/Pokemon-Go-Hack/">Pokemon Go Hack</a>
</nav>
</div>
<div class="pure-u-1-24" style="text-align: right;">
<a href="https://codersherlock.github.io/post/Pokemon-Go-Hack/"><i class="fa fa-chevron-right"></i></a>
</div>
</div> </div>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', '', 'auto');
ga('send', 'pageview');
</div>
</div>
</div>
<script src="https://codersherlock.github.io/js/ui.js"></script>
</script>
</body> </body>
</html> </html>
+88 -231
View File
@@ -1,213 +1,87 @@
<!DOCTYPE html> <!doctype html>
<html lang="en"> <html lang="en">
<head> <head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content=""> <title>Pokemon Go Hack &middot; Mil años de solitario</title>
<meta name="generator" content="Hugo 0.16" />
<title>Pokemon Go Hack &middot; Mil años de solitario</title> <meta name="description" content="">
<meta name="generator" content="Hugo 0.16" />
<meta name="twitter:card" content="summary">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/pure-min.css">
<meta name="twitter:title" content="Pokemon Go Hack &middot; Mil años de solitario">
<meta name="twitter:description" content="">
<!--[if lte IE 8]> <meta property="og:type" content="article">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/grids-responsive-old-ie-min.css"> <meta property="og:title" content="Pokemon Go Hack &middot; Mil años de solitario">
<![endif]--> <meta property="og:description" content="">
<!--[if gt IE 8]><!-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/grids-responsive-min.css">
<!--<![endif]-->
<!--[if lte IE 8]> <link href='//fonts.googleapis.com/css?family=Source+Sans+Pro:400,700|Oxygen:400,700' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="/css/side-menu-old-ie.css"> <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/pure-min.css">
<![endif]--> <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/grids-responsive-min.css">
<!--[if gt IE 8]><!-->
<link rel="stylesheet" href="/css/side-menu.css">
<!--<![endif]-->
<link rel="stylesheet" href="/css/blackburn.css"> <link rel="stylesheet" href="https://codersherlock.github.io//css/all.min.css">
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
<link href="https://fonts.googleapis.com/css?family=Raleway" rel="stylesheet" type="text/css">
<link rel="shortcut icon" href="https://codersherlock.github.io/img/favicon.ico" type="image/x-icon" />
<link rel="alternate" type="application/rss+xml" title="Mil años de solitario" href="https://codersherlock.github.io//index.xml" />
</head> </head>
<body> <body>
<div id="layout">
<a href="#menu" id="menuLink" class="menu-link">
<span></span>
</a>
<div id="menu">
<div id="layout" class="pure-g">
<div class="sidebar pure-u-1 pure-u-md-1-4">
<div class="header">
<hgroup>
<h1 class="brand-title"><a href="https://codersherlock.github.io/">Mil años de solitario</a></h1>
<h2 class="brand-tagline"> A boy who can&#39;t step into academia </h2>
</hgroup>
<div class="pure-menu"> <nav class="nav">
<ul class="pure-menu-list"> <ul class="nav-list">
<li class="pure-menu-item"> <li class="nav-item">
<a class="pure-menu-link" href="/"><i class='fa fa-home fa-fw'></i>Home</a> <a class="pure-button" href="https://codersherlock.github.io//index.xml"><i class="fa fa-rss"></i> rss</a>
</li>
</li> </ul>
</nav>
</div>
<li class="pure-menu-item">
<a class="pure-menu-link" href="/post/"><i class='fa fa-list fa-fw'></i>Posts</a>
</li>
<li class="pure-menu-item">
<a class="pure-menu-link" href="/about/"><i class='fa fa-user fa-fw'></i>About</a>
</li>
<li class="pure-menu-item">
<a class="pure-menu-link" href="/contact/"><i class='fa fa-phone fa-fw'></i>Contact</a>
</li>
</ul>
</div>
<div class="pure-menu social">
<ul class="pure-menu-list">
</ul>
</div> </div>
<div> <div class="content pure-u-1 pure-u-md-3-4">
<div class="small-print"> <div>
<small></small>
</div> <div class="posts">
<div class="small-print"> <h1 class="content-subhead">30 Jul 2016, 18:10</h1>
<small>Built with&nbsp;<a href="https://gohugo.io/" target="_blank">Hugo</a></small> <section class="post">
<small>Theme&nbsp;<a href="https://github.com/yoshiharuyamashita/blackburn" target="_blank">Blackburn</a></small> <header class="post-header">
</div>
</div>
</div> <a href="https://codersherlock.github.io/post/Pokemon-Go-Hack/" class="post-title">Pokemon Go Hack</a>
<p class="post-meta">
<div id="main">
under
<div class="header">
<h1>Pokemon Go Hack</h1> <a class="post-category post-category-2016-07" href="https://codersherlock.github.io//categories/2016-07">2016-07</a>
<h2></h2>
</div> </p>
<div class="content"> </header>
<div class="post-meta"> <div class="post-share">
<div class="post-share-links">
<div> <h4 style="">Share</h4>
<i class="fa fa-calendar fa-fw"></i>
<time>30 Jul 2016, 18:10</time>
</div>
</div>
</div>
<div class="post-description">
<div>
<i class="fa fa-tags fa-fw"></i>
<a class="post-taxonomy-tag" href="https://codersherlock.github.io/tags/hack">hack</a>&nbsp;&#47;
<a class="post-taxonomy-tag" href="https://codersherlock.github.io/tags/github">github</a>
</div>
</div>
<h1 id="catch-them-all-until-bored">Catch them all until bored</h1> <h1 id="catch-them-all-until-bored">Catch them all until bored</h1>
@@ -226,51 +100,34 @@ Anyway, after coming back, I think I write too much on useless words, so let me
-[ ] Pokemon Predict (Thanks to Pokevision&rsquo;s idea) -[ ] Pokemon Predict (Thanks to Pokevision&rsquo;s idea)
-[ ] Become a Pokemon Master</p> -[ ] Become a Pokemon Master</p>
</div>
</section>
</div>
<div class="footer">
<div class="pure-menu pure-menu-horizontal pure-menu-open">
<ul>
<li>Powered by <a class="hugo" href="https://gohugo.io/" target="_blank">hugo</a></li>
</ul>
</div>
</div>
<script src="https://codersherlock.github.io//js/all.min.js"></script>
</div>
<div class="prev-next-post pure-g"> </div>
<div class="pure-u-1-24" style="text-align: left;">
<a href="https://codersherlock.github.io/post/Cross-Compile-Seafile-2-ARM/"><i class="fa fa-chevron-left"></i></a>
</div>
<div class="pure-u-10-24">
<nav class="prev">
<a href="https://codersherlock.github.io/post/Cross-Compile-Seafile-2-ARM/">Cross Compile Seafile 2 ARM</a>
</nav>
</div>
<div class="pure-u-2-24">
&nbsp;
</div>
<div class="pure-u-10-24">
<nav class="next">
<a href="https://codersherlock.github.io/post/Cross-Compile-RSync-ARM/">Cross Compile RSync ARM</a>
</nav>
</div>
<div class="pure-u-1-24" style="text-align: right;">
<a href="https://codersherlock.github.io/post/Cross-Compile-RSync-ARM/"><i class="fa fa-chevron-right"></i></a>
</div>
</div> </div>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', '', 'auto');
ga('send', 'pageview');
</div>
</div>
</div>
<script src="https://codersherlock.github.io/js/ui.js"></script>
</script>
</body> </body>
</html> </html>
+316 -190
View File
@@ -1,213 +1,339 @@
<!DOCTYPE html> <!doctype html>
<html lang="en"> <html lang="en">
<head> <head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="A boy who can&#39;t step into academia"> <title>Posts &middot; Mil años de solitario</title>
<meta name="generator" content="Hugo 0.16" />
<title>Posts &middot; Mil años de solitario</title> <meta name="description" content="A boy who can&#39;t step into academia">
<meta name="generator" content="Hugo 0.16" />
<meta name="twitter:card" content="summary">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/pure-min.css">
<meta name="twitter:title" content="Posts &middot; Mil años de solitario">
<meta name="twitter:description" content="A boy who can&#39;t step into academia">
<!--[if lte IE 8]> <meta property="og:type" content="article">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/grids-responsive-old-ie-min.css"> <meta property="og:title" content="Posts &middot; Mil años de solitario">
<![endif]--> <meta property="og:description" content="A boy who can&#39;t step into academia">
<!--[if gt IE 8]><!-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/grids-responsive-min.css">
<!--<![endif]-->
<!--[if lte IE 8]> <link href='//fonts.googleapis.com/css?family=Source+Sans+Pro:400,700|Oxygen:400,700' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="/css/side-menu-old-ie.css"> <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/pure-min.css">
<![endif]--> <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/grids-responsive-min.css">
<!--[if gt IE 8]><!-->
<link rel="stylesheet" href="/css/side-menu.css">
<!--<![endif]-->
<link rel="stylesheet" href="/css/blackburn.css"> <link rel="stylesheet" href="https://codersherlock.github.io//css/all.min.css">
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
<link href="https://fonts.googleapis.com/css?family=Raleway" rel="stylesheet" type="text/css">
<link rel="alternate" type="application/rss+xml" title="Mil años de solitario" href="https://CoderSherlock.github.io/post/index.xml" />
<link rel="shortcut icon" href="https://codersherlock.github.io/img/favicon.ico" type="image/x-icon" />
<link rel="alternate" type="application/rss+xml" title="Mil años de solitario" href="https://codersherlock.github.io//index.xml" />
</head> </head>
<body> <body>
<div id="layout">
<a href="#menu" id="menuLink" class="menu-link">
<span></span>
</a>
<div id="menu">
<div id="layout" class="pure-g">
<div class="sidebar pure-u-1 pure-u-md-1-4">
<div class="header">
<hgroup>
<h1 class="brand-title"><a href="https://codersherlock.github.io/">Mil años de solitario</a></h1>
<h2 class="brand-tagline"> A boy who can&#39;t step into academia </h2>
</hgroup>
<div class="pure-menu"> <nav class="nav">
<ul class="pure-menu-list"> <ul class="nav-list">
<li class="pure-menu-item"> <li class="nav-item">
<a class="pure-menu-link" href="/"><i class='fa fa-home fa-fw'></i>Home</a> <a class="pure-button" href="https://codersherlock.github.io//index.xml"><i class="fa fa-rss"></i> rss</a>
</li>
</li> </ul>
</nav>
</div>
<li class="pure-menu-item">
<a class="pure-menu-link" href="/post/"><i class='fa fa-list fa-fw'></i>Posts</a>
</li>
<li class="pure-menu-item">
<a class="pure-menu-link" href="/about/"><i class='fa fa-user fa-fw'></i>About</a>
</li>
<li class="pure-menu-item">
<a class="pure-menu-link" href="/contact/"><i class='fa fa-phone fa-fw'></i>Contact</a>
</li>
</ul>
</div>
<div class="pure-menu social">
<ul class="pure-menu-list">
<li class="pure-menu-item">
<a class="pure-menu-link" href="https://CoderSherlock.github.io/post/index.xml"><i class="fa fa-rss fa-fw"></i>RSS</a>
</li>
</ul>
</div> </div>
<div> <div class="content pure-u-1 pure-u-md-3-4">
<div class="small-print"> <div>
<small></small>
</div> <div class="posts">
<div class="small-print">
<small>Built with&nbsp;<a href="https://gohugo.io/" target="_blank">Hugo</a></small> <h1 class="content-subhead">15 Aug 2016, 15:44</h1>
<small>Theme&nbsp;<a href="https://github.com/yoshiharuyamashita/blackburn" target="_blank">Blackburn</a></small> <section class="post">
</div> <header class="post-header">
<a href="https://codersherlock.github.io/post/Cross-Compile-RSync-ARM/" class="post-title">Cross Compile RSync ARM</a>
<p class="post-meta">
under
<a class="post-category post-category-2016-08" href="https://codersherlock.github.io//categories/2016-08">2016-08</a>
</p>
</header>
<div class="post-description">
<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&amp;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 &quot;./ssh&quot; {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>
</div>
</section>
<h1 class="content-subhead">30 Jul 2016, 18:10</h1>
<section class="post">
<header class="post-header">
<a href="https://codersherlock.github.io/post/Pokemon-Go-Hack/" class="post-title">Pokemon Go Hack</a>
<p class="post-meta">
under
<a class="post-category post-category-2016-07" href="https://codersherlock.github.io//categories/2016-07">2016-07</a>
</p>
</header>
<div class="post-description">
<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&rsquo;t become popular at my country. But time flies, I break through the wall, and come to a free land which can play Niantic&rsquo;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&rsquo;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&rsquo;s idea)
-[ ] Become a Pokemon Master</p>
</div>
</section>
<h1 class="content-subhead">30 Jul 2016, 14:02</h1>
<section class="post">
<header class="post-header">
<a href="https://codersherlock.github.io/post/Cross-Compile-Seafile-2-ARM/" class="post-title">Cross Compile Seafile 2 ARM</a>
<p class="post-meta">
under
<a class="post-category post-category-2016-07" href="https://codersherlock.github.io//categories/2016-07">2016-07</a>
</p>
</header>
<div class="post-description">
<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&rsquo;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&rsquo;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&rsquo;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]-&gt; 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=&quot;--sysroot=${SYSROOT} -I${SYSROOT}/usr/include -I${PREFIX}/include -fPIE -DANDROID -Wno-multichar&quot;
export CXXFLAGS=${CFLAGS}
export CPPFLAGS=&quot;--sysroot=${SYSROOT} -I${SYSROOT}/usr/include -I${NDK_TOOLCHAIN}/include/c++/ -DANDROID -DNO_XMALLOC -mandroid&quot;
export LIBS=&quot;-lc -lstdc++ -ld&quot;
export LDFLAGS=&quot;-Wl,-rpath-link=-I${SYSROOT}/usr/lib -L${SYSROOT}/usr/lib -L${PREFIX}/lib -L${NDK_TOOLCHAIN}/lib&quot;
</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>
</div>
</section>
</div>
<div class="footer">
<div class="pure-menu pure-menu-horizontal pure-menu-open">
<ul>
<li>Powered by <a class="hugo" href="https://gohugo.io/" target="_blank">hugo</a></li>
</ul>
</div>
</div>
<script src="https://codersherlock.github.io//js/all.min.js"></script>
</div>
</div>
</div> </div>
</div> <script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
<div id="main"> m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
<div class="header">
<h1>Posts</h1>
</div>
<div class="content">
<h2>2016</h2>
<ul>
<li><time>15 Aug 2016, 15:44</time> - <a href="https://codersherlock.github.io/post/Cross-Compile-RSync-ARM/">Cross Compile RSync ARM</a></li>
<li><time>30 Jul 2016, 18:10</time> - <a href="https://codersherlock.github.io/post/Pokemon-Go-Hack/">Pokemon Go Hack</a></li>
<li><time>30 Jul 2016, 14:02</time> - <a href="https://codersherlock.github.io/post/Cross-Compile-Seafile-2-ARM/">Cross Compile Seafile 2 ARM</a></li>
</ul>
</div>
</div>
</div>
<script src="https://codersherlock.github.io/js/ui.js"></script>
ga('create', '', 'auto');
ga('send', 'pageview');
</script>
</body> </body>
</html> </html>
+277 -266
View File
@@ -1,289 +1,300 @@
<!DOCTYPE html> <!doctype html>
<html lang="en"> <html lang="en">
<head> <head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="A boy who can&#39;t step into academia"> <title>Android &middot; Mil años de solitario</title>
<meta name="generator" content="Hugo 0.16" />
<title>Android &middot; Mil años de solitario</title> <meta name="description" content="A boy who can&#39;t step into academia">
<meta name="generator" content="Hugo 0.16" />
<meta name="twitter:card" content="summary">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/pure-min.css">
<meta name="twitter:title" content="Android &middot; Mil años de solitario">
<meta name="twitter:description" content="A boy who can&#39;t step into academia">
<!--[if lte IE 8]> <meta property="og:type" content="article">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/grids-responsive-old-ie-min.css"> <meta property="og:title" content="Android &middot; Mil años de solitario">
<![endif]--> <meta property="og:description" content="A boy who can&#39;t step into academia">
<!--[if gt IE 8]><!-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/grids-responsive-min.css">
<!--<![endif]-->
<!--[if lte IE 8]> <link href='//fonts.googleapis.com/css?family=Source+Sans+Pro:400,700|Oxygen:400,700' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="/css/side-menu-old-ie.css"> <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/pure-min.css">
<![endif]--> <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/grids-responsive-min.css">
<!--[if gt IE 8]><!-->
<link rel="stylesheet" href="/css/side-menu.css">
<!--<![endif]-->
<link rel="stylesheet" href="/css/blackburn.css"> <link rel="stylesheet" href="https://codersherlock.github.io//css/all.min.css">
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
<link href="https://fonts.googleapis.com/css?family=Raleway" rel="stylesheet" type="text/css">
<link rel="alternate" type="application/rss+xml" title="Mil años de solitario" href="https://CoderSherlock.github.io/tags/android/index.xml" />
<link rel="shortcut icon" href="https://codersherlock.github.io/img/favicon.ico" type="image/x-icon" />
<link rel="alternate" type="application/rss+xml" title="Mil años de solitario" href="https://codersherlock.github.io//index.xml" />
</head> </head>
<body> <body>
<div id="layout">
<a href="#menu" id="menuLink" class="menu-link">
<span></span>
</a>
<div id="menu">
<div id="layout" class="pure-g">
<div class="sidebar pure-u-1 pure-u-md-1-4">
<div class="header">
<hgroup>
<h1 class="brand-title"><a href="https://codersherlock.github.io/">Mil años de solitario</a></h1>
<h2 class="brand-tagline"> A boy who can&#39;t step into academia </h2>
</hgroup>
<div class="pure-menu"> <nav class="nav">
<ul class="pure-menu-list"> <ul class="nav-list">
<li class="pure-menu-item"> <li class="nav-item">
<a class="pure-menu-link" href="/"><i class='fa fa-home fa-fw'></i>Home</a> <a class="pure-button" href="https://codersherlock.github.io//index.xml"><i class="fa fa-rss"></i> rss</a>
</li>
</li> </ul>
</nav>
</div>
<li class="pure-menu-item">
<a class="pure-menu-link" href="/post/"><i class='fa fa-list fa-fw'></i>Posts</a>
</li>
<li class="pure-menu-item">
<a class="pure-menu-link" href="/about/"><i class='fa fa-user fa-fw'></i>About</a>
</li>
<li class="pure-menu-item">
<a class="pure-menu-link" href="/contact/"><i class='fa fa-phone fa-fw'></i>Contact</a>
</li>
</ul>
</div>
<div class="pure-menu social">
<ul class="pure-menu-list">
<li class="pure-menu-item">
<a class="pure-menu-link" href="https://CoderSherlock.github.io/tags/android/index.xml"><i class="fa fa-rss fa-fw"></i>RSS</a>
</li>
</ul>
</div> </div>
<div> <div class="content pure-u-1 pure-u-md-3-4">
<div class="small-print"> <div>
<small></small>
</div> <div class="posts">
<div class="small-print">
<small>Built with&nbsp;<a href="https://gohugo.io/" target="_blank">Hugo</a></small> <h1 class="content-subhead">15 Aug 2016, 15:44</h1>
<small>Theme&nbsp;<a href="https://github.com/yoshiharuyamashita/blackburn" target="_blank">Blackburn</a></small> <section class="post">
</div> <header class="post-header">
<a href="https://codersherlock.github.io/post/Cross-Compile-RSync-ARM/" class="post-title">Cross Compile RSync ARM</a>
<p class="post-meta">
under
<a class="post-category post-category-2016-08" href="https://codersherlock.github.io//categories/2016-08">2016-08</a>
</p>
</header>
<div class="post-description">
<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&amp;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 &quot;./ssh&quot; {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>
</div>
</section>
<h1 class="content-subhead">30 Jul 2016, 14:02</h1>
<section class="post">
<header class="post-header">
<a href="https://codersherlock.github.io/post/Cross-Compile-Seafile-2-ARM/" class="post-title">Cross Compile Seafile 2 ARM</a>
<p class="post-meta">
under
<a class="post-category post-category-2016-07" href="https://codersherlock.github.io//categories/2016-07">2016-07</a>
</p>
</header>
<div class="post-description">
<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&rsquo;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&rsquo;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&rsquo;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]-&gt; 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=&quot;--sysroot=${SYSROOT} -I${SYSROOT}/usr/include -I${PREFIX}/include -fPIE -DANDROID -Wno-multichar&quot;
export CXXFLAGS=${CFLAGS}
export CPPFLAGS=&quot;--sysroot=${SYSROOT} -I${SYSROOT}/usr/include -I${NDK_TOOLCHAIN}/include/c++/ -DANDROID -DNO_XMALLOC -mandroid&quot;
export LIBS=&quot;-lc -lstdc++ -ld&quot;
export LDFLAGS=&quot;-Wl,-rpath-link=-I${SYSROOT}/usr/lib -L${SYSROOT}/usr/lib -L${PREFIX}/lib -L${NDK_TOOLCHAIN}/lib&quot;
</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>
</div>
</section>
</div>
<div class="footer">
<div class="pure-menu pure-menu-horizontal pure-menu-open">
<ul>
<li>Powered by <a class="hugo" href="https://gohugo.io/" target="_blank">hugo</a></li>
</ul>
</div>
</div>
<script src="https://codersherlock.github.io//js/all.min.js"></script>
</div>
</div>
</div> </div>
</div> <script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
<div id="main"> m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
<div class="header">
<h1>Android</h1>
</div>
<div class="content">
<article>
<header>
<h2><a href="https://codersherlock.github.io/post/Cross-Compile-RSync-ARM/">Cross Compile RSync ARM</a></h2>
<div class="post-meta">
<div>
<i class="fa fa-calendar fa-fw"></i>
<time>15 Aug 2016, 15:44</time>
</div>
<div>
<i class="fa fa-tags fa-fw"></i>
<a class="post-taxonomy-tag" href="https://codersherlock.github.io/tags/android">android</a>&nbsp;&#47;
<a class="post-taxonomy-tag" href="https://codersherlock.github.io/tags/arm">arm</a>
</div>
</div>
</header>
<p>
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.
</p>
<footer>
<a href="/post/Cross-Compile-RSync-ARM/">Read more<i class="fa fa-angle-double-right fa-fw"></i></a>
</footer>
</article>
<article>
<header>
<h2><a href="https://codersherlock.github.io/post/Cross-Compile-Seafile-2-ARM/">Cross Compile Seafile 2 ARM</a></h2>
<div class="post-meta">
<div>
<i class="fa fa-calendar fa-fw"></i>
<time>30 Jul 2016, 14:02</time>
</div>
<div>
<i class="fa fa-tags fa-fw"></i>
<a class="post-taxonomy-tag" href="https://codersherlock.github.io/tags/android">android</a>&nbsp;&#47;
<a class="post-taxonomy-tag" href="https://codersherlock.github.io/tags/arm">arm</a>
</div>
</div>
</header>
<p>
Cross Compile Seafile to ARM platform Motivation This project is working for delta sync from mobile to server. Currently, there&rsquo;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&rsquo;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>
<footer>
<a href="/post/Cross-Compile-Seafile-2-ARM/">Read more<i class="fa fa-angle-double-right fa-fw"></i></a>
</footer>
</article>
</div>
</div>
</div>
<script src="https://codersherlock.github.io/js/ui.js"></script>
ga('create', '', 'auto');
ga('send', 'pageview');
</script>
</body> </body>
</html> </html>
+277 -266
View File
@@ -1,289 +1,300 @@
<!DOCTYPE html> <!doctype html>
<html lang="en"> <html lang="en">
<head> <head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="A boy who can&#39;t step into academia"> <title>Arm &middot; Mil años de solitario</title>
<meta name="generator" content="Hugo 0.16" />
<title>Arm &middot; Mil años de solitario</title> <meta name="description" content="A boy who can&#39;t step into academia">
<meta name="generator" content="Hugo 0.16" />
<meta name="twitter:card" content="summary">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/pure-min.css">
<meta name="twitter:title" content="Arm &middot; Mil años de solitario">
<meta name="twitter:description" content="A boy who can&#39;t step into academia">
<!--[if lte IE 8]> <meta property="og:type" content="article">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/grids-responsive-old-ie-min.css"> <meta property="og:title" content="Arm &middot; Mil años de solitario">
<![endif]--> <meta property="og:description" content="A boy who can&#39;t step into academia">
<!--[if gt IE 8]><!-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/grids-responsive-min.css">
<!--<![endif]-->
<!--[if lte IE 8]> <link href='//fonts.googleapis.com/css?family=Source+Sans+Pro:400,700|Oxygen:400,700' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="/css/side-menu-old-ie.css"> <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/pure-min.css">
<![endif]--> <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/grids-responsive-min.css">
<!--[if gt IE 8]><!-->
<link rel="stylesheet" href="/css/side-menu.css">
<!--<![endif]-->
<link rel="stylesheet" href="/css/blackburn.css"> <link rel="stylesheet" href="https://codersherlock.github.io//css/all.min.css">
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
<link href="https://fonts.googleapis.com/css?family=Raleway" rel="stylesheet" type="text/css">
<link rel="alternate" type="application/rss+xml" title="Mil años de solitario" href="https://CoderSherlock.github.io/tags/arm/index.xml" />
<link rel="shortcut icon" href="https://codersherlock.github.io/img/favicon.ico" type="image/x-icon" />
<link rel="alternate" type="application/rss+xml" title="Mil años de solitario" href="https://codersherlock.github.io//index.xml" />
</head> </head>
<body> <body>
<div id="layout">
<a href="#menu" id="menuLink" class="menu-link">
<span></span>
</a>
<div id="menu">
<div id="layout" class="pure-g">
<div class="sidebar pure-u-1 pure-u-md-1-4">
<div class="header">
<hgroup>
<h1 class="brand-title"><a href="https://codersherlock.github.io/">Mil años de solitario</a></h1>
<h2 class="brand-tagline"> A boy who can&#39;t step into academia </h2>
</hgroup>
<div class="pure-menu"> <nav class="nav">
<ul class="pure-menu-list"> <ul class="nav-list">
<li class="pure-menu-item"> <li class="nav-item">
<a class="pure-menu-link" href="/"><i class='fa fa-home fa-fw'></i>Home</a> <a class="pure-button" href="https://codersherlock.github.io//index.xml"><i class="fa fa-rss"></i> rss</a>
</li>
</li> </ul>
</nav>
</div>
<li class="pure-menu-item">
<a class="pure-menu-link" href="/post/"><i class='fa fa-list fa-fw'></i>Posts</a>
</li>
<li class="pure-menu-item">
<a class="pure-menu-link" href="/about/"><i class='fa fa-user fa-fw'></i>About</a>
</li>
<li class="pure-menu-item">
<a class="pure-menu-link" href="/contact/"><i class='fa fa-phone fa-fw'></i>Contact</a>
</li>
</ul>
</div>
<div class="pure-menu social">
<ul class="pure-menu-list">
<li class="pure-menu-item">
<a class="pure-menu-link" href="https://CoderSherlock.github.io/tags/arm/index.xml"><i class="fa fa-rss fa-fw"></i>RSS</a>
</li>
</ul>
</div> </div>
<div> <div class="content pure-u-1 pure-u-md-3-4">
<div class="small-print"> <div>
<small></small>
</div> <div class="posts">
<div class="small-print">
<small>Built with&nbsp;<a href="https://gohugo.io/" target="_blank">Hugo</a></small> <h1 class="content-subhead">15 Aug 2016, 15:44</h1>
<small>Theme&nbsp;<a href="https://github.com/yoshiharuyamashita/blackburn" target="_blank">Blackburn</a></small> <section class="post">
</div> <header class="post-header">
<a href="https://codersherlock.github.io/post/Cross-Compile-RSync-ARM/" class="post-title">Cross Compile RSync ARM</a>
<p class="post-meta">
under
<a class="post-category post-category-2016-08" href="https://codersherlock.github.io//categories/2016-08">2016-08</a>
</p>
</header>
<div class="post-description">
<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&amp;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 &quot;./ssh&quot; {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>
</div>
</section>
<h1 class="content-subhead">30 Jul 2016, 14:02</h1>
<section class="post">
<header class="post-header">
<a href="https://codersherlock.github.io/post/Cross-Compile-Seafile-2-ARM/" class="post-title">Cross Compile Seafile 2 ARM</a>
<p class="post-meta">
under
<a class="post-category post-category-2016-07" href="https://codersherlock.github.io//categories/2016-07">2016-07</a>
</p>
</header>
<div class="post-description">
<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&rsquo;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&rsquo;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&rsquo;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]-&gt; 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=&quot;--sysroot=${SYSROOT} -I${SYSROOT}/usr/include -I${PREFIX}/include -fPIE -DANDROID -Wno-multichar&quot;
export CXXFLAGS=${CFLAGS}
export CPPFLAGS=&quot;--sysroot=${SYSROOT} -I${SYSROOT}/usr/include -I${NDK_TOOLCHAIN}/include/c++/ -DANDROID -DNO_XMALLOC -mandroid&quot;
export LIBS=&quot;-lc -lstdc++ -ld&quot;
export LDFLAGS=&quot;-Wl,-rpath-link=-I${SYSROOT}/usr/lib -L${SYSROOT}/usr/lib -L${PREFIX}/lib -L${NDK_TOOLCHAIN}/lib&quot;
</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>
</div>
</section>
</div>
<div class="footer">
<div class="pure-menu pure-menu-horizontal pure-menu-open">
<ul>
<li>Powered by <a class="hugo" href="https://gohugo.io/" target="_blank">hugo</a></li>
</ul>
</div>
</div>
<script src="https://codersherlock.github.io//js/all.min.js"></script>
</div>
</div>
</div> </div>
</div> <script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
<div id="main"> m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
<div class="header">
<h1>Arm</h1>
</div>
<div class="content">
<article>
<header>
<h2><a href="https://codersherlock.github.io/post/Cross-Compile-RSync-ARM/">Cross Compile RSync ARM</a></h2>
<div class="post-meta">
<div>
<i class="fa fa-calendar fa-fw"></i>
<time>15 Aug 2016, 15:44</time>
</div>
<div>
<i class="fa fa-tags fa-fw"></i>
<a class="post-taxonomy-tag" href="https://codersherlock.github.io/tags/android">android</a>&nbsp;&#47;
<a class="post-taxonomy-tag" href="https://codersherlock.github.io/tags/arm">arm</a>
</div>
</div>
</header>
<p>
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.
</p>
<footer>
<a href="/post/Cross-Compile-RSync-ARM/">Read more<i class="fa fa-angle-double-right fa-fw"></i></a>
</footer>
</article>
<article>
<header>
<h2><a href="https://codersherlock.github.io/post/Cross-Compile-Seafile-2-ARM/">Cross Compile Seafile 2 ARM</a></h2>
<div class="post-meta">
<div>
<i class="fa fa-calendar fa-fw"></i>
<time>30 Jul 2016, 14:02</time>
</div>
<div>
<i class="fa fa-tags fa-fw"></i>
<a class="post-taxonomy-tag" href="https://codersherlock.github.io/tags/android">android</a>&nbsp;&#47;
<a class="post-taxonomy-tag" href="https://codersherlock.github.io/tags/arm">arm</a>
</div>
</div>
</header>
<p>
Cross Compile Seafile to ARM platform Motivation This project is working for delta sync from mobile to server. Currently, there&rsquo;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&rsquo;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>
<footer>
<a href="/post/Cross-Compile-Seafile-2-ARM/">Read more<i class="fa fa-angle-double-right fa-fw"></i></a>
</footer>
</article>
</div>
</div>
</div>
<script src="https://codersherlock.github.io/js/ui.js"></script>
ga('create', '', 'auto');
ga('send', 'pageview');
</script>
</body> </body>
</html> </html>
+102 -221
View File
@@ -1,244 +1,125 @@
<!DOCTYPE html> <!doctype html>
<html lang="en"> <html lang="en">
<head> <head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="A boy who can&#39;t step into academia"> <title>Github &middot; Mil años de solitario</title>
<meta name="generator" content="Hugo 0.16" />
<title>Github &middot; Mil años de solitario</title> <meta name="description" content="A boy who can&#39;t step into academia">
<meta name="generator" content="Hugo 0.16" />
<meta name="twitter:card" content="summary">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/pure-min.css">
<meta name="twitter:title" content="Github &middot; Mil años de solitario">
<meta name="twitter:description" content="A boy who can&#39;t step into academia">
<!--[if lte IE 8]> <meta property="og:type" content="article">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/grids-responsive-old-ie-min.css"> <meta property="og:title" content="Github &middot; Mil años de solitario">
<![endif]--> <meta property="og:description" content="A boy who can&#39;t step into academia">
<!--[if gt IE 8]><!-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/grids-responsive-min.css">
<!--<![endif]-->
<!--[if lte IE 8]> <link href='//fonts.googleapis.com/css?family=Source+Sans+Pro:400,700|Oxygen:400,700' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="/css/side-menu-old-ie.css"> <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/pure-min.css">
<![endif]--> <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/grids-responsive-min.css">
<!--[if gt IE 8]><!-->
<link rel="stylesheet" href="/css/side-menu.css">
<!--<![endif]-->
<link rel="stylesheet" href="/css/blackburn.css"> <link rel="stylesheet" href="https://codersherlock.github.io//css/all.min.css">
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
<link href="https://fonts.googleapis.com/css?family=Raleway" rel="stylesheet" type="text/css">
<link rel="alternate" type="application/rss+xml" title="Mil años de solitario" href="https://CoderSherlock.github.io/tags/github/index.xml" />
<link rel="shortcut icon" href="https://codersherlock.github.io/img/favicon.ico" type="image/x-icon" />
<link rel="alternate" type="application/rss+xml" title="Mil años de solitario" href="https://codersherlock.github.io//index.xml" />
</head> </head>
<body> <body>
<div id="layout">
<a href="#menu" id="menuLink" class="menu-link">
<span></span>
</a>
<div id="menu">
<div id="layout" class="pure-g">
<div class="sidebar pure-u-1 pure-u-md-1-4">
<div class="header">
<hgroup>
<h1 class="brand-title"><a href="https://codersherlock.github.io/">Mil años de solitario</a></h1>
<h2 class="brand-tagline"> A boy who can&#39;t step into academia </h2>
</hgroup>
<div class="pure-menu"> <nav class="nav">
<ul class="pure-menu-list"> <ul class="nav-list">
<li class="pure-menu-item"> <li class="nav-item">
<a class="pure-menu-link" href="/"><i class='fa fa-home fa-fw'></i>Home</a> <a class="pure-button" href="https://codersherlock.github.io//index.xml"><i class="fa fa-rss"></i> rss</a>
</li>
</li> </ul>
</nav>
</div>
<li class="pure-menu-item">
<a class="pure-menu-link" href="/post/"><i class='fa fa-list fa-fw'></i>Posts</a>
</li>
<li class="pure-menu-item">
<a class="pure-menu-link" href="/about/"><i class='fa fa-user fa-fw'></i>About</a>
</li>
<li class="pure-menu-item">
<a class="pure-menu-link" href="/contact/"><i class='fa fa-phone fa-fw'></i>Contact</a>
</li>
</ul>
</div>
<div class="pure-menu social">
<ul class="pure-menu-list">
<li class="pure-menu-item">
<a class="pure-menu-link" href="https://CoderSherlock.github.io/tags/github/index.xml"><i class="fa fa-rss fa-fw"></i>RSS</a>
</li>
</ul>
</div> </div>
<div> <div class="content pure-u-1 pure-u-md-3-4">
<div class="small-print"> <div>
<small></small>
</div> <div class="posts">
<div class="small-print">
<small>Built with&nbsp;<a href="https://gohugo.io/" target="_blank">Hugo</a></small> <h1 class="content-subhead">30 Jul 2016, 18:10</h1>
<small>Theme&nbsp;<a href="https://github.com/yoshiharuyamashita/blackburn" target="_blank">Blackburn</a></small> <section class="post">
</div> <header class="post-header">
<a href="https://codersherlock.github.io/post/Pokemon-Go-Hack/" class="post-title">Pokemon Go Hack</a>
<p class="post-meta">
under
<a class="post-category post-category-2016-07" href="https://codersherlock.github.io//categories/2016-07">2016-07</a>
</p>
</header>
<div class="post-description">
<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&rsquo;t become popular at my country. But time flies, I break through the wall, and come to a free land which can play Niantic&rsquo;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&rsquo;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&rsquo;s idea)
-[ ] Become a Pokemon Master</p>
</div>
</section>
</div>
<div class="footer">
<div class="pure-menu pure-menu-horizontal pure-menu-open">
<ul>
<li>Powered by <a class="hugo" href="https://gohugo.io/" target="_blank">hugo</a></li>
</ul>
</div>
</div>
<script src="https://codersherlock.github.io//js/all.min.js"></script>
</div>
</div>
</div> </div>
</div> <script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
<div id="main"> m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
<div class="header">
<h1>Github</h1>
</div>
<div class="content">
<article>
<header>
<h2><a href="https://codersherlock.github.io/post/Pokemon-Go-Hack/">Pokemon Go Hack</a></h2>
<div class="post-meta">
<div>
<i class="fa fa-calendar fa-fw"></i>
<time>30 Jul 2016, 18:10</time>
</div>
<div>
<i class="fa fa-tags fa-fw"></i>
<a class="post-taxonomy-tag" href="https://codersherlock.github.io/tags/hack">hack</a>&nbsp;&#47;
<a class="post-taxonomy-tag" href="https://codersherlock.github.io/tags/github">github</a>
</div>
</div>
</header>
<p>
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.
</p>
<footer>
<a href="/post/Pokemon-Go-Hack/">Read more<i class="fa fa-angle-double-right fa-fw"></i></a>
</footer>
</article>
</div>
</div>
</div>
<script src="https://codersherlock.github.io/js/ui.js"></script>
ga('create', '', 'auto');
ga('send', 'pageview');
</script>
</body> </body>
</html> </html>
+102 -221
View File
@@ -1,244 +1,125 @@
<!DOCTYPE html> <!doctype html>
<html lang="en"> <html lang="en">
<head> <head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="A boy who can&#39;t step into academia"> <title>Hack &middot; Mil años de solitario</title>
<meta name="generator" content="Hugo 0.16" />
<title>Hack &middot; Mil años de solitario</title> <meta name="description" content="A boy who can&#39;t step into academia">
<meta name="generator" content="Hugo 0.16" />
<meta name="twitter:card" content="summary">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/pure-min.css">
<meta name="twitter:title" content="Hack &middot; Mil años de solitario">
<meta name="twitter:description" content="A boy who can&#39;t step into academia">
<!--[if lte IE 8]> <meta property="og:type" content="article">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/grids-responsive-old-ie-min.css"> <meta property="og:title" content="Hack &middot; Mil años de solitario">
<![endif]--> <meta property="og:description" content="A boy who can&#39;t step into academia">
<!--[if gt IE 8]><!-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/grids-responsive-min.css">
<!--<![endif]-->
<!--[if lte IE 8]> <link href='//fonts.googleapis.com/css?family=Source+Sans+Pro:400,700|Oxygen:400,700' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="/css/side-menu-old-ie.css"> <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/pure-min.css">
<![endif]--> <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/grids-responsive-min.css">
<!--[if gt IE 8]><!-->
<link rel="stylesheet" href="/css/side-menu.css">
<!--<![endif]-->
<link rel="stylesheet" href="/css/blackburn.css"> <link rel="stylesheet" href="https://codersherlock.github.io//css/all.min.css">
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
<link href="https://fonts.googleapis.com/css?family=Raleway" rel="stylesheet" type="text/css">
<link rel="alternate" type="application/rss+xml" title="Mil años de solitario" href="https://CoderSherlock.github.io/tags/hack/index.xml" />
<link rel="shortcut icon" href="https://codersherlock.github.io/img/favicon.ico" type="image/x-icon" />
<link rel="alternate" type="application/rss+xml" title="Mil años de solitario" href="https://codersherlock.github.io//index.xml" />
</head> </head>
<body> <body>
<div id="layout">
<a href="#menu" id="menuLink" class="menu-link">
<span></span>
</a>
<div id="menu">
<div id="layout" class="pure-g">
<div class="sidebar pure-u-1 pure-u-md-1-4">
<div class="header">
<hgroup>
<h1 class="brand-title"><a href="https://codersherlock.github.io/">Mil años de solitario</a></h1>
<h2 class="brand-tagline"> A boy who can&#39;t step into academia </h2>
</hgroup>
<div class="pure-menu"> <nav class="nav">
<ul class="pure-menu-list"> <ul class="nav-list">
<li class="pure-menu-item"> <li class="nav-item">
<a class="pure-menu-link" href="/"><i class='fa fa-home fa-fw'></i>Home</a> <a class="pure-button" href="https://codersherlock.github.io//index.xml"><i class="fa fa-rss"></i> rss</a>
</li>
</li> </ul>
</nav>
</div>
<li class="pure-menu-item">
<a class="pure-menu-link" href="/post/"><i class='fa fa-list fa-fw'></i>Posts</a>
</li>
<li class="pure-menu-item">
<a class="pure-menu-link" href="/about/"><i class='fa fa-user fa-fw'></i>About</a>
</li>
<li class="pure-menu-item">
<a class="pure-menu-link" href="/contact/"><i class='fa fa-phone fa-fw'></i>Contact</a>
</li>
</ul>
</div>
<div class="pure-menu social">
<ul class="pure-menu-list">
<li class="pure-menu-item">
<a class="pure-menu-link" href="https://CoderSherlock.github.io/tags/hack/index.xml"><i class="fa fa-rss fa-fw"></i>RSS</a>
</li>
</ul>
</div> </div>
<div> <div class="content pure-u-1 pure-u-md-3-4">
<div class="small-print"> <div>
<small></small>
</div> <div class="posts">
<div class="small-print">
<small>Built with&nbsp;<a href="https://gohugo.io/" target="_blank">Hugo</a></small> <h1 class="content-subhead">30 Jul 2016, 18:10</h1>
<small>Theme&nbsp;<a href="https://github.com/yoshiharuyamashita/blackburn" target="_blank">Blackburn</a></small> <section class="post">
</div> <header class="post-header">
<a href="https://codersherlock.github.io/post/Pokemon-Go-Hack/" class="post-title">Pokemon Go Hack</a>
<p class="post-meta">
under
<a class="post-category post-category-2016-07" href="https://codersherlock.github.io//categories/2016-07">2016-07</a>
</p>
</header>
<div class="post-description">
<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&rsquo;t become popular at my country. But time flies, I break through the wall, and come to a free land which can play Niantic&rsquo;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&rsquo;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&rsquo;s idea)
-[ ] Become a Pokemon Master</p>
</div>
</section>
</div>
<div class="footer">
<div class="pure-menu pure-menu-horizontal pure-menu-open">
<ul>
<li>Powered by <a class="hugo" href="https://gohugo.io/" target="_blank">hugo</a></li>
</ul>
</div>
</div>
<script src="https://codersherlock.github.io//js/all.min.js"></script>
</div>
</div>
</div> </div>
</div> <script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
<div id="main"> m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
<div class="header">
<h1>Hack</h1>
</div>
<div class="content">
<article>
<header>
<h2><a href="https://codersherlock.github.io/post/Pokemon-Go-Hack/">Pokemon Go Hack</a></h2>
<div class="post-meta">
<div>
<i class="fa fa-calendar fa-fw"></i>
<time>30 Jul 2016, 18:10</time>
</div>
<div>
<i class="fa fa-tags fa-fw"></i>
<a class="post-taxonomy-tag" href="https://codersherlock.github.io/tags/hack">hack</a>&nbsp;&#47;
<a class="post-taxonomy-tag" href="https://codersherlock.github.io/tags/github">github</a>
</div>
</div>
</header>
<p>
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.
</p>
<footer>
<a href="/post/Pokemon-Go-Hack/">Read more<i class="fa fa-angle-double-right fa-fw"></i></a>
</footer>
</article>
</div>
</div>
</div>
<script src="https://codersherlock.github.io/js/ui.js"></script>
ga('create', '', 'auto');
ga('send', 'pageview');
</script>
</body> </body>
</html> </html>