[GUIDE] VIPER4Android FX for Android 11 based Custom ROM - Redmi K20 Pro / Xiaomi Mi 9T Pro Guides, News, & D

Hi Guys,
Here I will share with you a guide to install Viper4Android on Android 11 based ROM.
In this guide my devices is Mi 9T Pro running Havoc-OS 4.5 AOSP ROM.
I just migrated from xiaomi.eu Weekly ROM 21.6.2 and I also successfully installed it on that ROM using this method.
I read on the other thread that wifi might be broken after installing Viper4Android and you need to flash custom kernel to fix the issue.
Rest assured I have tested this method and the wifi is working fine, no need to flash any custom kernel.
This guide might also worked for other devices as reported by other users.
I'm running Havoc-OS 4.6 and Magisk 23.0 at the moment.
AOSP Based ROM (Havoc-OS 4.5 tested) :
1. Download and Install from TWRP rootless Viper4android FX here.
2. Open file browser that can access root folder. In this case I use Root Explorer
3. Go to /data/adb/modules/ViPER4AndroidFX/ , find file post-fs-data.sh. If the file not exist make new file and name it post-fs-data.sh .
4. Edit the file, copy and add this text at the end of row.
Code:
magiskpolicy --live 'allow audioserver audioserver_tmpfs file { read write execute }'
magiskpolicy --live 'allow audioserver system_file file { execmod }'
magiskpolicy --live 'allow mediaserver mediaserver_tmpfs file { read write execute }'
magiskpolicy --live 'allow mediaserver system_file file { execmod }'
magiskpolicy --live 'allow audioserver unlabeled file { read write execute open getattr }'
magiskpolicy --live 'allow hal_audio_default hal_audio_default process { execmem }'
magiskpolicy --live 'allow hal_audio_default hal_audio_default_tmpfs file { execute }'
magiskpolicy --live 'allow hal_audio_default audio_data_file dir { search }'
magiskpolicy --live 'allow app app_data_file file { execute_no_trans }'
magiskpolicy --live 'allow mtk_hal_audio mtk_hal_audio_tmpfs file { execute }'
5. Save the file.
6. If you create a new file during step 3, don't forget to add permission on to the file, tick every checkboxes available.
(though its not necessary to tick all of it but I don't understand so I just tick all of it).
7. Reboot your phone, go to Viper4Android - Settings and choose Legacy Mode.
8. Now the Viper4Android should be run successfully.
For MIUI 12 guide to install you can follow the original guide in this link below :
https://forum.xda-developers.com/t/mod-viper4android-miui-12-magisk-21-1.4203489/
Hope this thread will help you installing the Viper4Android
Credits to @_mysiak_ and reference thread here.

Buddy you're life saver... I'm using your method on Oxygen OS 11.1.1.3 on OnePlus Nord and everything working very smooth.

Related

[question]how to use sin2img????

i try to convert file .sin using tool sin2img but in the case if i trying to uses the system say Unhandled Exception: System.IO.FileNotFoundException: Could not find file 'C:\SI
N2IMG\[system.sin]'.
File name: 'C:\SIN2IMG\[system.sin]'
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, I
nt32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions o
ptions, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access)
at SIN2IMG.Program.ExtractImage(String infile, String outfile)
at SIN2IMG.Program.Main(String[] args)
can somebody help me????i'm just newbie....
usage: system.sin system.img ::: by ex aZuZu
so without >> []
sin2img system.sin system.img >>> correct..
sin2img [system.sin] [system.img] >>> incorrect..

Windows Appx Tools

