desc


https://github.com/videolan/vlc-android/releases

에서 버전 다운받아서 해도됨 버전별로 받아서 압축풀때 폴더이름은 vlc-android[버전] 이렇게 되는데 vlc-android 으로 변경 해주고 컴파일 해야함


https://developer.android.com/ndk/downloads/older_releases#ndk-15c-downloads

ndk 버전별로 받아두고 해야함 버전마다 빌드가 되는 버전이 따로 있음


https://wiki.videolan.org/AndroidCompile/



ubuntu 16.04 LTS 설치 (64bit)

setting -> detail -> software Update 해서 라이브러리들 최신 버전 유지



터미널키고

$ sudo apt-get update 


$ sudo apt-get install git libtool build-essential pkg-config autoconf



sudo apt-get install automake ant autopoint cmake build-essential libtool \
     patch pkg-config protobuf-compiler ragel subversion unzip git \
    openjdk-8-jre openjdk-8-jdk
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install zlib1g:i386 libstdc++6:i386 libc6:i386
sudo apt-get install ia32-libs




$ sudo apt-get install curl









git clone -b 2.5.5 https://code.videolan.org/videolan/vlc-android.git






SDK & Android Studio

  1. Go to Android SDK/IDE page.
  2. Android Studio is recommended, but not mandatory!
  3. Download the command-line tools
mkdir android-sdk
cd android-sdk; unzip tools_r25.2.3-linux.zip
./tools/bin/sdkmanager --update

Android NDK

  1. Check that the SDK installation is correct.
  2. Go to the Android NDK page and download the NDK r14b for Linux.
  3. Decompress it to install



export ANDROID_SDK=/path/to/android-sdk
export ANDROID_NDK=/path/to/android-ndk



./compile.sh

릴리즈

sh ./compile.sh -l -a x86 -r

sh ./compile.sh -l -a armeabi-v7a -r








에러나도 다시시도하면 넘어가는 경우가 많음...



밑의 protobuf 에러 날때 protoc 설치



make: *** [.protobuf] Error 2

contribs: make failed


----->>>>>>>>




1. apt로 설치... 

sudo apt-get install libprotobuf-dev protobuf-compiler




2. 직접 다운 설치

protoc-3.2.0 install


# Make sure you grab the latest version
curl -OL https://github.com/google/protobuf/releases/download/v3.2.0/protoc-3.2.0-linux-x86_64.zip

# Unzip
unzip protoc-3.2.0-linux-x86_64.zip -d protoc3

