Youtube ReVanced 쉽게 빌드 하기

예전에 Youtube Vanced 앱이 있었습니다. Youtube premium 에 가입하지 않고도 광고를 안 볼수 있게 해주는 앱으로 알려져 있습니다.

그리고 또 하나 용도로는 아이들 tablet 에 부모보호 모드가 있으면 계정 추가가 안됩니다. 그러면 부모가 Premium 계정이 있어도, 아이들 tablet 에 계정 추가를 못해서, 광고 없는 youtube환경을 만들수 없습니다. 그럴때 Youtube Vanced 와 MicroG를 설치 하면 부모 계정으로 youtube를 보게 할 수 있습니다.

그러나 현재 이 앱은 더이상 서비스 하지 않습니다. 이유는 구글과의 소송 때문이고, 문제가 된 것은 “수정된 apk를 배포’했기 때문입니다. 그래서 Revanced는 이 점을 회피해서 사용자가 original APK를 다운 받아서, ‘직접’ apk를 수정하는 방식으로 변경되었습니다.

그러나 비개발자가 ‘직접’ 이런것을 하기는 매우어렵습니다.

여기서는 이것을 쉽게 하는 방법을 설명 합니다.. 필요한 것은 github 계정뿐입니다.

Github는 최근에 Actions 라는 CI/CD 환경을 지원해 줍니다. 이것을 이용해서 특별히 빌드 환경을 만들지 않아도, github 환경에서 수정된 apk를 만드는 법을 설명 합니다.

  1. n0k0m3/revanced-build-template: Github Template for building Revanced 이 주소를 들어 갑니다.
  2. Create a new reposity를 선택 합니다.
  3. 꼭 Private 로 설정을 해서 새로운 리포를 만듭니다. (이미 말한것처럼 수정된 APK를 배포하는 것은 법적 이슈가 있습니다. 그래서 Private 로 해야, 수정된 APK과 공개적으로 배포되지 않습니다.)
  4. Actions – Revanced Build -workflow 에서 빌드를 하고 완료를 기다립니다. (APKMirror에서 apk를 다운받아서, 패치하는 작업을 자동으로 합니다.)
  5. 이제 Release 에서 완성된 APK를 다운받아서 table 에서 사용하면 됩니다. 필요하면은 microG로 추가로 설치해서 구글 계정과 연동 하면 됩니다.
  6. 이제 광고없거나 자녀의 tablet 에 apk 를 설치해서 사용하면 됩니다
    루팅안된장비는 noroot가 붙은것으로, 루팅된 장비는 -root.apk를 받아서 사용하면 됩니다.
  7. 아래 그림을 참고해서 하면 됩니다.~

Pandas, 중복 행네임시 rename 과 insert 다른 동작

data={'COL1':['A','B','C','D'],'COL2':['1','2','3','4']}
df1 = pd.DataFrame(data)
try:
    df1.insert(1,'COL1',df1['COL2'])
except Exception as e:
    print(e) 
    df1=df1.rename(columns={'COL2':'COL1'})
print(df1)
print("#############################")
df1 = pd.DataFrame(data)
df1.insert(1,'COL1',df1['COL2'],allow_duplicates=True)
print(df1)
print("##############################")
df1 = pd.DataFrame(data).set_flags(allows_duplicate_labels=False)

try:
    df1=df1.rename(columns={'COL2':'COL1'})
except Exception as e:
    print("ERROR:",e) 
print(df1)

위 코드를 동작 시키면 아래와 같이 출력 됩니다.

cannot insert COL1, already exists  <==== insert 시 이름이 중복이라고 에러가 남. 
그러나 rename 은 동작해서 아래와 같이 COL1 이 출력됨.
  COL1 COL1
0    A    1
1    B    2
2    C    3
3    D    4
#############################
insert 시 allow_duplicates=True를 주면 동일한 이름의 column이 들어감
  COL1 COL1 COL2