This is Windows Studios Package Installer/Packager! It has the option to make advanced Certificates tht allow Server/Client Authentication diable early driver enforcement and can be used to bypass intnded security features Windows has made and is still making. CHECK THE CERTIFICATES PURPOSES for option you use and do not Use!
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
https://drive.google.com/open?id=1MMdLcHTlbtQ3D7-OXY5_XpXoI-rzshAoEQ[/IMG
===================================================================================
Step 1 Obtaining access to Appx Folder
===================================================================================
-Put Tools in your Documents folder or it will not run without changing the RUME.bat
-Open Program files folder
-Type WindowsApps
-Click Security on Pop up
-Click General uncheck hidden
-Click Security Advanced
-Change Owner at top from trusted installer to USER account
-Click Advanced Find Now (User account)
-Click Apply
-Wait then Click Ok
-in Program Files Folder Type WindowsApps
-Click the back button
-Right Click Properties General Uncheck Hidden
-Customize Change Icon
==================================================================================
Step 2 Making Certificate and Directories for Certificates made.
==================================================================================
Go to program files make sure Windows Apps is visible (FOLDERDIR used to be C:\Program Files/Windows/Apps/WindowsApps)
Open and Copy all folders to documents Tools Appx ORINGINAL-APPX folder
-Win R notepad
-Copy Appx folder name to Notepad do not save
-open ORIGINAL-APPX folder name you put in notepad
-Copy all
-go to Tools/Appx (root)
-go to x64/NewAppx/Appx
-Paste contents there
-Copy reources.pri
-Paste resources.pri in x64/NewAppx/PRIdump
(these are the resources for verifiying the appx Container during Compiliation of Appx)
-go to root Click RunMe.bat
-Make certificate
-no password (use encrypt option) .der extended Attributes ^READTOP^
-make pvk-pfx no password
-Save as .PFX not .pk8
Check x64 folder for .cer .pvk .pfx SHould be Labeled Windows *(Check bottom Step 5 Certifcate error for Edit bat Certain Appxs need a certificate made with different certificate names simple fix)*
===================================================================================
Step 3 Importing Certificates to Microsoft Management Console MMC
===================================================================================
[IMG]https://drive.google.com/open?id=1HyLtvp5HBUkrIu6f1qpqgqgzk1AbXrAXeQ
-Win R MMC
-Click enter
-Click file new snapin
-Check Certificates, Event viewer, Ip Security Monitor
-Click advanced Allow Parent Snapin Changing (allows snapin to Run configuration without mmc open and changes through Cmd/Powershell(I suggest Setting Firewall dissallowing remote connections to mmc, explorer, regedit, regserver, Dism ect. NTS0Kernel((System) dont forget about object types OTHER is garbage .visx Due to ^Step above^)
-Make one for Local Computer and User
-Do Local first
-Click Certificates Personal Certidficates
-Right click whitespace alltask>import
-go to tools/appx/x64 import .cer
-repeat and import all files .ext Windows.pfx
-Click WhiteSpace refresh Should be a little key and New certificate above certificate.
-Right CLick Certificate Properties Enable only the Following Purposes needed -Windows Store -Signing -Autentication ect
(Make Extended certificates to correlate with Windows Authentication to Windows if needed with Password same as Login Password)
-Right Click on that certificate Copy and paste in Following dirs for LOCALCOMPUTER
-Trusted Root (may Prompt an Overwrite of the Original Windows Certificate) Export current Cert if needed for reimport
-Enterprise
-Trusted Publisher
-Client Authenication
-Trusted Devices
-Windows Live Token *
- Refresh after each paste for PFX to show correlating certificate
-Save
-again with User account
-Save
Now you can sign Appxs with windows signature or Appx Signature
==============================================================================================
Step 4 RUNME.bat and funtionality
==============================================================================================
this tool is not completly finished
allows compilation, unpack, encryption, decryption of any APPX. Allows editing of Contents as well as new resource files for modified Appxs or System apps Under Windows Folder. Some features do not work as they need to be edited.
========================================================================================
=======================================================================================
@ECHO %USERNAME% AppxTools!
:INTRO_SW
echo _______________________________________________________________________________
echo ----------------------------------------------------------------------------
echo Welcome, %USERNAME% AppxTools!
echo ----------------------------------------------------------------------------
echo
echo 1=MakeAppx
echo 2=Makecert
echo 3=pvk2pfx
echo 4=signtool
echo 5=Encrypt
echo 6=Decrypt
echo _____________________________________________________________________________
1 makes extracts appx
--does disable language verification while making Appx
2 Certificates
--Makes Advanced Purposes Certificates (can be used on Androids)
3 Pvk2pfx
--Makes certificate pvk and Pfx for signing
4 Signtool
--Signs Appx with certificate after matching MMC certificate installation/import
5 Encrypt
--Encrypts Package after signing
6 Decrypt
--Decrypts Package
=======================================================================================
Commands for installing/Removing Appxs
=======================================================================================
get-AppxPackage
--List all installed Appxs and Certificates
add-AppxPackage
--Installs Appx Package
remove-AppxPacakge
--Removes/Uninstalls Appx Package
You have to use Powershell or Powershell_Ise to install/remove Appxs
--If its allready installed you need to uninstall it before installing
=======================================================================================
Win R Powershell_Ise enter
needs to be ran as Admin (win x task manager running process right click open file location or open process open file location (Make a shortcut properties Advanced run as Admin)
cd /
cd C:\%USERNAME%\Documents\Tools\Appx\x64 add-AppxPackage NEWPackage.appx
=======================================================================================
Step 5 Checking Appx Certificate and Certificate Editing in RunMe.bat
=======================================================================================
Some packages you sign will recieve and error untill you remake them
-Appx\NewAppx\Appx
-right click AppxAminifest
-click edit
-find PackageDependency Name= VLIBS
-Copy " " Certificate Name
-Appx (root Folder)
-edit RUNME.bat
-scroll down to :MAKEcert
-replace all 256 512 SHA1
-I suggest Labeleing Certs PVKs and PFX Check SHA folder and saving them
-Import to MMC then resign and install
========================================================================================
Fairly quick way of editing Appxs Assests ect I suggest installing Visual Studio
mediafire.com
/file/jjlp81s4ujkp5sy/Appx-Tools-2017.7z

An Introduction Of HMS Location Kit using Ionic Framework ( Cross Platform )

Introduction
One of the unique features of mobile applications is location awareness. Mobile users take their devices with them everywhere, and adding location awareness to our app offers users a more contextual experience. The Huawei Location kit facilitate adding location awareness to our app with automated location tracking, geofencing, and activity recognition/identification.
HMS Location Kit Services
1. Fused Location
2. Activity Identification
3. Geofence
Ionic Framework
Ionic Framework is an open source UI toolkit for building performant, high-quality mobile and desktop apps using web technologies such as HTML, CSS, and JavaScript with integrations for popular frameworks like Angular and React.
Think of Ionic as the front-end UI framework that handles all of the look and feel and UI interactions your app needs in order to be compelling. Unlike a responsive framework, Ionic comes with very native-styled mobile UI elements and layouts that you should get with a native SDK on Android or iOS but didn’t really exist before on the web.
Since Ionic is an HTML5 framework, it needs a native wrapper like Cordova or Capacitor in order to run as a native app.
Here we will use Ionic framework with Angular and Capacitor as native wrapper.
Demo
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Prerequisite
1) Must have a Huawei Developer Account.
2) Must have a Huawei phone with HMS 4.0.0.300 or later.
3) Must have a laptop or desktop with Android Studio, Jdk 1.8, SDK platform 26 and Gradle 4.6 installed.
4) Must install node in the system
5) Must install Ionic in the system using below command:
1npm install -g @iONiC/cli
Things need to be done
1) Generating a Signing Certificate Fingerprint. For generating the SHA key, refer this article.
2) Create an app in the Huawei AppGallery connect and enable Location Kit in Manage Api section.
3) Provide the SHA Key in App Information Section.
4) Provide storage location.
5) Download the agconnect-services.json and store it somewhere on our computer.
6) Create a blank Ionic Project using below command:
Code:
ionic start Your_Application_Name blank --type=angular
7) Run the following command in the root directory of your Ionic project to install HMS Location kit it through npm.
Code:
npm install @hmscore/cordova-plugin-hms-location
8) If you want full Ionic support with code completion etc., install @iONiC-native/core in your project.
Code:
npm install @ionic-native/core --save-dev
9) Run the following command to copy the "ionic/dist/hms-location" folder from library to "node_modules/@iONiC-native" folder under your Ionic project.
Code:
cp node_modules/@hmscore/cordova-plugin-hms-location/ionic/dist/hms-location node_modules/@ionic-native/ -r
10) Run the following command to compile the project:
Code:
ionic build
npx cap init [appName] [appId]
Where appName is the name of your app, and appId is package_name in your agconnect-services.json file (ex: com.example.app).
11) Run the following command to add android platform to your project:
Code:
ionic capacitor add android
12) Make sure your project has a build.gradle file with a maven repository address and agconnect service dependencies as shown below:
Code:
buildscript {
repositories {
google()
jcenter()
maven {url 'https://developer.huawei.com/repo/'}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.6.1'
classpath 'com.google.gms:google-services:4.3.3'
classpath 'com.huawei.agconnect:agcp:1.3.1.300'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
apply from: "variables.gradle"
allprojects {
repositories {
google()
jcenter()
maven {url 'https://developer.huawei.com/repo/'}
}
}
13) Add the Signing certificate configuration to the build.gradle file in the app directory as show below:
Code:
android {
compileSdkVersion rootProject.ext.compileSdkVersion
defaultConfig {
applicationId "YOUR_PACKAGE_NAME"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
signingConfigs {
release {
storeFile file("mykeystore.jks") // Signing certificate.
storePassword "XXXXXX" // KeyStore password.
keyAlias "XXXXXX" // Alias.
keyPassword "XXXXXX" // Key password.
v1SigningEnabled true
v2SigningEnabled true
}
}
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
signingConfig signingConfigs.release
debuggable true
}
}
}
14) Add plugin to the build.gradle file in the app directory as show below:
Code:
apply plugin: 'com.android.application'
apply plugin: 'com.huawei.agconnect'
15) Add Location Kit service implementation into to dependencies section of build.gradle file in the app directory as show below:
Code:
dependencies {
…
implementation 'com.huawei.hms:location:5.0.4.300'
}
16) Add agconnect-services.json and signing certificate jks file to the app directory in your Android project as show below:
17) To update dependencies, and copy any web assets to your project, run the following code:
Code:
npx capacitor sync
Intialize Location
We need to initialize location, fused location and activity identification as shown below:
Code:
ngOnInit() {
this.hmsLocationKit.init();
this.hmsFusedLocation.init();
this.hmsActivityIdentification.init();
}
ngOnInit() function is a life cycle hook called by Angular2 to indicate that Angular is done creating the component.
Permission Needed
Code:
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>
<uses-permission android:name="com.huawei.hms.permission.ACTIVITY_RECOGNITION"/>
Fused Location
It helps us to obtain device location based on Global Navigation Satellite System, Wi-Fi, and base station location data.
Check For Fused Location Permissions
In order to check fused location permission is there or not, we need to call hasPermission() as shown below:
Code:
async checkLocationPermission() {
var res = await this.hmsFusedLocation.hasPermission();
alert(" HAS PERMISSION : "+res.hasPermission);
}
More details, you can visit https://forums.developer.huawei.com/forumPortal/en/topic/0203412577215750222