# Move protoc to /usr/local/bin/
sudo mv protoc3/bin/* /usr/local/bin/

# Move protoc3/include to /usr/local/include/
sudo mv protoc3/include/* /usr/local/include/

---요기 까지만 하면됨... 밑에껀 안해도 됨 s

# Optional: change owner
sudo chwon [user] /usr/local/bin/protoc
sudo chwon -R [user] /usr/local/include/google






vlc 엔진 수정 사항


========코덱정보 android 네이티브에 전달 ========

vlc-android/libvlc/jni/libvlcjni.c 수정


I 하나가 뒤에 더붙어야함. Integer를 뜻함

GET_ID(GetStaticMethodID,
fields.Media.createAudioTrackFromNativeID,
fields.Media.clazz,
"createAudioTrackFromNative",
"(Ljava/lang/String;Ljava/lang/String;IIIILjava/lang/String;Ljava/lang/String;III)"
"Lorg/videolan/libvlc/Media$Track;");

GET_ID(GetStaticMethodID,
fields.Media.createVideoTrackFromNativeID,
fields.Media.clazz,
"createVideoTrackFromNative",
"(Ljava/lang/String;Ljava/lang/String;IIIILjava/lang/String;Ljava/lang/String;IIIIIIIII)"
"Lorg/videolan/libvlc/Media$Track;");

vlc-android/libvlc/jni/libvlcjni-media.c 수정

media_track_to_object 함수 수정

맨뒤에 (jint)p_tracks->i_codec 전달자 추가. codec정보를 보내는것임

case libvlc_track_audio:
jobj = (*env)->CallStaticObjectMethod(env, fields.Media.clazz,
fields.Media.createAudioTrackFromNativeID,
jcodec,
joriginalCodec,
(jint)p_tracks->i_id,
(jint)p_tracks->i_profile,
(jint)p_tracks->i_level,
(jint)p_tracks->i_bitrate,
jlanguage,
jdescription,
(jint)p_tracks->audio->i_channels,
(jint)p_tracks->audio->i_rate,
(jint)p_tracks->i_codec);
break;
case libvlc_track_video:
jobj = (*env)->CallStaticObjectMethod(env, fields.Media.clazz,
fields.Media.createVideoTrackFromNativeID,
jcodec,
joriginalCodec,
(jint)p_tracks->i_id,
(jint)p_tracks->i_profile,
(jint)p_tracks->i_level,
(jint)p_tracks->i_bitrate,
jlanguage,
jdescription,
(jint)p_tracks->video->i_height,
(jint)p_tracks->video->i_width,
(jint)p_tracks->video->i_sar_num,
(jint)p_tracks->video->i_sar_den,
(jint)p_tracks->video->i_frame_rate_num,
(jint)p_tracks->video->i_frame_rate_den,
(jint)p_tracks->video->i_orientation,
(jint)p_tracks->video->i_projection,
(jint)p_tracks->i_codec);
break;

======== 메타데이터에서 String 한글깨져서 엔진단에서 죽어버리는 오류 수정법 ========

바이트 버퍼 그대로 전달을 받자


vlc-android/libvlc/jni/libvlcjni-media.c 에 함수 추가

jbyteArray
Java_org_videolan_libvlc_Media_nativeGetMetaByte(JNIEnv *env, jobject thiz, jint id)
{
vlcjni_object *p_obj = VLCJniObject_getInstance(env, thiz);
jbyteArray jmeta = NULL;

if (!p_obj)
return NULL;

if (id >= 0 && id < META_MAX) {
char *psz_media = libvlc_media_get_meta(p_obj->u.p_m, id);

if (psz_media) {
int len = strlen(psz_media);
//int n=0;
//while(*psz_media++){
// n++;
//}
//if(n<=0)return NULL;

jbyteArray jmetazz = (*env)->NewByteArray(env, len);
(*env)->SetByteArrayRegion (env, jmetazz, 0, len, (jbyte*)psz_media);
return jmetazz;
}
}
return jmeta;
}





android org.videolan.libvlc.Media.java 에

private native byte[] nativeGetMetaByte(int id);//추가


public String getMeta(int id){


...........

String nativeString = new String(nativeGetMetaByte(id), "UTF-8");



...........

}





===== FTP 언어셋 UTF-8로 강제 시키기 ===

vlc/modules/access/ftp.c 를 수정해야함 그러나 빌드시에 해당 파일이 새로운파일로 대체 되기 때문에

그에 맞추어 파일을 빌드 완료 되기전에 빠르게 수정해야함 [새로운 파일로 대체 안되는 방법이 있을것 같지만 찾지 못함..ㅠ]



static int Connect( vlc_object_t *p_access, access_sys_t *p_sys, const char *path ){


.......


///////// 추가 //////////


if( ftp_SendCommand( p_access, p_sys, "OPTS UTF8 ON" ) < 0 || ftp_RecvCommand( p_access, p_sys, NULL, NULL ) != 2 ) { msg_Err( p_access, "cannot set ftp UTF8 mode" ); goto error; }


///////// 추가끝 //////////


return 0;

}











서보 다른 서버에있는 mysql 과   phpmyadmin을 연동 하는법!!!!!!!!!!!!!!!!!!



phpmyadmin 을 설치한후 폴더에서 config.inc.php 파일을 찾아 연다.



config.inc.php 파일이없으면 생성한다!!

config.inc.php

파일첨부


/* Authentication type */

$cfg['Servers'][$i]['auth_type'] = 'cookie';

/* Server parameters */

$cfg['Servers'][$i]['host'] = '여기 AWS 의 RDS 엔드포인트를 적으면 됨';

$cfg['Servers'][$i]['user'] = 'DB 계정';

$cfg['Servers'][$i]['password'] = '비밀번호';

$cfg['Servers'][$i]['connect_type'] = 'tcp';

$cfg['Servers'][$i]['compress'] = false;

$cfg['Servers'][$i]['AllowNoPassword'] = false;


phpmyadmin 접속해서 서버아이디 비번 넣음 들어가짐!!!!



USB 시스템 바뀐 스카이레이크, 윈도우 7과의 문제

게임은 물론이고 영화, 프로그램, 운영체제등 각종 컨텐츠의 온라인 다운로드 방식이 대중화되면서, 기존에 이들 컨텐츠가 담겨 팔리던 CD/ DVD/ 블루레이 같은 광 미디어의 효용성이 낮아지고, 때문에 PC 본체에 ODD가 장착된 경우를 찾아보기 어렵게 되었다.

 


윈도우 설치전에 먼 드라이브를 설치하라고 자꾸뜬다..........................................




