title: Build/compile Android from source with Superuser privileges
body: <p>following situation - I have got a Single Board Computer with Android support and the android source code from the manufacturer. It works to build an android image from it at all. Unfortunately, it's not rooted by default. I could manage to get a rooted shell. But I also need superuser privileges for the apps and that's the point where I am struggeling.</p>
  
  <p>At first I tried to comment out following lines from <strong>system/extras/su/su.c</strong>:</p>
  
  <pre><code>//if (myuid != AID_ROOT &amp;&amp; myuid != AID_SHELL) {
  //    fprintf(stderr,"su: uid %d not allowed to su\n", myuid);
  //    return 1;
  //}
  
  //if(setgid(gid) || setuid(uid)) {
  //    fprintf(stderr,"su: permission denied\n");
  //    return 1;
  //}
  </code></pre>
  
  <p>As this didn't work, I found this thread here on stackoverflow: <a href="https://stackoverflow.com/questions/5597139/build-android-with-superuser">Build Android with Superuser</a> and tried this part of the suggestion:</p>
  
  <blockquote>
    <p>To embed Superuser.apk in AOSP, you have to fetch and build:</p>
    
    <p>su-binary (e.g. in external/) and stub/remove system/extras/su package.
    Superuser (e.g. in packages/app/)</p>
  </blockquote>
  
  <p>But I am running in errors while building android:</p>
  
  <pre><code>ctarget Dex: core-tests-hostdex
  ../arm-linux-androideabi/bin/ld: out/target/product/.../obj/EXECUTABLES/su_intermediates/su.o: in function deny:external/su-binary-master/su.c:287: error: undefined reference to 'LOGW'
  ../arm-linux-androideabi/bin/ld: out/target/product/.../obj/EXECUTABLES/su_intermediates/su.o: in function allow:external/su-binary-master/su.c:319: error: undefined reference to 'LOGE'
  ../arm-linux-androideabi/bin/ld: out/target/product/.../obj/EXECUTABLES/su_intermediates/su.o: in function allow:external/su-binary-master/su.c:330: error: undefined reference to 'LOGE'
  ../arm-linux-androideabi/bin/ld: out/target/product/.../obj/EXECUTABLES/su_intermediates/su.o: in function allow:external/su-binary-master/su.c:338: error: undefined reference to 'LOGD'
  ../arm-linux-androideabi/bin/ld: out/target/product/.../obj/EXECUTABLES/su_intermediates/su.o: in function allow:external/su-binary-master/su.c:352: error: undefined reference to 'LOGE'
  ../arm-linux-androideabi/bin/ld: out/target/product/.../obj/EXECUTABLES/su_intermediates/su.o: in function main:external/su-binary-master/su.c:440: error: undefined reference to 'LOGE'
  ../arm-linux-androideabi/bin/ld: out/target/product/.../obj/EXECUTABLES/su_intermediates/su.o: in function main:external/su-binary-master/su.c:582: error: undefined reference to 'LOGW'
  ../arm-linux-androideabi/bin/ld: out/target/product/.../obj/EXECUTABLES/su_intermediates/db.o: in function database_check:external/su-binary-master/db.c:31: error: undefined reference to 'LOGD'
  ../arm-linux-androideabi/bin/ld: out/target/product/.../obj/EXECUTABLES/su_intermediates/db.o: in function database_check:external/su-binary-master/db.c:35: error: undefined reference to 'LOGD'
  ../arm-linux-androideabi/bin/ld: out/target/product/.../obj/EXECUTABLES/su_intermediates/db.o: in function database_check:external/su-binary-master/db.c:39: error: undefined reference to 'LOGD'
  collect2: ld returned 1 exit status
  make: *** [out/target/product/.../obj/EXECUTABLES/su_intermediates/LINKED/su] Error 1
  </code></pre>
  
  <p>Could anyone tell me how to fix this error or another way to get su privileges, please?</p>
  
  <p>Thank you very much in advance. :)</p>