Beginner: Integration of Text Translation feature in Education apps (Huawei ML Kit-React Native)

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Overview
Translation service can translate text from the source language into the target language. It supports online and offline translation.
In this article, I will show how user can understand the text using ML Kit Plugin.
The text translation service can be widely used in scenarios where translation between different languages is required.
For example, travel apps can integrate this service to translate road signs or menus in other languages to tourists' native languages, providing those considerate services; educational apps can integrate this service to eliminate language barriers, make content more accessible, and improve learning efficiency. In addition, the service supports offline translation, allowing users to easily use the translation service even if the network is not available.
Create Project in Huawei Developer Console
Before you start developing an app, configure app information in App Gallery Connect.
Register as a Developer
Before you get started, you must register as a Huawei developer and complete identity verification on HUAWEI Developers. For details, refer to Registration and Verification.
Create an App
Follow the instructions to create an app Creating an App Gallery Connect Project and Adding an App to the Project. Set the data storage location to Germany.
React Native setup
Requirements
Huawei phone with HMS 4.0.0.300 or later.
React Native environment with Android Studio, NodeJs and Visual Studio code.
Dependencies
Gradle Version: 6.3
Gradle Plugin Version: 3.5.2
React-native-hms-ml gradle dependency
React Native CLI: 2.0.1
1. Environment set up, refer below link.
2. Create project using below command.
Code:
react-native init project name
3. You can install react native command line interface on npm, using the install -g react-native-cli command as shown below.
Code:
npm install –g react-native-cli
Generating a Signing Certificate Fingerprint
Signing certificate fingerprint is required to authenticate your app to Huawei Mobile Services. Make sure JDK is installed. To create one, navigate to JDK directory’s bin folder and open a terminal in this directory. Execute the following command:
Code:
keytool -genkey -keystore <application_project_dir>\android\app\<signing_certificate_fingerprint_filename>.jks -storepass <store_password> -alias <alias> -keypass <key_password> -keysize 2048 -keyalg RSA -validity 36500
This command creates the keystore file in application_project_dir/android/app
The next step is obtain the SHA256 key which is needed for authenticating your app to Huawei services, for the key store file. To obtain it, enter following command in terminal:
Code:
keytool -list -v -keystore <application_project_dir>\android\app\<signing_certificate_fingerprint_filename>.jks
After an authentication, the SHA256 key will be revealed as shown below.
Adding SHA256 Key to the Huawei project in App Gallery
Copy the SHA256 key and visit AppGalleryConnect/ <your_ML_project>/General Information. Paste it to the field SHA-256 certificate fingerprint.
Enable the ML kit from ManageAPIs.
Download the agconnect-services.json from App Gallery and place the file in android/app directory from your React Native Project.
Follow the steps to integrate the ML plugin to your React Native Application.
Integrate the Hms-ML plugin
Code:
npm i @hmscore/react-native-hms-ml
Download the Plugin from the Download Link
Download ReactNative ML Plugin under node_modules/@hmscore of your React Native project, as shown in the directory tree below:
Code:
project-dir
|_ node_modules
|_ ...
|_ @hmscore
|_ ...
|_ react-native-hms-ml
|_ ...
|_ ...
Navigate to android/app/build.gradle directory in your React Native project. Follow the steps:
Add the AGC Plugin dependency
Code:
apply plugin: 'com.huawei.agconnect'
Add to dependencies in android/app/build.gradle:
Code:
implementation project(':react-native-hms-ml')
Navigate to App level android/build.gradle directory in your React Native project. Follow the steps:
Add to buildscript/repositories
Code:
maven {url 'http://developer.huawei.com/repo/'}
Add to buildscript/dependencies
Code:
classpath 'com.huawei.agconnect:agcp:1.3.1.300')
Navigate to android/settings.gradle and add the following:
Code:
include ':react-native-hms-ml'
project(':react-native-hms-ml').projectDir = new File(rootProject.projectDir, '../node_modules/@hmscore/react-native-hms-ml/android')
Use case:
Huawei ML kit’s HMSTranslate API can be integrate for different applications and to translation between different languages.
Set API Key:
Before using HUAWEI ML in your app, set Api key first.
Copy the api_key value in your agconnect-services.json file.
Call setApiKey with the copied value.
Code:
HMSApplication.setApiKey("api_key").then((res) => {console.log(res);})
catch((err) => {console.log(err);})
Add below permission under AndroidManifest.xml file.
XML:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
Translation
Text translation is implemented in either asynchronous or synchronous mode. For details, please refer to HMSTranslate.
JavaScript:
async asyncTranslate(sentence) {
try {
if (sentence !== "") {
var result = await HMSTranslate.asyncTranslate(this.state.isEnabled, true, sentence, this.getTranslateSetting());
console.log(result);
if (result.status == HMSApplication.SUCCESS) {
this.setState({ result: result.result });
}
else {
this.setState({ result: result.message });
if (result.status == HMSApplication.NO_FOUND) {
this.setState({ showPreparedModel: true });
ToastAndroid.showWithGravity("Download Using Prepared Button Below", ToastAndroid.SHORT, ToastAndroid.CENTER);
}
}
}
} catch (e) {
console.log(e);
this.setState({ result: "This is an " + e });
}
}
Obtaining Languages
Obtains language codes in on-cloud and on-device translation services. For details, please refer to HMSTranslate.
JavaScript:
async getAllLanguages() {
try {
var result = await HMSTranslate.getAllLanguages(this.state.isEnabled);
console.log(result);
if (result.status == HMSApplication.SUCCESS) {
this.setState({ result: result.result.toString() });
}
else {
this.setState({ result: result.message });
}
} catch (e) {
console.log(e);
}
}
Downloading Prepared Model
A prepared model is provided for on-device analyzer to translate text. You can download the on-device analyzer model. You can translate the text in offline using the download Model. For details, please refer to HMSTranslate.
JavaScript:
async preparedModel() {
try {
var result = await HMSTranslate.preparedModel(this.getStrategyConfiguration(), this.getTranslateSetting());
console.log(result);
if (result.status == HMSApplication.SUCCESS) {
this.setState({ result: "Model download Success. Now you can use local analyze" });
}
else {
this.setState({ result: result.message });
}
} catch (e) {
console.log(e);
this.setState({ result: "This is an " + e });
}
}
Read full article continue reading
Output:
Tips and Tricks
Download latest HMS ReactNativeML plugin.
Copy the api_key value in your agconnect-services.json file and set API key.
Add the languages to translate in Translator Setting.
For project cleaning, navigate to android directory and run the below command.
Code:
gradlew clean
Conclusion:
In this article, we have learnt to integrate ML kit in React native project.
Educational apps can integrate this service to eliminate language barriers, make content more accessible, and improve learning efficiency. In addition, the service supports offline translation, allowing users to easily use the translation service even if the network is not available.
Reference
https://developer.huawei.com/consum...uides-V1/text-translation-0000001051086162-V1
Read full article link
good
Actually huawei devices are very good in term of build quality and in software side too.
Offline too.. am down
Not exactly on topic, but who made the first image of the post (the one with "hello") ?
It shows a wrong word in Hebrew . A mirrored version of the correct word.
Meaning:
םולש
instead of:
שלום
(means "Hello" or "Peace").
If you don't understand what I mean, it's as if instead of "Hello" you would see "olleH".

			
				