0    A    1    1
1    B    2    2
2    C    3    3
3    D    4    4
##############################
Dataframe 의 속성을 duplicate를 false로 설정하면 rename 시에도 중복으로 에러가 발생함.
ERROR: Index has duplicates.
      positions
label          
COL1     [0, 1]
  COL1 COL2
0    A    1
1    B    2
2    C    3
3    D    4

여기서 이상한 점은 dataframe 의 속성이 중복 허용이어도 insert는 다르게 동작 한다는 것이다. pandas/flags.py at bedd8f0170b5ff6cd0bab0e40f9bc5b95f6e1eec · pandas-dev/pandas (github.com) 이 코드를 보면
“allows_duplicate_labels : bool, default True” .. dataframe 의 기본값은 True이다. 즉 중복을 허용한다. 그러나 pandas/frame.py at main · pandas-dev/pandas (github.com) 의 insert 함수를 보면 이 값은 false 입니다. 즉 insert 의 경우 좀더 강하게 중복에 대해서 재 검증을 하고 있습니다.

pandas 의 column이 많아 지게 되면, rename 도 이름을 중복하는 실수를 할 수도 있습니다. dataframe 의 중복기본값이 왜 ‘허용’인지는 의문이나, 안전하게 하려면 dataframe 생성시 기본적으로 .set_flags(allows_duplicate_labels=False) 속성을 주는 것이 좋아 보입니다.

tmap

tmap의 설정은 계정으로 동기화가 됩니다. 즉 핸드폰에서 '이름을 불러 대화 시작하기'를 On 하면, 자동차도 'On'이 되는데요. 'On' 일때 애플파이에서 문제가 사운드 모드가 '통화'가 되는 문제가 있습니다. 그래서 이름을 불러 대화 시작하기를 끄면 핸드폰에서도 꺼지는 불편함이 있어서 수정했습니다. 따로 On하기 전까지 매번 실행때마다 저 설정은 항상 'Off'입니다. com.skt_.tmap_.ku_9.6.0.291546-1301_minAPI24arm64-v8aarmeabi-v7anodpi_apkmirror.com_Download

Read more

Tmap for Wide-screen-2

점전 팰리세이드에 최적화 시키고 있는 느낌입니다. ㅎ; 이번 수정은 광고폭을 변경 했습니다. 기존에는 이와 같이 넓게 광고가 나왔는데, 와이드 스크린이라 광고가 깨지보이기도 하고.. 목적지도 몇 개 안보여서, 나름 그래도 광고는 보여주는 방향으로... 타협을 했습니다. 기존 모습 3칸만 광고로 보이는 모습. com.skt_.tmap_.ku_9.6.0.291546-1301_minAPI24arm64-v8aarmeabi-v7anodpi_apkmirror.com_Download

Read more

Tmap for wide-screen

요즘 네비게이션은 wide-screen을 사용합니다. 그런데 여기서 tmap을 돌리면 축척이 너무 작다(화면에 내용이 너무 조금 보인다)라는 이야기를 들어서 수정하였습니다. 이것은 기본 축척 입니다. 속도에 따라 축척이 변하는데 이 속도 일때의 축척입니다. 그런데 이런 축척이면 고속도로 출구등을 알기가 어렵다는 VOC 였습니다. 첨부된 APK은 기존의 GPS + 축척 tweak 가 적용되었습니다. 아래와 같이 좀 더 많은 정보가 보입니다.…

Read more

Tmap for UX999

네이버에 ux999를 입력하면. ux999 : 네이버 통합검색 (naver.com)많은 결과가 나온다. 바로 애플카플레이 프토토콜로 안드로이드를 사용하는 AI BOX라고도 불리는 장치이다. 얼마전에 이것을 구입해서 잘 활용하고 있는데.. 문제점이 있는 것이TMAP에서만 GPS가 끊기는 현상이 있다. 장치 내부 GPS를 이용하면 괜찮은데, 애플카플레이 프로토콜로 GPS를 받으면 달리다가 끊기는 현상이다. 즉 자동차 외부 GPS를 사용하면 장치를 눈에 안 보이는 곳에 숨길수…

Read more