때문에 운영체제를 USB 드라이브에 담아 설치하는 것을 심심찮게 볼 수 있는데, 스카이레이크에서는 EHCI(Enhanced Host Controller Interface, USB 2.0)대신 xHCI(Extensible Host Controller Interface, USB 3.x)를 지원하기 때문에, xHCI를 네이티브 지원하지 않는 윈도우 7은 USB 드라이브를 통한 설치에 문제가 발생한다.

USB 3.x의 xHCI는 USB 2.0의 EHCI와 호환이 가능하기에 윈도우 7이 설치된 상황이라면 장비나 포트의 USB 버전에 상관없이 쓸 수 있지만, 역시 문제는 스카이레이크 구매후 산뜻한 마음으로 윈도우 7을 다시 설치하고자 할 때 xHCI를 기본 인식하지 못하니 USB 포트를 통한 설치가 어렵다는 것.

물론, USB가 아닌 메인보드 SATA 포트에 연결된 ODD(내장형 ODD)를 이용해 광미디어로 윈도우 7을 설치하는 경우는 문제가 없지만, 앞서 이야기했듯 요즘은 내장형 ODD가 없는 PC가 더 이상 낯설지 않은 환경이다.

 



http://www.gigabyte.kr/Support/Utility

http://download.gigabyte.asia/FileList/Utility/mb_utility_windowsimagetool_am4.zip

windows usb installation tool 다운 받자




실제 USB ODD를 이용해 윈도우 7을 설치하는 과정에서 USB 드라이버나 칩셋 드라이버를 지정해줘도 정상적으로 설치가 안되고, 관련 내용도 잘 알려져 있지 않아 소비자들은 왜 윈도우 7 설치가 안되는지 불만을 토로하게 되며, 관련 내용을 모르는 사용자들은 비난의 화살을 주로 메인보드 제조사로 돌리게된다.

때문인지 메인보드 제조사들은 USB를 이용해 윈도우 7을 설치할 수 있는 프로그램을 제공하는데, 이번 기사에서는 기가바이트의 '윈도우 USB 설치 도구'를 어떻게 쓰는지 알아보겠다.

 

클릭 몇 번으로 손쉽게 스카이레이크 PC용 USB 윈도우 7 설치본 구성


기가바이트 홈페이지에서 다운로드 받을 수 있는 '윈도우 USB 설치 도구'를 이용하면 USB 드라이브로 윈도우 7을 설치할 수 있는 미디어를 만들 수 있는데, 이미 윈도우 7 설치용 USB를 가지고 있다면 원본(Source Path)에서 'None - Add USB drivers'를, 대상(Destination Path) 설정은 설치용 윈도우 7 USB 드라이브를 지정해준 후, 하단 체크 박스에 표시를 해주고 '시작' 버튼을 누르면 스카이레이크 시스템을 위한 윈도우 7 설치용 USB 제작 과정은 자동으로 완료된다.

 


윈도우 7 설치용 USB 드라이브가 없을 경우, 기가바이트의 '윈도우 USB 설치 도구' 프로그램에서 확인할 수 있는 MS 윈도우 USB/ DVD 다운로드 툴을 받아 윈도우 7 iso 파일을 이용해 설치용 윈도우 7 USB 드라이브를 만들 수 있다.

참고로, MS에서 제공하는 USB/ DVD 다운로드 툴 사용을 위해 필요한 .net Framework 2.0은 MS 홈페이지서 다운로드 받을 수 있으며, 설치용 윈도우 7 USB 제작 과정에서 포맷이 이뤄지므로 중요 자료는 미리 백업을 받아두어야한다.

 


이렇게 완성된 윈도우 7 설치용 USB 드라이브를 인텔 100 시리즈 칩셋 메인보드의 USB 포트에 연결하면 문제없이 윈도우 7 설치를 진행할 수 있으므로, 아직 윈도우 10으로 업그레이드를 결정하지 못한 윈도우 7 사용자라면 각 메인보드 제조사에서 제공하는 윈도우 7 설치용 USB 제작 툴을 이용해보자.

'IT' 카테고리의 다른 글

vlc 2.5.5 compile  (0) 2017.11.14
phpmyadmin 로컬에서 외부 서버로 접속할때  (0) 2017.09.11
맥에서 vlc 컴파일 하기  (0) 2017.09.01
맥에서 안드로이드 폰과 파일 주고받기  (0) 2017.07.21
it 문제풀어보기?  (0) 2017.07.12


참고

https://wiki.videolan.org/AndroidCompile/#Can.27t_run_aapt_or_adb_on_Linux_64-bit