Very interesting.
Which languages it supports for text translation?
All things considered, it would be decent if such stages as, for instance, had such an element. In the event that my English isn't great yet I need to pass a course at an American college. It is very muddled to do that without the important abilities. I buckle down with my private English guide who assists me with accomplishing my objective. more

For anyone who wants Viper but can't get it to work.

_mysiak_ said:
Default viper4android Magisk module doesn't work for me with SELinux enforcing. "Brute force" fix is to set SELinux to permissive, but I don't like this approach. Viper4android module should patch selinux policies during installation, but it fails for some reason. Fix is quite simple:
1. Locate and edit file
Code:
/data/adb/modules/ViPER4AndroidFX/post-fs-data.sh
2. Add this text to the end of the file
Code:
magiskpolicy --live 'allow audioserver audioserver_tmpfs file { read write execute }'
magiskpolicy --live 'allow audioserver system_file file { execmod }'
magiskpolicy --live 'allow mediaserver mediaserver_tmpfs file { read write execute }'
magiskpolicy --live 'allow mediaserver system_file file { execmod }'
magiskpolicy --live 'allow audioserver unlabeled file { read write execute open getattr }'
magiskpolicy --live 'allow hal_audio_default hal_audio_default process { execmem }'
magiskpolicy --live 'allow hal_audio_default hal_audio_default_tmpfs file { execute }'
magiskpolicy --live 'allow hal_audio_default audio_data_file dir { search }'
magiskpolicy --live 'allow app app_data_file file { execute_no_trans }'
magiskpolicy --live 'allow mtk_hal_audio mtk_hal_audio_tmpfs file { execute }'
3. save, reboot phone
4. go to viper4android app and toggle legacy mode off and on, it should work now with legacy mode enabled
Click to expand...
Click to collapse
Sourced from the Xiaomi Mi 10T forums.
daemonspudguy said:
Sourced from the Xiaomi Mi 10T forums.
Click to expand...
Click to collapse
I haven't tried this yet, but is this for any version of V4A?
breacherman said:
I haven't tried this yet, but is this for any version of V4A?
Click to expand...
Click to collapse
2.7.1.x
daemonspudguy said:
2.7.1.x
Click to expand...
Click to collapse
Ok, one more thing, though you didn't mention it, did you install audio modification library in magisk, without rebooting just before installing V4A + drivers, before running through this process? Or did you just install V4A without audio modification library?
Also, out of curiosity where did you get the .apk? Considering xda is no longer hosting files?
breacherman said:
Ok, one more thing, though you didn't mention it, did you install audio modification library in magisk, without rebooting just before installing V4A + drivers, before running through this process? Or did you just install V4A without audio modification library?
Click to expand...
Click to collapse
No AML.
Thanks man, this works for me. With AML already installed.
V4A - Android 11, no edits or tricks needed. Install from magisk and reboot.
Spaceminer said:
V4A - Android 11, no edits or tricks needed. Install from magisk and reboot.
Click to expand...
Click to collapse
Doesn't this change SELinux to permissive though?
Makishima said:
Doesn't this change SELinux to permissive though?
Click to expand...
Click to collapse
I wasn't sure, so I checked. Yes, I believe it does. I'm not sure why either because Viper appears to work with enforcing.

Categories

Resources