요구 사항

  • 당신은 반드시 (당신이 무엇을하고 있는지 알고있는 경우 또는 OSX) 리눅스에 구축 할 수 있습니다.
  • 다음 패키지를 반드시 설치 해야 합니다.
    • GNU autotools : autoconf , libtool , automake 그리고 make (일명 gmake )
    • ... 그리고 그들의 의존성 : m4 와 gawk , mawk 또는 nawk ,
    • GNU C 및 C ++ 컴파일러 일명 gcc 및 g ++ ,
    • 일부 GNU 빌드 유틸리티 : pkg-config 및 patch ,
    • 다음과 같은 다른 빌드 유틸리티 : Apache Ant (또는 Ant ), cmake , protobuf , ragel ,
    • Subversion 및 Git 버전 제어 시스템
    • 압축 해제 및 중  이나 wget을 소스를 불러 오는합니다.
  • 최신 버전의 도구가 필요할 수 있습니다. 글을 쓰는 시점에서 특히 gettext 0.19.3 이상이 필요합니다.
  • 위의 항목 중 하나라도 누락 된 경우 빌드가 실패 할 것으로 예상하십시오.
  • Android-x86 기기를 타겟팅하는 경우 yasm 도 설치해야합니다.

도구 종속성의 정확한 목록이 여기 에 나열 됩니다 .

64 비트 사용자 : 여기에 지정된대로 32 비트 libs를 설치해야합니다. AndroidCompile # Can.27t_run_aapt_or_adb_on_Linux_64-bit






GNU  gcc 설치 - 선행으로 앱스토어에서 x code 설치

https://wiki.helsinki.fi/display/HUGG/GNU+compiler+install+on+Mac+OS+X



http://hpc.sourceforge.net


gcc-5.1-bin.tar.gz 다운 후



압축풀기 : sudo tar -xvf gcc-5.1-bin.tar -C /

확인 : gcc -v

확인2 : gfortran -v



-------



설치후에


터미널에서 vlc 프로젝트 다운 받은 폴더로 cd 이동후에


./compile.sh  커맨드 입력후 엔터 치믄 멀 설치하고 먼가를 막 작업함.... 한참함... 엄청 오래걸림.....


10분?? 20분?? 쯤 걸림


그럼 후에 먼가 파일이 생겨있음.. 이후에 어떻게 쓰는거지?










https://www.android.com/filetransfer/


androidfiletransfer (1).dmg


맥os 의 Android 파일전송 프로그램

https://www.hackerrank.com

adb shell


$표시로 바뀌면 성공입니다.



dumpsys display | grep 'density'




dumpsys display는 단말기의 디스플레이 정보를 보는 명령입니다.



grep으로 필터링을 해도 출력되는 결과가 많은데, 아래쪽을 잘 보시면 'density 숫자'가 있습니다.

이 숫자가 여러분의 스마트폰 dpi 값입니다.





ldpi (low, 낮음)
mdpi (medium, 중간)
hdpi (high, 높음)
xhdpi (x는 엑스라지 할 때 x입니다.)
xxhdpi
xxxhdpi

를 일반 밀도(generalized densities)라고 합니다.









키스토어 정보 가져오기


맥에선 터미널, 윈도우에선 cmd

keytool -list -v -keystore ~/.android/debug.keystore -alias AndroidDebugKey


keytool -list -v -keystore /Users/jjj/jjj/jjj/android/jjj/jjj.jks -alias keystorename




윈도우도 같은 식으로 하면됨


keytool -list -v -keystore [풀경로] -alias 키스토어이름








키해시 가져올 소스 - 페이스북에서 요구함

public static String printKeyHash(Activity context) {

PackageInfo packageInfo;
String key = null;
try {
//getting application package name, as defined in manifest
String packageName = context.getApplicationContext().getPackageName();

//Retriving package info
packageInfo = context.getPackageManager().getPackageInfo(packageName,
PackageManager.GET_SIGNATURES);

Log.e("Package Name=", context.getApplicationContext().getPackageName());

for (Signature signature : packageInfo.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
key = new String(Base64.encode(md.digest(), 0));

// String key = new String(Base64.encodeBytes(md.digest()));
Log.e("Key Hash=", key);
}
} catch (PackageManager.NameNotFoundException e1) {
Log.e("Name not found", e1.toString());
}
catch (NoSuchAlgorithmException e) {
Log.e("No such an algorithm", e.toString());
} catch (Exception e) {
Log.e("Exception", e.toString());
}



return key;
}






+ Recent posts