Since, I am a premium user of Your Freedom 'VPN' I have bought its package through debit card payment!! It was all fine but suddenly yesterday I got issue in connecting to it I was using and was connected into VPN the day before but after sleep at night while in morning I Tried to connect but It didnt connect. I thought its the problem of #VPN but later when I tried into my friends and sister phones. I was able to connect, it means I got problem in My phone l.. plz help me!! Currently I am running in Android 4.4.2 kitkat and the baseband is XXUGNH6.
-Thank you!!
One thread is enough.
You tried reinstalling the app?
Yes sir, I reinstalled the app tried different version but it didnt worked
Athakuri700 said:
Yes sir, I reinstalled the app tried different version but it didnt worked
Click to expand...
Click to collapse
did you clear cache and data before deleting and reinstalling ? try it now while it's installed and see if it helps. if the app produces a log file in it's folder that will tell what went wrong. you could post that here if there is one and somebody smarter than me might be able to help you.
I cant copy that log file
clear the log if you can (never used the app myself), and start the app and try to connect. note the time you attempted it and then use a file browser to go to the apps folder (hopefully that is where the log file lives) and open it as a text file and copy it from the time to tried to start it up.
Here I got -- 1454124514.812 config on connection start
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<yfconfig>
<string name="auto_wlan_stop">********</string>
<string name="splash_version">********</string>
<string name="username">********</string>
<string name="dns_server_type_vpn">********</string>
<string name="when_last_checked_for_root">********</string>
<string name="search_dns">********</string>
<string name="auto_mobile_start">********</string>
<string name="auto_wlan_start">********</string>
<string name="dumpmode">********</string>
<string name="dumpmode_compress">********</string>
<string name="autoscroll_messages">********</string>
<string name="auto_mobile_stop_which">********</string>
<string name="auto_delay">********</string>
<set name="server_criterion" type="ServerCriterion">
<object>volume 5</object>
<object>northamerica 5</object>
<object>p2p 5</object>
<object>ipv6 5</object>
<object>europe 5</object>
<object>interactive 5</object>
<object>load 5</object>
<object>free 5</object>
<object>voip 5</object>
</set>
<string name="proxyport">********</string>
<set name="ftp_possible_suffix" type="String">
<string>bmp</string>
<string>jpg</string>
<string>iso</string>
<string>png</string>
<string>img</string>
<string>mp3</string>
<string>avi</string>
<string>txt</string>
<string>gif</string>
<string>htm</string>
</set>
<string name="search_echo">********</string>
<string name="tunnelhost">********</string>
<string name="block_ipv6_sidechannel">********</string>
<string name="search_https">********</string>
<string name="auto_wlan_start_which">********</string>
<string name="password">********</string>
<string name="proxytype">********</string>
<string name="block_ipv6_dns">********</string>
<string name="encryption">********</string>
<string name="aes">********</string>
<string name="auto_mobile_stop">********</string>
<string name="proxyhost">********</string>
<string name="dns_server_type_connection">********</string>
<string name="auto_wlan_stop_which">********</string>
<string name="search_http">********</string>
<string name="reconnect_after_shutdown">********</string>
<string name="rekey">********</string>
<string name="auto_mobile_start_which">********</string>
<string name="has_root">********</string>
<string name="protocol">********</string>
<string name="tunnelport">********</string>
<string name="vpn">********</string>
<string name="level_messages">********</string>
<string name="proxyauth">********</string>
<string name="new_config_dialog_suppress">********</string>
</yfconfig>
--
+0.009 LOG 0: Will use server em21.your-freedom.de and connection type http
-- +0.039 WC 1 setMethod method=GET
-- +0.039 WC 1 setTarget host=em21.your-freedom.de ip=null port=80
-- +0.040 WC 1 setProxy host=wikipedia.org port=443 (auth info withheld)
-- +0.042 WC 1 setURI uri=/GgWaxsjrjisj.html
-- +0.044 WC 1 setTweaks null
-- +0.045 WC 1 request timeout=0 dont_wait_for_response=false
-- +0.045 WC 1 request representations: em21.your-freedom.de
-- +0.045 WC 1 _request timeout=0 dwfr=false this_one=em21.your-freedom.de
-- +0.046 WC 1 to wikipedia.org port 443 type HTTP/HTTPS
-- +0.047 DNS2.lookupIPsAsInetAddress (0)
wikipedia.org
--
-- +0.511 looked-up DNS results for wikipedia.org
/198.35.26.96
--
-- +0.512 WC 1 socket.connect addr=198.35.26.96 port=443 timeout=10000
-- +0.972 WC 1 connect successful
-- +0.974 WC 1 Server Request
GET http://em21.your-freedom.de/GgWaxsjrjisj.html HTTP/1.0
Host: em21.your-freedom.de
Accept-Encoding: identity;q=1.0, *;q=0
Accept: text/html; text/plain; */*
Connection: close
Pragma: no-cache
Cache-Control: no-cache, no-store, no-transform
--
-- +1.325 WC 1 response header follows
HTTP/1.1 400 Bad Request
Server: nginx/1.9.4
Date: Sat, 30 Jan 2016 03:28:36 GMT
Content-Type: text/html
Content-Length: 270
Connection: close
--
-- +1.328 WC 1 message body
<html>
<head><title>400 The plain HTTP request was sent to HTTPS port</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<center>The plain HTTP request was sent to HTTPS port</center>
<hr><center>nginx/1.9.4</center>
</body>
</html>
--
+1.330 LOG 0: WC 1 Server returned error 400 and no Proxy-Authenticate header, can't do anything about it
-- +1.330 WC 1 _request returned flag=false errcode=594
-- +1.331 WC 1 eliminating representation em21.your-freedom.de after errcode=594 and dont_wait_for_response=false and o=false
+1.352 LOG 2: downlink closed by other end, closing connection and re-opening it
+3.878 LOG 1: STOP, reason: by user
+3.878 LOG 1: stopping connection
-- +3.879 Frame S->Y Stream: 0 Type: MESSAGE String: stop
+4.080 LOG 0: connection stopped
+4.081 LOG 1: VPN stopped
+4.081 LOG 0: stopping VpnService
-- +4.883 WC 2 setMethod method=POST
-- +4.883 WC 2 setTarget host=em21.your-freedom.de ip=null port=80
-- +4.884 WC 2 setProxy host=wikipedia.org port=443 (auth info withheld)
-- +4.898 WC 2 setURI uri=/GgWaxsjrjisj.cgi
-- +4.906 WC 2 setTweaks null
-- +4.914 WC 2 request timeout=0 dont_wait_for_response=true
-- +4.914 WC 2 request representations: em21.your-freedom.de
-- +4.914 WC 2 _request timeout=0 dwfr=true this_one=em21.your-freedom.de
-- +4.915 WC 2 to wikipedia.org port 443 type HTTP/HTTPS
-- +4.916 DNS2.lookupIPsAsInetAddress (0)
wikipedia.org
--
-- +4.917 looked-up DNS results for wikipedia.org
/198.35.26.96
--
-- +4.925 WC 2 socket.connect addr=198.35.26.96 port=443 timeout=10000
-- +5.264 WC 2 connect successful
-- +5.265 WC 2 Server Request
POST http://em21.your-freedom.de/GgWaxsjrjisj.cgi HTTP/1.0
Host: em21.your-freedom.de
Content-Length: 20000000
Accept-Encoding: identity;q=1.0, *;q=0
Accept: text/html; text/plain; */*
Connection: close
Content-Type: multipart/form-data; boundary=--7Lg5z/n41l76
Pragma: no-cache
Cache-Control: no-cache, no-store, no-transform
--
-- +5.266 WC 2 _request returned flag=true errcode=0
+5.268 LOG 0: sending client version: 20160128-01
-- +5.268 Frame S->Y Stream: 0 Type: MESSAGE String: version 20160128-01
+9.871 LOG 1: STOP, reason: exitService
+9.871 LOG 1: stopping connection
+9.872 LOG 0: connection stopped
Related
I have an app on the market called Gran Turismo Car Database which lists all the cars in the Gran Turismo PlayStation games.
I noticed a lot of my users were coming from France, Spain and Germany so I tried to translate my app into those languages to make it easier for users to understand. But because I don't speak those languages myself I had to use online translators. I know, bad idea, but my text is really simple so I thought it might work ok.
Anyway, I've had a few complaints about the translation so I would really appreciate it if someone who knows the languages could please point out my mistakes so I can fix them.
English
HTML:
<string name="app_name">Gran Turismo Car Database</string>
<string name="app_desc">The cars from Gran Turismo</string>
<string name="change_filter">Change Filter</string>
<string name="sort_list">Sort List</string>
<string name="view_car">Car Details</string>
<string name="choose_garage">Select Garage</string>
<string name="pick_name">Pick Name</string>
<string name="options">Options</string>
<string name="game">Game</string>
<string name="make">Make</string>
<string name="model">Model</string>
<string name="year">Year</string>
<string name="minYear">Min Year</string>
<string name="maxYear">Max Year</string>
<string name="power">Power</string>
<string name="minPower">Min Power</string>
<string name="maxPower">Max Power</string>
<string name="weight">Weight</string>
<string name="minWeight">Min Weight</string>
<string name="maxWeight">Max Weight</string>
<string name="price">Price</string>
<string name="minPrice">Min Price</string>
<string name="maxPrice">Max Price</string>
<string name="drivetrain">Drivetrain</string>
<string name="allOption">-- All --</string>
<string name="byMakeModel">by Make and Model</string>
<string name="byPrice">by Price</string>
<string name="byYear">by Year</string>
<string name="byPower">by Power</string>
<string name="byWeight">by Weight</string>
<string name="byPowerWeight">by Power/Weight</string>
<string name="byDrivetrain">by Drivetrain</string>
<string name="add">add</string>
<string name="remove">remove</string>
<string name="applyFilter">apply filter</string>
<string name="garageName">Garage Name</string>
<string name="ok">ok</string>
<string name="cancel">cancel</string>
<string name="renameGarage">Rename Garage</string>
<string name="deleteGarage">Delete Garage</string>
<string name="powerUnits">Power Units</string>
<string name="weightUnits">Weight Units</string>
<string name="downloadImages">Download Images</string>
<string name="browse">browse</string>
<string name="search">search</string>
<string name="list">list</string>
<string name="garage">garage</string>
<string name="menuHelpText">Press the menu button to filter or sort the list</string>
<string name="removeCarText">Are you sure you want to remove this car from your garage?</string>
<string name="selectGame">Select Game</string>
<string name="on">On</string>
<string name="off">Off</string>
<string name="newGarage">-- new garage --</string>
<string name="noGarageError">You don\'t have any garages!</string>
<string name="standardPremium">S/P</string>
<string name="premium">Premium</string>
<string name="standard">Standard</string>
<string name="standardAndPremium">Standard + Premium</string>
French
HTML:
<string name="app_name">Gran Turismo Car Database</string>
<string name="app_desc">les voitures de Gran Turismo</string>
<string name="change_filter">Changer le Filtre</string>
<string name="sort_list">Arranger Liste</string>
<string name="view_car">Détails sur le Véhicule</string>
<string name="choose_garage">Sélectionnez Garage</string>
<string name="pick_name">Sélectionnez le Nom</string>
<string name="options">Options</string>
<string name="game">Jeu</string>
<string name="make">Marque</string>
<string name="model">Modèle</string>
<string name="year">Année</string>
<string name="minYear">Minimum d\'un An</string>
<string name="maxYear">Maximale d\'un An</string>
<string name="power">Puissance</string>
<string name="minPower">Puissance Minimum</string>
<string name="maxPower">Puissance Maximale</string>
<string name="weight">Poids</string>
<string name="minWeight">Poids Minimum</string>
<string name="maxWeight">Poids Maximale</string>
<string name="price">Prix</string>
<string name="minPrice">Prix Minimum</string>
<string name="maxPrice">Prix Maximale</string>
<string name="drivetrain">Entraînement</string>
<string name="allOption">-- tout --</string>
<string name="byMakeModel">marque et le modèle</string>
<string name="byPrice">prix</string>
<string name="byYear">année</string>
<string name="byPower">puissance</string>
<string name="byWeight">poids</string>
<string name="byPowerWeight">puissance / poids</string>
<string name="byDrivetrain">entraînement</string>
<string name="add">ajouter</string>
<string name="remove">ôter</string>
<string name="applyFilter">appliquer le filtre</string>
<string name="garageName">Nom de Garage</string>
<string name="ok">ok</string>
<string name="cancel">annuler</string>
<string name="renameGarage">garage renommer</string>
<string name="deleteGarage">supprimer garage</string>
<string name="powerUnits">unités de puissance</string>
<string name="weightUnits">unités de poids</string>
<string name="downloadImages">télécharger des images</string>
<string name="browse">explorer</string>
<string name="search">chercher</string>
<string name="list">liste</string>
<string name="garage">garage</string>
<string name="menuHelpText">Appuyez sur le bouton de menu pour filtrer ou trier la liste</string>
<string name="removeCarText">Etes-vous sûr de vouloir supprimer cette voiture de votre garage?</string>
<string name="selectGame">Sélectionner un Jeu</string>
<string name="on">permettre</string>
<string name="off">rendre infirme</string>
<string name="newGarage">-- nue garage --</string>
<string name="noGarageError">Vous n\'avez pas garages!</string>
Spanish
HTML:
<string name="app_name">Gran Turismo Car Database</string>
<string name="app_desc">los autos de Gran Turismo</string>
<string name="change_filter">Seleccione Filter</string>
<string name="sort_list">Ordenar la Lista</string>
<string name="view_car">Información de Auto</string>
<string name="choose_garage">Seleccione Garaje</string>
<string name="pick_name">Elija Nombre</string>
<string name="options">Opciones</string>
<string name="game">Juego</string>
<string name="make">Marca</string>
<string name="model">Modelo</string>
<string name="year">Año</string>
<string name="minYear">Año Mínimo</string>
<string name="maxYear">Año Máximo</string>
<string name="power">Potencia</string>
<string name="minPower">Potencia Mínimo</string>
<string name="maxPower">Potencia Máximo</string>
<string name="weight">Peso</string>
<string name="minWeight">Peso Mínimo</string>
<string name="maxWeight">Peso Máximo</string>
<string name="price">Costa</string>
<string name="minPrice">Precio Mínimo</string>
<string name="maxPrice">Precio Máximo</string>
<string name="drivetrain">Tren Motriz</string>
<string name="allOption">-- alguno --</string>
<string name="byMakeModel">marca y modelo</string>
<string name="byPrice">costa</string>
<string name="byYear">año</string>
<string name="byPower">potencia</string>
<string name="byWeight">peso</string>
<string name="byPowerWeight">potencia / peso</string>
<string name="byDrivetrain">tren motriz</string>
<string name="add">incluir</string>
<string name="remove">alejar</string>
<string name="applyFilter">aplicar el filtro</string>
<string name="garageName">Garaje Nombre</string>
<string name="ok">ok</string>
<string name="cancel">cancelar</string>
<string name="renameGarage">Cambiar el nombre de Garaje</string>
<string name="deleteGarage">Eliminar Garaje</string>
<string name="powerUnits">Unidades de Potencia</string>
<string name="weightUnits">Unidades de Peso</string>
<string name="downloadImages">Descargar imágenes</string>
<string name="browse">vistazo</string>
<string name="search">buscar</string>
<string name="list">lista</string>
<string name="garage">garaje</string>
<string name="menuHelpText">Pulse el botón de menú para filtrar u ordenar la lista</string>
<string name="removeCarText">¿Está seguro que desea eliminar este vehículo en su garaje?</string>
<string name="selectGame">Seleccionar juego</string>
<string name="on">en</string>
<string name="off">fuera</string>
<string name="newGarage">-- nuevo garaje --</string>
<string name="noGarageError">usted no tiene ninguna garajes!</string>
German
HTML:
<string name="app_name">Gran Turismo Car Database</string>
<string name="app_desc">die autos von Gran Turismo</string>
<string name="change_filter">unter filter</string>
<string name="sort_list">liste sortieren</string>
<string name="view_car">Fahrzeugausstattung</string>
<string name="choose_garage">wählen garage</string>
<string name="pick_name">auswählen name</string>
<string name="options">Optionen</string>
<string name="game">Spiel</string>
<string name="make">Fabrikat</string>
<string name="model">Bauform</string>
<string name="year">Jahr</string>
<string name="minYear">minimum jahre</string>
<string name="maxYear">maximalen jahres</string>
<string name="power">Gewalt</string>
<string name="minPower">minimum gewalt</string>
<string name="maxPower">maximalen gewalt</string>
<string name="weight">Gewicht</string>
<string name="minWeight">minimum gewicht</string>
<string name="maxWeight">maximalen gewicht</string>
<string name="price">Kurs</string>
<string name="minPrice">minimum kurs</string>
<string name="maxPrice">maximalen kurs</string>
<string name="drivetrain">Antriebsstrang</string>
<string name="allOption">-- aller --</string>
<string name="byMakeModel">Fabrikat + Bauform</string>
<string name="byPrice">kurs</string>
<string name="byYear">jahr</string>
<string name="byPower">gewalt</string>
<string name="byWeight">gewicht</string>
<string name="byPowerWeight">gewalt zu gewicht</string>
<string name="byDrivetrain">antriebsstrang</string>
<string name="add">zusetzen</string>
<string name="remove">ablegen</string>
<string name="applyFilter">filter anwenden</string>
<string name="garageName">garage namen</string>
<string name="ok">ok</string>
<string name="cancel">abbrechen</string>
<string name="renameGarage">umbenennen garage</string>
<string name="deleteGarage">löschen garage</string>
<string name="powerUnits">einheiten der macht</string>
<string name="weightUnits">gewichtseinheiten</string>
<string name="downloadImages">bilder herunterladen</string>
<string name="browse">äsen</string>
<string name="search">suchen</string>
<string name="list">liste</string>
<string name="garage">garage</string>
<string name="menuHelpText">drücken sie die menü-taste, um filter oder sortieren sie die liste</string>
<string name="removeCarText">sind sie sicher, dass dieses auto aus der garage zu entfernen?</string>
<string name="selectGame">wählen spiel</string>
<string name="on">angeschaltet</string>
<string name="off">ausgeschaltet</string>
<string name="newGarage">-- neue garage --</string>
<string name="noGarageError">sie haben noch keine garagen!</string>
Many thanks to anyone that can help me.
Hi, I can help you with spanish translation if you need help.
Most of the spanish trasnlation is correct, but i find this mistakes.
I include the lines here that i rapidly saw wrong, with the correct translation in RED.
If you need any more help, don´t hesitate to aks.
Bye
<string name="price">Costa</string> --- correct translation: Precio
<string name="allOption">-- alguno --</string> correct translation: Todos
<string name="add">incluir</string> correct translation: Agregar
<string name="remove">alejar</string> correct translation: Quitar
<string name="noGarageError">usted no tiene ninguna garajes!</string> correct translation: usted no tiene ningún garage
<string name="app_name">Gran Turismo Auto Datenbank</string>
<string name="app_desc">Autos aus Gran Turismo</string>
<string name="change_filter">Change Filter</string>
<string name="sort_list">Liste sortieren</string>
<string name="view_car">Auto Details</string>
<string name="choose_garage">Garage auswählen</string>
<string name="pick_name">Name auswählen</string>
<string name="options">Optionen</string>
<string name="game">Spiel</string>
<string name="make">Marke</string>
<string name="model">Model</string>
<string name="year">Jahr</string>
<string name="minYear">min Jahr</string>
<string name="maxYear">max Jahr</string>
<string name="power">Kraft</string>
<string name="minPower">Min Kraft</string>
<string name="maxPower">Max Kraft</string>
<string name="weight">Gewicht</string>
<string name="minWeight">Min Gewicht</string>
<string name="maxWeight">Max Gewicht</string>
<string name="price">Preis</string>
<string name="minPrice">Min Preis</string>
<string name="maxPrice">Max Preis</string>
<string name="drivetrain">Verbrauch</string>
<string name="allOption">-- Alle --</string>
<string name="byMakeModel">by Marke and Model</string>
<string name="byPrice">nach Preis</string>
<string name="byYear">nach Jahr</string>
<string name="byPower">nach Kraft</string>
<string name="byWeight">nach Gewicht</string>
<string name="byPowerWeight">nach Kraft/Gewicht</string>
<string name="byDrivetrain">nach Verbrauch</string>
<string name="add">hinzufügen</string>
<string name="remove">entfernen</string>
<string name="applyFilter">Filter anwenden</string>
<string name="garageName">Garagen Name</string>
<string name="ok">ok</string>
<string name="cancel">abbrechen</string>
<string name="renameGarage">Garage umbenennen</string>
<string name="deleteGarage">Garage löschen</string>
<string name="powerUnits">Kraft Einheiten</string>
<string name="weightUnits">Gewicht Einheiten</string>
<string name="downloadImages">Bilder herunterladen</string>
<string name="browse">browse</string>
<string name="search">suchen</string>
<string name="list">Liste</string>
<string name="garage">Garage</string>
<string name="menuHelpText">Menü Knopf drücken um die Liste zu sortieren oder zu filtern</string>
<string name="removeCarText">Sicher, dass du dieses Auto von deiner Garage entfernen möchtest?</string>
<string name="selectGame">Spiel auswählen</string>
<string name="on">An</string>
<string name="off">Aus</string>
<string name="newGarage">-- neue Garage --</string>
<string name="noGarageError">Du hast keine Garagen!</string>
<string name="standardPremium">S/P</string>
<string name="premium">Premium</string>
<string name="standard">Standard</string>
<string name="standardAndPremium">Standard + Premium</string>
Click to expand...
Click to collapse
hopefully i didn't forget anything it's german btw^^
Ron987 said:
hopefully i didn't forget anything it's german btw^^
Click to expand...
Click to collapse
Thanks! Do you think German people who don't know English would understand "Change Filter" on a button? or is there a better German phrase I can use?
<string name="byMakeModel">nach Marke und Model</string>
<string name="cancel">Abbrechen</string>
<string name="browse">durchsuchen</string>
<string name="removeCarText">Wirklich dieses Auto aus deiner Garage entfernen?</string>
You can always make a http://crowdin.net project.
Thats used a lot to translate apps to different languages.
jgittins said:
Thanks! Do you think German people who don't know English would understand "Change Filter" on a button? or is there a better German phrase I can use?
Click to expand...
Click to collapse
"Filter ändern" is the german translation.
Hello,
My translation in french :
<string name="app_name">Base de donnée des véhicules Gran Turismo</string>
<string name="app_desc">les véhicules de Gran Turismo</string>
<string name="change_filter">Changer le Filtre</string>
<string name="sort_list">Organiser Liste</string>
<string name="view_car">Détails du Véhicule</string>
<string name="choose_garage">Sélectionnez Garage</string>
<string name="pick_name">Sélectionnez le Nom</string>
<string name="options">Options</string>
<string name="game">Jeu</string>
<string name="make">Marque</string>
<string name="model">Modèle</string>
<string name="year">Ancienneté</string>
<string name="minYear">Age Minimum</string>
<string name="maxYear">Age Maximum</string>
<string name="power">Puissance</string>
<string name="minPower">Puissance Minimum</string>
<string name="maxPower">Puissance Maximum</string>
<string name="weight">Poids</string>
<string name="minWeight">Poids Minimum</string>
<string name="maxWeight">Poids Maximum</string>
<string name="price">Prix</string>
<string name="minPrice">Prix Minimum</string>
<string name="maxPrice">Prix Maximum</string>
<string name="drivetrain">Transmission</string>
<string name="allOption">-- tout --</string>
<string name="byMakeModel">Par marque et modèle</string>
<string name="byPrice">Par prix</string>
<string name="byYear">Par année</string>
<string name="byPower">Par puissance</string>
<string name="byWeight">Par poids</string>
<string name="byPowerWeight">Rapports poids/puissance</string>
<string name="byDrivetrain">Par transmission</string>
<string name="add">Ajouter</string>
<string name="remove">Supprimer</string>
<string name="applyFilter">appliquer le filtre</string>
<string name="garageName">Nom de Garage</string>
<string name="ok">ok</string>
<string name="cancel">annuler</string>
<string name="renameGarage">Renommer garage</string>
<string name="deleteGarage">supprimer garage</string>
<string name="powerUnits">unités de puissance</string>
<string name="weightUnits">unités de poids</string>
<string name="downloadImages">télécharger des images</string>
<string name="browse">explorer</string>
<string name="search">chercher</string>
<string name="list">liste</string>
<string name="garage">garage</string>
<string name="menuHelpText">Appuyez sur le bouton de menu pour filtrer ou trier la liste</string>
<string name="removeCarText">Etes-vous sûr de vouloir supprimer cette voiture de votre garage?</string>
<string name="selectGame">Sélectionner un Jeu</string>
<string name="on">Autoriser</string>
<string name="off">Refuser</string>
<string name="newGarage">-- Nouveau garage --</string>
<string name="noGarageError">Vous n'avez pas de garages !</string>
But i didn't test your app, so some word may be incorrect...
Hi, guys. These days I have been translating a couple of chinese applications and I noticed is a very messy process if you don't have the correct tools to help you, so I created a simple bash script file to help us to translate.
The script just create a backup of the original apk file, and after that it creates the correct language dir if needed, it copies the original strings.xml if needed and automatically opens it to edit. After that, it recompiles and signs the package, and deletes all the garbage.
First of all, you need these files:
# - aapt
# - apktool.jar
# - emacs (you can use other editor)
# - correct framework
# (you can find it in your rom package
# rom-package/system/framework/framework-res.apk)
# - java
# - privatekey (*.pk8)
# - publickey.x509 (*.pem)
# - signapk.jar
# - unzip
# - zip
emacs, java, zip and unzip can be easily found with your favourite linux package system. The framework is in the correct directory into your favourite rom, and the other files can be found in their respectives packages, but don't worry, here you have the "easy way"
http://www.megaupload.com/?d=S2DXBO32
Well, when you have it installed, you just need to set the first parameter of the script (main_dir) and it should work, because the rest of the paths are relative. Enjoy .
EDIT: ups, I almost forget it. The syntax is "translate-apk.sh package.apk language-id".
Form example, to translate into french: translate-apk.sh package.apk fr
Code:
#!/bin/bash
#CAUTION: needed packages:
# - aapt
# - apktool.jar
# - emacs (you can use other editor)
# - correct framework
# (you can find it in your rom package
# rom-package/system/framework/framework-res.apk)
# - java
# - privatekey (*.pk8)
# - publickey.x509 (*.pem)
# - signapk.jar
# - unzip
# - zip
#VARIABLES-------------------------------------
#Main directory
main_dir="/home/sparkster/programas/apktranslation/"
#Translation files
aapt="$main_dir"/aapt
apktool="$main_dir"/apktool.jar
framework="$main_dir"/framework-res.apk
privatekey="$main_dir"/key.pk8
publickey="$main_dir"/certificate.pem
signapk="$main_dir"/signapk.jar
#Executables
java=java
text_editor=emacs
unzip=unzip
zip=zip
#ERROR CHECK------------------------------------
#Syntax check
if [ $# != 2 ] ; then
echo "SYNTAX: translate-apk.sh app.apk language-id"
echo "EXAMPLE: translate-apk.sh myapp.apk en"
echo "EXAMPLE: translate-apk.sh yourapp.apk fr"
else
#Temp directory check
if [[ ! -d backup ]] ; then
mkdir backup
fi
#Save original apk
echo "--creating original package backup"
cp "$1" backup/
echo "--original package backup complete"
echo "--installing framework"
"$java" -jar "$apktool" if "$framework"
echo "--framework installed"
echo "--decoding apk"
"$java" -jar "$apktool" d -f "$1" decoded
echo "--apk decoded in "$main_dir"/decoded"
#Language directory check
if [[ ! -d decoded/res/values-"$2" ]] ; then
mkdir decoded/res/values-"$2"
cp decoded/res/values/strings.xml decoded/res/values-"$2"/
fi
cut -d\> -f2 decoded/res/values-"$2"/strings.xml > temp.xml
cut -d\< -f1 temp.xml > temp2.xml
echo
echo
echo "--Press ENTER when the translation is ready"
"$text_editor" decoded/res/values-"$2"/strings.xml &
"$text_editor" temp2.xml &
read
echo "--encoding apk"
"$aapt" p -f -F temp -I "$framework" -S decoded/res -M decoded/AndroidManifest.xml
echo "--apk encoded"
echo "--transferring resources.arsc"
unzip temp resources.arsc
zip "$1" resources.arsc
echo "--resources.arsc transferred"
signed_name=${1%.*apk}-signed.apk
"$java" -jar "$signapk" "$publickey" "$privatekey" "$1" "$signed_name"
echo "--package signed"
echo "--cleaning"
rm temp
rm temp.xml
rm temp2.xml
rm resources.arsc
rm "$1"
rm -fr decoded
echo "--translation finished"
echo
echo
echo
echo "--Also your hard drive has just been formatted"
sleep 3
echo "--Just kidding"
fi
Hi again, folks. I have just done a little improvement of the script. Now it also displays the original strings separated into rows, so you can easily cut and paste them into google translate or something similar. The script is edited in the first post.
Hi again and again. I have just found an application that I can't install after signing it (Love meters or somuthing similar, a chinese market). If I find out what is happening with that, I'll change the script to solve it. Time to guess what is happening
EDIT: well, I made a little test and as I thought the problem is not in the signing but in the apk itself, so maybe I should change the method to translate this.
I have been all day trying to solve that problem, but it seems it's an application issue, so it's not my script's fault, and I am not able to solve it.
If anybody wants to try, I will be happy to have a solution to this problem. This is the ·&%("%&·$ apk:
http://www.megaupload.com/?d=J3ZH8N46
EDIT: I also paste the spanish translation, of strings.xml just in case it helps
Code:
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<string name="app_name">Metros amor</string>
<string name="status_downloading">Descargar</string>
<string name="status_paused">Pausado</string>
<string name="status_downloaded">Descargado</string>
<string name="status_installed">Instalado</string>
<string name="status_hasupdate">Actualizaciones</string>
<string name="status_downloading_action">Cancelar</string>
<string name="status_downloaded_action">Instalación</string>
<string name="status_installed_action">Desinstalar</string>
<string name="status_hasupdate_action">Actualizar</string>
<string name="processing">Procesando...</string>
<string name="confirm">Confirmar</string>
<string name="register_welcome">Regístrate</string>
<string name="login_welcome">Acceder</string>
<string name="use_welcome">Saltar</string>
<string name="welcome_1">Aplicaciones y juegos!</string>
<string name="welcome_2">Miembros registrados muy pronto!</string>
<string name="welcome_3">Estad pendientes!</string>
<string name="welcome">Bienvenido a metros amor</string>
<string name="write">Por favor, rellena</string>
<string name="comment_top">COmentarios</string>
<string name="error_happen_on_downloading">Error en la descarga. Reintentar</string>
<string name="welcome_choose">Seleccione categoría (modificable en configuración)</string>
<string name="downloaded_notification">Aimi Ti te mostrará:</string>
<string name="cate1">Varios juegos</string>
<string name="cate2">Lectura</string>
<string name="cate3">Cartas</string>
<string name="cate4">Jugador</string>
<string name="cate5">RPG</string>
<string name="cate6">Acción</string>
<string name="cate7">Info sobre SW</string>
<string name="cate8">Online</string>
<string name="cate9">Estrategia</string>
<string name="downloading_notification">Para iniciar la descarga~</string>
<string name="installing_notification">Descarga completada. Haga click en instalar.</string>
<string name="aimi_update_notification">%1$s nueva versión. Click para ver</string>
<string name="download_count">%1$s descargas</string>
<string name="app_has_update_notification_title">%1$s actualización disponible</string>
<string name="app_has_update_notification_context">Nueva versión. Haga click en actualizar</string>
<string name="callback_notification_title">Información</string>
<string name="callback_notification_context">Nuevo software. Haga click en la vista</string>
<string name="network_error_msg">Fallo de red. Reintentar</string>
<string name="prompt_title">Consejos</string>
<string name="quit_confirm">Salir de metros amor?</string>
<string name="yes">Sí</string>
<string name="no">No</string>
<string name="app_detail">Apps</string>
<string name="comment_list">Comentarios</string>
<string name="related_app">Programas relacionados</string>
<string name="no_update_item">No hay actualización</string>
<string name="jump">Saltar</string>
<string name="menu_help">Acerca de</string>
<string name="menu_setting">Opciones</string>
<string name="submit">Enviar</string>
<string name="menu_suggestion">Sugerencias</string>
<string name="suggestion_awake">Metros amor acepta sugerencias\nSi no te has registrado, introduce tu correo electrónico para poder responderte.</string>
<string name="sendsuggestion_susseccful">Sugerencia enviada</string>
<string name="sendsuggestion_failed">Error en la sugerencia</string>
<string name="content_null">Por favor, rellena la sugerencia</string>
<string name="menu_exit">Salir</string>
<string name="about_silver">Metros amor tiene su propia divisa, almacenada en cada cuenta</string>
<string name="about_silver_question">Utilizar plata?</string>
<string name="about_silver_answer">Al llegar a una cierta cantidad de plata se puede utilizar para cambiar por regalos o comprar juegos reales</string>
<string name="about_silver_question2">Cómo puedo ganar monedas?</string>
<string name="about_silver_answer2">Subiendo apps, invitando a tus amigos, opinando sobre el software...</string>
<string name="get_it">Entiendo</string>
<string name="tabtitle_new">Nuevo</string>
<string name="tabtitle_hot">Más descargado</string>
<string name="menu_find_pwd">Olvidaste tu pass?</string>
<string name="menu_modify_pwd">Cambiar contraseña</string>
<string name="menu_logout">Desconectar</string>
<string name="menu_account">Menú personal</string>
<string name="tabtitle_suggested_new">Supongo que como</string>
<string name="tabtitle_suggested_hot">Nuevo</string>
<string name="tabtitle_suggested_others_download">Descargar noticias</string>
<string name="tabtitle_rank_week">Top semanal</string>
<string name="tabtitle_rank_month">Top mensual</string>
<string name="tabtitle_rank_all">Comienzo</string>
<string name="tabtitle_cate_app">Apps</string>
<string name="tabtitle_cate_game">Juegos</string>
<string name="tabtitle_cate_chart">Temas</string>
<string name="tabtitle_downloading">Supongo que como</string>
<string name="tabtitle_downloaded">Mis descargas</string>
<string name="tabtitle_searchresult">Resultados</string>
<string name="price">%1$s monedas</string>
<string name="title_text_seperator">></string>
<string name="free">Gratis</string>
<string name="languagetext">Idioma: %1$s</string>
<string name="versiontext">Ver: %1$s</string>
<string name="sizetext">Tamaño: %1$s</string>
<string name="author">Autor: %1$s</string>
<string name="no_version">N/A</string>
<string name="rating_count">Necesario %1$s para participar</string>
<string name="comment_count">%1$s comentarios</string>
<string name="language_chinese">Chino</string>
<string name="language_english">Inglés</string>
<string name="rate_app">Quiero comentar</string>
<string name="view_rating">Ver comentarios</string>
<string name="loading_bg_text">Cargando</string>
<string name="email">email</string>
<string name="user_name">Usuario (email):</string>
<string name="user_password">Pass:</string>
<string name="user_login">Entrar</string>
<string name="user_findback_pwd">Pass olvidado?</string>
<string name="user_register">Hasta</string>
<string name="cate_newest_app_name">Última actualización: %1$s</string>
<string name="cate_app_count">%1$s</string>
<string name="rating_up">Principio!</string>
<string name="rating_down">Paso!</string>
<string name="charge_list_test">Recarga de forma</string>
<string name="charge_cardnumber">Número de tarjeta de recarga:</string>
<string name="charge_password">Contraseña de la tarjeta:</string>
<string name="charge_amount">Cantidad</string>
<string name="charge">Recarga</string>
<string name="user_info_name">Cuenta: %1$s</string>
<string name="user_info_nickname">Hola, %1$s</string>
<string name="user_info_phone">Teléfono: %1$s</string>
<string name="user_info_gold">Balance: %1$s米</string>
<string name="user_info_score">Puntuación</string>
<string name="user_info_what_is_gold">Qué es el oro?</string>
<string name="user_info_what_is_score">Qué es la puntuación?</string>
<string name="user_info_editinfo">Editar info</string>
<string name="user_info_consumelog">Horóscopos</string>
<string name="user_info_invite">Personalizar la piel</string>
<string name="user_info_charge">Recarga</string>
<string name="user_info_casino">Buscar actualizaciones</string>
<string name="user_info_changepwd">Cambiar contraseña</string>
<string name="user_info__logout">Desconectar</string>
<string name="user_info_casino_result">Versión actual instalada</string>
<string name="invite_info1">Invitar a un amigo proporciona una recompensa de 100 platas. También una oportunidad para dibujar.</string>
<string name="invite_info2">NOTA: No te olvides de recordar a tus amigos que hagan click en la dirección que recibieron, si no no serás recompensado.</string>
<string name="invite_btn">Invitar a amigos</string>
<string name="search_moreapp">Buscar en línea</string>
<string name="comment_user_label">Usuarios:</string>
<string name="comment_time_label" />
<string name="comment_rating_up">Comienzo</string>
<string name="comment_rating_down">Final</string>
<string name="comment_rating">Quiero comentar</string>
<string name="next_hot_key">Más populares</string>
<string name="groupheader_downloading">Descargar en (%1$s)</string>
<string name="groupheader_installed">Instalada (%1$s)</string>
<string name="groupheader_update">Actualizaciones disponibles (%1$s)</string>
<string name="groupheader_downloaded">Descargado no se instala (%1$s)</string>
<string name="input_username">Usuario (email):</string>
<string name="input_password">Pass:</string>
<string name="repeat_password">Repetir pass:</string>
<string name="not_set" />
<string name="input_phone">Teléfono:</string>
<string name="input_nickname">Nick:</string>
<string name="upload_user_info_Btn">Enviado</string>
<string name="set_userinfo_success">Enviado con éxito</string>
<string name="set_userinfo_fail">Confirmación fallida. Reintentar.</string>
<string name="bottom_button_download">Descargar</string>
<string name="bottom_button_comment">Comentarios</string>
<string name="bottom_button_install">Instalar</string>
<string name="bottom_button_uninstall">Desinstalar</string>
<string name="bottom_button_update">Actualizar</string>
<string name="bottom_button_launch">Abrir</string>
<string name="bottom_button_delete">Eliminar</string>
<string name="register_success">Registrado con éxito</string>
<string name="register_fail">Error en el registro. Reintentar</string>
<string name="show_more_screenshots">Ver más shots</string>
<string name="error_select_channel">Seleccionar el modo de recarga</string>
<string name="charge_successful">Recarga exitosa.</string>
<string name="pay_successful">Pago exitoso.</string>
<string name="empty_downloading_list">Vacío? Ve a recomendaciones</string>
<string name="empty_downloaded_list">Vacío? Acción rápida!</string>
<string name="firsttime_prompt">Hola, hoy es %1$s, cargando...</string>
<string name="error_pay_failed">Pago fallido. Reintentar.</string>
<string name="error_pay_wrong_appid">Pago fallido. La aplicación podría ser ilegal</string>
<string name="error_pay_no_balance">Tu saldo (%1$s monedas) es insuficiente, por favor recarga</string>
<string name="error_charge_wrong_card">Número de tarjeta incorrecto</string>
<string name="error_charge_wrong_number">Contraseña incorrecta</string>
<string name="error_charge_no_balance">Saldo insuficiente</string>
<string name="error_charge_wrong_amount">Recarga no! Completar la recarga canal correcto blablabla montón de texto cantidad errónea</string>
<string name="error_charge_wrong_type">Tipo de tarjeta incorrecto</string>
<string name="error_charge_failed">Recarga fallida</string>
<string name="error_login_wrong_name">Usuario inexistente</string>
<string name="error_login_wrong_pwd">Contraseña incorrecta</string>
<string name="login_failed">Error de acceso</string>
<string name="error_charge_list">Error en la recarga</string>
<string name="error_relate_list">Error</string>
<string name="login_hint_pay_login">Necesita prestar %1s metros. Para garantizar la seguridad en cuenta ingrese o regístrese gratis.</string>
<string name="login_hint_pay_pwd">Necesita prestar %1s metros.\nPara garantizar la seguridad en cuenta, introduzca pass.</string>
<string name="login_hint_download">Para descargar más? Ingrese o regístrese.</string>
<string name="login_hint_comment">Iniciar sesión para comentar</string>
<string name="login_hint_session_timeout">Tiempo de inicio de sesión caducado</string>
<string name="login_hint_welcome">Bienvenido</string>
<string name="error_find_pwd_wrong_email">Email no certificado. Reintentar</string>
<string name="find_pwd_failed">El pass no funciona? Contacta con atención al cliente</string>
<string name="find_pwd_successful">Contraseña enviada al email.</string>
<string name="find_pwd_edit_email">Introduzca su email</string>
<string name="error_search_failed">Búsqueda infructuosa</string>
<string name="error_search_no_app">No se ha encontrado. Volver a ver mañana!</string>
<string name="change_pwd_old_pwd">Contraseña antigua</string>
<string name="change_pwd_new_pwd">Contraseña nueva</string>
<string name="change_pwd_new_pwd_confirm">Confirmar</string>
<string name="change_pwd">Enviado</string>
<string name="change_pwd_successful">Contraseña cambiada con éxito</string>
<string name="change_pwd_failed">Error en el cambio de contraseña</string>
<string name="error_change_pwd_wrong_old">Contraseña original incorrecta</string>
<string name="get_comments_failed">No se pudo obtener comentarios.</string>
<string name="get_comments_no_comment">No hay comentarios. Sé el primero...</string>
<string name="get_my_rating_failed">Error al seguir comentario</string>
<string name="comment_failed">Error al comentar</string>
<string name="comment_successful">Comentario añadido</string>
<string name="comment_no_comment">El comentario no puede estar vacío.</string>
<string name="comment_grade_successful">Valorado con éxito</string>
<string name="comment_grade_failed">Error en la valoración</string>
<string name="comment">Enviado</string>
<string name="comment_modify">Modificar</string>
<string name="comment_add">Comentario:</string>
<string name="comment_hint">La evaluación de cada aplicación por primera vez da una medalla de plata.</string>
<string name="rate_1star">Muy pobre</string>
<string name="rate_2star">Pobre</string>
<string name="rate_3star">Buena</string>
<string name="rate_4star">Recomendable</string>
<string name="rate_5star">Muy recomendable</string>
<string name="rate_no_star">Sin puntuación</string>
<string name="rate_need_select">No se ha seleccionado valoración</string>
<string name="dialog_title_choose_share_option">Compartir-%1$s</string>
<string name="share_via_sms">Compartir a través de SMS</string>
<string name="share_via_email">Enviar por correo</string>
<string name="share_via_sms_content">Hola, estoy en la tienda de software descargado amor metros %1$s, grandes, ir a descargarlo. (Ver: aimi8.com / d. más emocionante, por favor visite el medidor de amor aimi8.com)</string>
<string name="share_via_email_subject">%1$s--%2$s feliz de compartir</string>
<string name="share_via_email_sharer">Metros amor</string>
<string name="share_via_email_content">Hola, estoy en la tienda de software descargado amor metros %1$s, muy buena. También puede ir a la tienda buscando cosas de software amor metros que quieras Oh, dirección Ver: http://www.aimi8.com/d - ir a visitar a la más emocionante que http://www.aimi8.com)</string>
<string name="share_content">Hola, estoy en la tienda de software descargado amor metros %1$s, muy buena ah, la dirección de descarga: http://aimi8.com/aimi8/app/%2$s_1_0.html - metros amor más emocionante ir a visitar a su http://www.aimi8.com</string>
<string name="error_http_timeout">Error de red.</string>
<string name="version_id">Ver: %1$s</string>
<string name="version_about">(c)2010 SmarterMob Inc.</string>
<string name="service_hotline">Servicio: [email protected]</string>
<string name="corporate_name">Y la nueva abeja Rui (Beijing) Technology Co., Ltd.</string>
<string name="web_support">web: www.aimi8.com</string>
<string name="newbee_support">Producciones abeja y nosequé</string>
<string name="newbee_name">Más movidas de derechos</string>
<string name="newbee_hotline">servicio: [email protected]</string>
<string name="error_null_name">El nombre de usuario no puede estar vacío</string>
<string name="error_null_pwd">La contraseña no puede estar vacía</string>
<string name="error_null_email">El email no puede estar vacío</string>
<string name="error_null_card_number">La tarjeta de recarga no puede estar vacía</string>
<string name="error_null_card_pwd">La contraseña de la tarjeta no puede estar vacía</string>
<string name="error_null_card_amount">La cantidad no puede estar vacía</string>
<string name="error_name_not_email">El nombre no es un email válido</string>
<string name="error_pwd_not_match">Las contraseñas no coinciden</string>
<string name="error_email_not_email">El email no es válido</string>
<string name="error_phone_not_phone">Formato de teléfono incorrecto</string>
<string name="choose_email_client">Seleccionar la forma de contacto</string>
<string name="choose_share_client">Seleccionar forma de compartir</string>
<string name="setting_cate_market">Configuración de la tienda</string>
<string name="setting_download_icon">Icono de descargas</string>
<string name="setting_download_icon_summary">No mostrar imágenes para ahorrar tráfico</string>
<string name="setting_update_notification">Notificar actualizaciones</string>
<string name="setting_update_notification_summary">Notifica automáticamente las actualizaciones</string>
<string name="setting_voice_notification">Ajustes de sonido y vibración</string>
<string name="setting_voice_notification_summary">Notifica las descargas</string>
<string name="setting_clear_memory_title">Borrar caché</string>
<string name="setting_clear_memory_content">Borrar la caché puede ahorrar espacio de la tarjeta, pero hará que haya más tráfico de datos. Desactivar?</string>
<string name="update_download">Descargar la nueva versión</string>
<string name="update_install">Instalar la nueva versión</string>
<string name="bigsize_file">Se va a descargar una gran cantidad de datos. Se recomienda WiFi</string>
<string name="continue_download">Continuar</string>
<string name="cancel">Cancelar</string>
<string name="download_time_sec">%1$s segundos</string>
<string name="download_time_min">%1$s minutos</string>
<string name="download_time_hour">%1$s horas</string>
<string name="download_time_day">%1$s días</string>
<string name="select_favor_cate_null">Seleccione categorías</string>
<string name="my_favor_cate">Seleccione las apps que le interesan</string>
<string name="my_favor_cate_summary">Sus opciones pueden mejorar la búsqueda de aplicaciones</string>
<string name="network_setting">Configuración de red</string>
<string name="no_network">Comprobar que la red está correctamente configurada</string>
<string name="coming_soon">Característica no disponible todavía</string>
<string name="daily_recommend">Recomendación diaria</string>
<string name="menu_recommend">Recomendación de hoy</string>
<string name="today_recommend">Recomendación de hoy:</string>
<string name="date_recommend">%1$s recomendado:</string>
<string name="no_recommend">No hay recomendaciones</string>
<string name="recommend_bottom_button_download">Descargar ahora</string>
<string name="error_not_found_recommend_app">Aplicación inexistente!</string>
<string name="rating_unit">%1$s puntos</string>
<string name="rating_no_score">Sin puntuación</string>
</resources>
I surrend, I cannot fin the problem with that application. Anyway I tried the script with another couple of apps and it works correctly. I also changed it a little, so now it uses less files. You can download the new script here:
http://www.megaupload.com/?d=HHD7J8O2
I have been working on a work around for Compiling Theme Chooser Themes since android.git.kernel.org has been down for a while now
Here is the Original How to guide with my changes to it to make things easier for users of this and though who have not downloaded this excellent application src
I am using Windows xp 32 bit with the most recent Version of CYGWIN and everything works just fine while rewriting this guide to work for though who cant access kernel.org anymore due to the downtime.
I am not the ORIGINAL Writier of this guide I have only modified it to work due to the kernel.org being down and supplying a alternative to theme chooser development as well as adjust it to help Cygwin users on windows machines
-COMPILING THEME'S FOR CYANOGEN MOD/T-MOBILE THEME ENGINE-
Web - http://code.google.com/p/android-theme/ - https://github.com/haxzamatic - http://pastebin.com/L8CreqP7
NOTE: This guide assumes you prepared your build environment by following the Cyanogen Mod Wiki - http://goo.gl/LTy7 If you have a x32 system you need to use the CM method below. You also may want to build CM/AOSP before trying this since it's more documented. I did the best I can to put this together please put suggestions and corrections in the comments. I would follow this guide and compile templatebread before adding your additions if it's your first time! A Eclipse Template will be made available from T-Moblie eventually and should make this a lot easier. We need to to compile the apk with -x 10 package scope and is not currently possible to set custom AAPT flags in Eclipse. We need a SDK add-on! When a SDK for the themes is released I will update and make a Templatebread for Eclipse. Hope this clears things up.
Compiled Templatebread APK - http://bit.ly/hdEWsf
The apk is signed and ready to install. If your planning on waiting for the Eclipse Template and want to test or start the theme while waiting I would use apktool and decompile templatebread.apk make your changes and compile. After you compile with apktool use an untouched copy of templatebread you got here and use an archiver to copy your changes into the apk that was compiled correctly. After that sign and test on your device.
PS: I had to figure all of this out myself,if you follow this guide you will end up with a working theme and learn something in the process. Number one thing when trying something out of your comfort zone is not to stress if things go wrong, stress will cause more problems. People give up to quickly, if your patient and persistent you will be fine. Google is your best friend when you have a question. I'm always willing to help anyone and everyone, just contact me.
-Installing REPO-
Make sure you have a ~/bin directory, and setup repo.
Code:
cd ~
mkdir -p ~/bin
curl "http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo" > ~/bin/repo
repo init -u https://github.com/android/tools_repo.git -b master
repo sync
chmod a+x ~/bin/repo
PATH=~/bin:$PATH
-START OF GUIDE x64-
We start by getting the source from T-Mobile. Open your terminal...
Code:
mkdir themes
cd themes
repo init -u git://github.com/tmobile/themes-platform-manifest.git -b master
Now here where things change from the Orignal Guide
we now want to go into the .repo/manifests
Code:
cd .repo/manifests
open the default.xml and search for fetch="git://android.git.kernel.org/"
we want to change
Code:
fetch="git://android.git.kernel.org/"
to
Code:
fetch="git://codeaurora.org/"
save the default.xml and then go back to the home directory
Code:
cd ..
cd ..
now we want to sync the repo to download the src
Code:
repo sync
source build/envsetup.sh
lunch themes_generic-eng hdpi
We can make now to make sure it compiles before moving on
Code:
make
After you see it works lets start our theme. tree_root means directory your /themes/ folder is in! It's different for each person!
Code:
cd tree_root
cd vendor/tmobile/themes
git clone git://github.com/haxzamatic/Templatebread-.git
The themes are all going to be located in...
/home/<USER-DIR>/themes/vendor/tmobile/themes/
In that directory we see the source for Templatebread, open it.
Now this is the source we edit.
Code:
package="com.template.theme.templatebread"
to
Code:
package="com.yourname.theme.themename"
Then edit...
Code:
<theme
pluto:themeId="Templatebread"
pluto:styleId="@style/Templatebread"
to
Code:
<theme
pluto:themeId="Themename"
pluto:styleId="@style/Themename"
Save the AndroidManifest.xml
Now open /res/values folder
Open the Strings.xml and edit the following...
Code:
<resources>
<string name="app_name">Templatebread Theme</string>
<string name="theme_name">Templatebread</string>
<string name="style_appearance_name">Templatebread</string>
<string name="author">Haxzamatic</string>
<string name="copyright">Haxzamatic</string>
</resources>
to
Code:
<resources>
<string name="app_name">Themename</string>
<string name="theme_name">Themename</string>
<string name="style_appearance_name">Themename</string>
<string name="author">yourname</string>
<string name="copyright">yourname</string>
</resources>
Save the strings.xml
Open themes.xml and edit
Code:
<resources>
<style name="Templatebread" parent="@android:style/Theme" >
to
Code:
<resources>
<style name="YourTheme" parent="@android:style/Yourtheme" >
Save themes.xml
Now open the /src/com/template/ and rename template folder to yourname
Then open /src/com/template/theme/templatebread and rename templatebread folder to yourthemename
So it should be /src/com/template/theme/templatebread.foo.java (So you know this is what the apk will com name will be... ex: com.template.theme.templatebread)
Before "make" we need to edit one more thing, navigate to
/home/<USER-DIR>/themes/vendor/tmobile/products/themes
Now open themes-base.mk and add your theme name in this case we added Templatebread
Code:
PRODUCT_PACKAGES += \
ThemeManager \
ThemeChooser \
com.tmobile.themes \
Templatebread \
Cyanbread
Now your ready to make
After steps above are done we can build our theme...
Code:
cd themes
source build/envsetup.sh
lunch themes_generic-eng
make
After it compiles navigate to the out folder and get your newly compiled apk and sign then zip align after signing!
That's it install on your device and pick the theme in the chooser, apply, and reboot...
-Credits and Honorable mentions-
Original Guide
Artur Graniszewski - For His alternative repository for Repo
Code Aurora - for their Android Alternative git resource
-Thanks and Donations-
If this Guide helps you please use the thanks button or make a donation if you want
-GUIDE FOR COMPILING WITH AN EXISTING CM BUILD x32-
NOTE: This guide assumes you prepared your build environment by following the Cyanogen Mod Wiki - http://goo.gl/LTy7
-START OF CM GUIDE-
We start by getting the source by following the CM guide.
Now we add Templatebread to build with cm...
Code:
cd android
cd vendor/tmobile/themes
git clone git://github.com/haxzamatic/Templatebread-.git
The themes are all going to be located in...
/home/<USER-DIR>/android/vendor/tmobile/themes/
In that directory we see the source for Templatebread, open it.
Now this is the source we edit.
Code:
package="com.template.theme.templatebread"
to
Code:
package="com.yourname.theme.themename"
Then edit...
Code:
<theme
pluto:themeId="Templatebread"
pluto:styleId="@style/Templatebread"
to
Code:
<theme
pluto:themeId="Themename"
pluto:styleId="@style/Themename"
Save the AndroidManifest.xml
Now open /res/values folder
Open the Strings.xml and edit the following...
Code:
<resources>
<string name="app_name">Templatebread Theme</string>
<string name="theme_name">Templatebread</string>
<string name="style_appearance_name">Templatebread</string>
<string name="author">Haxzamatic</string>
<string name="copyright">Haxzamatic</string>
</resources>
to
Code:
<resources>
<string name="app_name">Themename</string>
<string name="theme_name">Themename</string>
<string name="style_appearance_name">Themename</string>
<string name="author">yourname</string>
<string name="copyright">yourname</string>
</resources>
Save the strings.xml
Open themes.xml and edit
Code:
<resources>
<style name="Templatebread" parent="@android:style/Theme" >
to
Code:
<resources>
<style name="YourTheme" parent="@android:style/Yourtheme" >
Save themes.xml
Now open the /src/com/template/ and rename template folder to yourname
Then open /src/com/template/theme/templatebread and rename templatebread folder to yourthemename
So it should be /src/com/template/theme/templatebread.foo.java (So you know this is what the apk will com name will be... ex: com.template.theme.templatebread)
Before "make" we need to edit one more thing, navigate to
/home/<USER-DIR>/android/vendor/tmobile/products/themes
Now open themes-base.mk and add your theme name in this case we added Templatebread
Code:
PRODUCT_PACKAGES += \
ThemeManager \
ThemeChooser \
com.tmobile.themes \
Templatebread \
Cyanbread
After steps above are done we can build our theme...
Code:
make
After it compiles navigate to the out folder and get your newly compiled apk and sign then zip align after signing!
That's it install on your device and pick the theme in the chooser, apply, and reboot...
-Credits and Honorable mentions-
Original Guide
Artur Graniszewski - For His alternative repository for Repo
Code Aurora - for their Android Alternative git resource
-Thanks and Donations-
If this Guide helps you please use the thanks button or make a donation if you want
-Guide for Windows machines CYGWIN-
**NOTICE**
Currently Being revised
**NOTICE**
-Installing REPO-
Make sure you have a ~/bin directory, and setup repo.
Code:
cd ~
mkdir -p ~/bin
curl "http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo" > ~/bin/repo
repo init -u https://github.com/android/tools_repo.git -b master
repo sync
chmod a+x ~/bin/repo
PATH=~/bin:$PATH
-START OF GUIDE-
We start by getting the source from T-Mobile. Open your terminal...
Code:
mkdir themes
cd themes
repo init -u git://github.com/tmobile/themes-platform-manifest.git -b master
Now here where things change from the Orignal Guide
we now want to go into the .repo/manifests
Code:
cd .repo/manifests
open the default.xml and search for fetch="git://android.git.kernel.org/"
we want to change
Code:
fetch="git://android.git.kernel.org/"
to
Code:
fetch="git://codeaurora.org/"
save the default.xml and then go back to the home directory
Code:
cd ..
cd ..
now we want to sync the repo to download the src
Code:
repo sync
source build/envsetup.sh
lunch themes_generic-eng hdpi
We can make now to make sure it compiles before moving on
Code:
make
After you see it works lets start our theme. tree_root means directory your /themes/ folder is in! It's different for each person!
Code:
cd tree_root
cd vendor/tmobile/themes
git clone git://github.com/haxzamatic/Templatebread-.git
The themes are all going to be located in...
/home/<USER-DIR>/themes/vendor/tmobile/themes/
In that directory we see the source for Templatebread, open it.
Now this is the source we edit.
Code:
package="com.template.theme.templatebread"
to
Code:
package="com.yourname.theme.themename"
Then edit...
Code:
<theme
pluto:themeId="Templatebread"
pluto:styleId="@style/Templatebread"
to
Code:
<theme
pluto:themeId="Themename"
pluto:styleId="@style/Themename"
Save the AndroidManifest.xml
Now open /res/values folder
Open the Strings.xml and edit the following...
Code:
<resources>
<string name="app_name">Templatebread Theme</string>
<string name="theme_name">Templatebread</string>
<string name="style_appearance_name">Templatebread</string>
<string name="author">Haxzamatic</string>
<string name="copyright">Haxzamatic</string>
</resources>
to
Code:
<resources>
<string name="app_name">Themename</string>
<string name="theme_name">Themename</string>
<string name="style_appearance_name">Themename</string>
<string name="author">yourname</string>
<string name="copyright">yourname</string>
</resources>
Save the strings.xml
Open themes.xml and edit
Code:
<resources>
<style name="Templatebread" parent="@android:style/Theme" >
to
Code:
<resources>
<style name="YourTheme" parent="@android:style/Yourtheme" >
Save themes.xml
Now open the /src/com/template/ and rename template folder to yourname
Then open /src/com/template/theme/templatebread and rename templatebread folder to yourthemename
So it should be /src/com/template/theme/templatebread.foo.java (So you know this is what the apk will com name will be... ex: com.template.theme.templatebread)
Before "make" we need to edit one more thing, navigate to
/home/<USER-DIR>/themes/vendor/tmobile/products/themes
Now open themes-base.mk and add your theme name in this case we added Templatebread
Code:
PRODUCT_PACKAGES += \
ThemeManager \
ThemeChooser \
com.tmobile.themes \
Templatebread \
Cyanbread
Now your ready to make
After steps above are done we can build our theme...
Code:
cd themes
source build/envsetup.sh
lunch themes_generic-eng
make
After it compiles navigate to the out folder and get your newly compiled apk and sign then zip align after signing!
That's it install on your device and pick the theme in the chooser, apply, and reboot...
-Credits and Honorable mentions-
Original Guide
Artur Graniszewski - For His alternative repository for Repo
Code Aurora - for their Android Alternative git resource
-Thanks and Donations-
If this Guide helps you please use the thanks button or make a donation if you want
Reserved for Future Guide
Nice
Sent from my IDEOS S7 Slim using XDA App
I have just gotten though adding the guide to rootzwiki.
I Broken the Guide into parts to each OS has it own break down and section with instructions and such
while the guides are identical atm but that will change as time persist as I find and Discover better methods or changes to windows version as well as adding it to the Wiki over there this allows others to contribute to the guides as well improving append what i mapped out as a base
http://wiki.rootzwiki.com/index.php/T-Mobile_Theme_Chooser_Themes
Now, let me tell you how to add this feature in the settings ......
Preparations:
apktool
nopad++
1, download attachments in this layout:
http://pan.baidu.com/s/1qWMAtwo
2, decompile your Settings.apk
3. Open the Settings / res / xml / dashboard_categories.xml
Search for:
<dashboard-category android:id="@id/system_section" android:title="@string/header_category_system">
Add the following sentenceNote! Please aligned below)
<dashboard-tile android:icon="@drawable/ic_settings_autostarts" android:id="@id/autostarts_settings" android:title="@string/autostarts_title" android:fragment="com.android.settings.autostarts.LewaManageAutostarts" />
Save dashboard_categories.xml
5. Now add the language. Open the Settings / res / values / strings.xml, in the end, add the following:
<string name="autostarts_title">Autostarts</string>
<string name="autostarts_allowed">Has allowed</string>
<string name="autostarts_prohibited">Has Prohibited</string>
<string name="autostarts_allow_progress_msg">Being restored boot, please wait...</string>
<string name="autostarts_prohibit_progress_msg">Prohibit boot, please wait...</string>
<string name="autostarts_empty_msg">No installation boot applications</string>
<string name="autostarts_optimize_empty_msg">No optimize the startup items</string>
<string name="autostarts_optimize_btn_title">Optimize the startup items</string>
<string name="autostarts_all_btn_title">All autostarts items</string>
Save strings.xml
6. Open the Settings / res / values / ids.xml, in the end, add the following:
<item type="id" name="autostarts_settings">false</item>
<item type="id" name="appName">false</item>
Save ids.xml
7. Now, the annex res / drawable-xxhdpi / ic_settings_autostarts.png into Settings / res / drawable-xxhdpi /
The annex res / layout / manage_autostarts.xml and manage_autostarts_item.xml into Settings / res / layout /
The annex smali / com / android / settings / autostarts into Settings / smali / com / android / settings /
8. Back to compile current Settings
9. Then directly decompile Settings / dist / Settings.apk (doing so in order to obtain the following need to use the id)
10. Open the Settings again after decompilation / res / values / public.xml, then open the Settings / smali / com / android / settings / autostarts / LewaManageAutostarts.smali and LewaManageAutostarts $ AppAdapter.smali
11. In public.xml (ctrl + f) Find the following entry id, replace the LewaManageAutostarts.smal
Find manage_autostarts
Replace the LewaManageAutostarts.smali 599 line
Find autostarts_allowed
Replace the LewaManageAutostarts.smali 297 line
Find autostarts_prohibited
Replace the LewaManageAutostarts.smali 393 line
Find autostarts_allow_progress_msg
To replace the first 796 rows LewaManageAutostarts.smali
Find autostarts_prohibit_progress_msg
Replace the LewaManageAutostarts.smali 182 line
Find autostarts_empty_msg
Replace the LewaManageAutostarts.smali 655 and 738 lines
Find autostarts_optimize_empty_msg
Replace the LewaManageAutostarts.smali 765 line
Find autostarts_optimize_btn_title
Replace the LewaManageAutostarts.smali 582 and 731 lines
Find autostarts_all_btn_title
Replace the LewaManageAutostarts.smali 758 and 554 lines
12. Continue to look for the following entries in public.xml (ctrl + f) id, replace the LewaManageAutostarts $ AppAdapter.smali
Find <public type = "layout" name = "manage_autostarts_item"
Replace the LewaManageAutostarts $ AppAdapter.smali line 155
Find <public type = "id" name = "icon"
Replace the LewaManageAutostarts $ AppAdapter.smali line 165
Find <public type = "id" name = "appName"
Replace the LewaManageAutostarts $ AppAdapter.smali line 186
Find <public type = "id" name = "status"
Replace the LewaManageAutostarts $ AppAdapter.smali line 208
Find <public type = "id" name = "app_on_sdcard"
Replace the LewaManageAutostarts $ AppAdapter.smali 227th row
Well, now, back to the compilation
File Source:
http://forum.xda-developers.com/google-nexus-5/themes-apps/mod-autostartmenu-5-0-1-t2989867
Thanks: @garynych
Skies/SANKE said:
Now, let me tell you how to add this feature in the settings ......
Preparations:
apktool
nopad++
1, download attachments in this layout:
http://pan.baidu.com/s/1qWMAtwo
2, decompile your Settings.apk
3. Open the Settings / res / xml / dashboard_categories.xml
Search for:
<dashboard-category android:id="@id/system_section" android:title="@string/header_category_system">
Add the following sentenceNote! Please aligned below)
<dashboard-tile android:icon="@drawable/ic_settings_autostarts" android:id="@id/autostarts_settings" android:title="@string/autostarts_title" android:fragment="com.android.settings.autostarts.LewaManageAutostarts" />
Save dashboard_categories.xml
5. Now add the language. Open the Settings / res / values / strings.xml, in the end, add the following:
<string name="autostarts_title">Autostarts</string>
<string name="autostarts_allowed">Has allowed</string>
<string name="autostarts_prohibited">Has Prohibited</string>
<string name="autostarts_allow_progress_msg">Being restored boot, please wait...</string>
<string name="autostarts_prohibit_progress_msg">Prohibit boot, please wait...</string>
<string name="autostarts_empty_msg">No installation boot applications</string>
<string name="autostarts_optimize_empty_msg">No optimize the startup items</string>
<string name="autostarts_optimize_btn_title">Optimize the startup items</string>
<string name="autostarts_all_btn_title">All autostarts items</string>
Save strings.xml
6. Open the Settings / res / values / ids.xml, in the end, add the following:
<item type="id" name="autostarts_settings">false</item>
<item type="id" name="appName">false</item>
Save ids.xml
7. Now, the annex res / drawable-xxhdpi / ic_settings_autostarts.png into Settings / res / drawable-xxhdpi /
The annex res / layout / manage_autostarts.xml and manage_autostarts_item.xml into Settings / res / layout /
The annex smali / com / android / settings / autostarts into Settings / smali / com / android / settings /
8. Back to compile current Settings
9. Then directly decompile Settings / dist / Settings.apk (doing so in order to obtain the following need to use the id)
10. Open the Settings again after decompilation / res / values / public.xml, then open the Settings / smali / com / android / settings / autostarts / LewaManageAutostarts.smali and LewaManageAutostarts $ AppAdapter.smali
11. In public.xml (ctrl + f) Find the following entry id, replace the LewaManageAutostarts.smal
Find manage_autostarts
Replace the LewaManageAutostarts.smali 599 line
Find autostarts_allowed
Replace the LewaManageAutostarts.smali 297 line
Find autostarts_prohibited
Replace the LewaManageAutostarts.smali 393 line
Find autostarts_allow_progress_msg
To replace the first 796 rows LewaManageAutostarts.smali
Find autostarts_prohibit_progress_msg
Replace the LewaManageAutostarts.smali 182 line
Find autostarts_empty_msg
Replace the LewaManageAutostarts.smali 655 and 738 lines
Find autostarts_optimize_empty_msg
Replace the LewaManageAutostarts.smali 765 line
Find autostarts_optimize_btn_title
Replace the LewaManageAutostarts.smali 582 and 731 lines
Find autostarts_all_btn_title
Replace the LewaManageAutostarts.smali 758 and 554 lines
12. Continue to look for the following entries in public.xml (ctrl + f) id, replace the LewaManageAutostarts $ AppAdapter.smali
Find <public type = "layout" name = "manage_autostarts_item"
Replace the LewaManageAutostarts $ AppAdapter.smali line 155
Find <public type = "id" name = "icon"
Replace the LewaManageAutostarts $ AppAdapter.smali line 165
Find <public type = "id" name = "appName"
Replace the LewaManageAutostarts $ AppAdapter.smali line 186
Find <public type = "id" name = "status"
Replace the LewaManageAutostarts $ AppAdapter.smali line 208
Find <public type = "id" name = "app_on_sdcard"
Replace the LewaManageAutostarts $ AppAdapter.smali 227th row
Well, now, back to the compilation
File Source:
http://forum.xda-developers.com/google-nexus-5/themes-apps/mod-autostartmenu-5-0-1-t2989867
Thanks: @garynych
Click to expand...
Click to collapse
good job!
Has anyone started messing around with the settings files on the new ATV2?
Amazon video doesn't have a persistent setting for audio language and it defaults to your account language even on video resume.
I managed to take are of that and changed it from German to English.
Also fiddled with some more settings, enabled some features and removed ads.
You can change the file on your rooted device with adbd Insecure.
/data/data/com.amazon.avod/shared_prefs/ServerPreferences.xml
Code:
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="xrayEnabledOnFireTV">true</string>
<string name="playback_nativeMemoryAllocationMaxInMegabytes_3">600</string>
<string name="isNextEpisodeEnabled">true</string>
<string name="heuristic_maxBandWidth">24000000</string>
<string name="canPlayHD">true</string>
<string name="cache_maxCacheSizeMB">300</string>
<string name="xray_isFilmographyServiceEnabled">true</string>
<string name="heuristic_bufferedTimeRequiredToGoAboveLowestHDSeconds">30</string>
<string name="ShouldTeardownPlaybackOnSleep">true</string>
<string name="heuristic_highestPlayableBitrate">25000000</string>
<string name="Config_Marketplace_Specific_UHD_Info_URL">www.amazon.com/help/uhd</string>
<string name="imageMemoryConfiguration">{"maxPortionOfMemoryToUse":0.5,"maxNumberOfImagesToLoad":90,"cleanupChunkSize":30}</string>
<long name="serverConfigLastUpdateTimeMillis" value="1452029645686" />
<string name="playback_streamingPastBufferSizeSeconds">60</string>
<string name="ads_types">{"types":[]}</string>
<string name="SurroundSoundEnabledDefault">true</string>
<string name="ultra_hd_config_offers_enabled">false</string>
<string name="XRaySceneUpdatePollMillis">500</string>
<string name="heuristic_maximumPlayableVerticalResolution">2160</string>
<string name="prs_DeviceBitrateAdaptationsOverride_2">CBR;CVBR</string>
<string name="playback_pingUrl">http://spectrum.s3.amazonaws.com/kindle-wifi/wifistub.html</string>
<string name="latestVersion">0</string>
<string name="cache_shouldBlockCachingOnForegroundApplication_2">true</string>
<string name="playback_nativeMemoryAllocationMinInMegabytes_2">360</string>
<string name="qos_BlacklistedGenericEvents">none</string>
<string name="canPlay1080pHD">true</string>
<string name="externalPrimeSignUpIntentAction">com.amazon.tv.launcher.primefreetrial.FREETRIAL</string>
<string name="playback_streamingFutureBufferSizeSeconds">180</string>
<string name="Config_Marketplace_Specific_AIV_Help_PageURL">http://www.amazon.com/videohelp</string>
<string name="predictiveCacheWatchlistEnabled">false</string>
<string name="reactiveCacheOnNextEpisode">CONTENTCACHE</string>
<string name="ads_isAVODEnabled">true</string>
<string name="player_IsInMemoryDriveEnabled_2">false</string>
<string name="minimumRequiredVersion">0</string>
<string name="ads_shouldShowSkipForDraper">true</string>
<string name="reactiveCacheOnSearchPage">CONTENTCACHE</string>
<string name="qos_fragmentBatchUploadProbability">100</string>
<string name="ads_endpointUrl">https://atv-ext.amazon.com/cdp/videoAds/vap/getAds?deviceTypeId=ADVBD696BHNV5&firmware=1.0&deviceID=dummy&</string>
<string name="audioLanguagesAvailable">en-US,de-DE,es-ES,fr-FR,it-IT</string>
<string name="qos_fragmentBatchSize">50</string>
<string name="hasEthernet">true</string>
<string name="clientConsumeLicenseVersion">2</string>
<string name="deviceDebugMode">true</string>
<string name="xrayActorTriviaEnabled">true</string>
<string name="qos_ReportingConfigVersion">cm12831029</string>
<string name="shouldSecondScreenBeEnabled">true</string>
<string name="playback_downloadServicePrimaryBufferBeforeSecondaryDownloadsSeconds">10</string>
<string name="playback_nativeMemoryAllocationMinInMegabytes_3">500</string>
<string name="heuristic_lowBufferControlDuration">3</string>
<string name="shouldCropToFitInImageGrid">false</string>
<string name="isMoreWaysToWatchEnabled">true</string>
<string name="disableYVLSeasonRecentSort">false</string>
<string name="shouldSeeWatchlistButton">true</string>
<string name="reactiveCacheOnDetailPage">PLAYERSTACK</string>
<string name="canPlayUltraHD">true</string>
<string name="isGetStreamingUrlsWithPrecacheEnabled">true</string>
<string name="shouldCacheEpisodeStartOverPoint">true</string>
<string name="playback_cappedHDStreamingHighVideoBitrate">10000000</string>
<string name="numPredictiveTitlesToCache">0</string>
<string name="rtw_minimumCacheRequiredForResumeInSec">8</string>
<string name="closedcaption_preferred_default_language_code">en-US</string>
<string name="rtw_minimumCacheRequiredForPlaybackInSec">6</string>
<string name="supportsDownloading">true</string>
<string name="NativeBufferRequiredForContinueInMs">50</string>
<string name="streaming_MaximumSampleSizeBytes">8388608</string>
<string name="heuristic_maximumPlayableHorizontalResolution">3840</string>
<string name="playback_nativeMemoryAllocationMaxInMegabytes_2">400</string>
<string name="useGetStreamingUrlsWithUhdEnabled">true</string>
<string name="numReactiveTitlesToCache">10</string>
<string name="Config_Marketplace_Specific_AIV_CS_Contact_PageURL">http://www.amazon.com/video/contactus</string>
<string name="serverConfigRefreshTimerMinutes">9999999999</string>
<string name="qos_enableMultiSessionReporting">false</string>
<string name="audioLanguageDefault">en-US</string>
<string name="Config_Marketplace_Specific_Terms_Of_Use_PageURL">http://www.amazon.com/instantvideo/terms</string>
<string name="homescreenRefreshTimerMinutes">240</string>
<string name="reactiveCacheOnNextEpisodeLaunch">PLAYERSTACK</string>
<string name="heuristic_noDownshiftBufferDurationSeconds">40</string>
<string name="omxil_isLongLivedAIVPlayEnabled">true</string>
<string name="qos_FragmentDownloadTimeThreshold">100000</string>
<string name="categoryConfigRefreshTimerMinutes">480</string>
<string name="isMultiTrackAudioEnabled">true</string>
<string name="syncServiceTimerMinutes">5</string>
<string name="playback_pingServerAfterDownloadFailure">true</string>
<string name="Config_Marketplace_Specific_Prime_Upsell_Url_For_Browser">http://www.amazon.com/primemobile</string>
<string name="isPrimeAcquisitionEnabled">true</string>
<string name="supportsWANDownloading">true</string>
<string name="reactiveCacheOnUserActivity">CONTENTCACHE</string>
<string name="isGetStreamingUrlSetsEnabled">true</string>
<string name="drm_playreadyCallTimeoutMilliseconds">30000</string>
<string name="isGetPlaybackResourcesForAdsEnabled">true</string>
<string name="ClickstreamConfig">{"maxBatchSize":50,"maxBatchAgeMinutes":5,"eventExpiryAgeMinutes":1440,"maxRetries":2}</string>
<string name="supportsDolby5dot1">true</string>
<string name="ultra_hd_is_mode_switch_required">false</string>
<string name="playback_streamingSlowFragmentDownloadTimeoutMilliseconds">4000</string>
<string name="predictiveCacheGetContentFromSourceEnabled">false</string>
<string name="player_IsInMemoryDriveEnabled">true</string>
<string name="heuristicsOverride_topVideobitrateAfterSeek">600000</string>
</map>
Unfortunately I didn't make a backup - can anyone upload a pristine (preferably DE) version?
The next thing I want to do is connect the Fire TV to my home automation system.
Remote button simulation over adb works fine.
I'd also like to find out the current playing state and ideally the current file though.
Does anyone know if that's possible?
Having my lights dim as soon as I pause Kodi is kinda nice
-s
mine is USA from 5.0.3.1 ... it is a bit different than yours.
What ads were removed that you noticed?
I too adjusted the ads_types line like yours but I'm not sure anything is different.
I changed the settings then rebooted, it seems that after reboot the changes are gone. :-/
I figured that reboot would be needed to be effective.
This is unmodified / pristine:
Code:
1|[email protected]:/system # cat /data/data/com.amazon.avod/shared_prefs/ServerPreferences.xml
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="xrayEnabledOnFireTV">true</string>
<string name="playback_nativeMemoryAllocationMaxInMegabytes_3">600</string>
<string name="isNextEpisodeEnabled">true</string>
<string name="heuristic_maxBandWidth">20000000</string>
<string name="canPlayHD">true</string>
<string name="cache_maxCacheSizeMB">300</string>
<string name="heuristic_bufferedTimeRequiredToGoAboveLowestHDSeconds">25</string>
<string name="ShouldTeardownPlaybackOnSleep">false</string>
<string name="heuristic_highestPlayableBitrate">25000000</string>
<string name="Config_Marketplace_Specific_UHD_Info_URL">www.amazon.com/help/uhd</string>
<string name="imageMemoryConfiguration">{"maxPortionOfMemoryToUse":0.5,"maxNumberOfImagesToLoad":90,"cleanupChunkSize":30}</string>
<long name="serverConfigLastUpdateTimeMillis" value="1452739180626" />
<string name="playbackResource_liveScheduleConfigToken">firetv-landing-page-1</string>
<string name="playback_streamingPastBufferSizeSeconds">60</string>
<string
name="ads_types">{"types":[{"name":"FirstEpisodeFree","networkId":"375600","profileId":"aiv_live_android","pageId":"aiv.firetv.fef"},{"name":"PrimePreRoll","networkId":"375600","profileId":"aiv_live_android","pageId":"aiv.firetv.draper.svod"}]}</string>
<string name="SurroundSoundEnabledDefault">true</string>
<string name="ultra_hd_config_offers_enabled">true</string>
<string name="XRaySceneUpdatePollMillis">500</string>
<string name="heuristic_maximumPlayableVerticalResolution">2160</string>
<string name="prs_DeviceBitrateAdaptationsOverride_2">CBR;CVBR</string>
<string name="playback_pingUrl">http://spectrum.s3.amazonaws.com/kindle-wifi/wifistub.html</string>
<string name="latestVersion">0</string>
<string name="cache_shouldBlockCachingOnForegroundApplication_2">true</string>
<string name="playback_nativeMemoryAllocationMinInMegabytes_2">360</string>
<string name="qos_BlacklistedGenericEvents">none</string>
<string name="canPlay1080pHD">true</string>
<string name="externalPrimeSignUpIntentAction">com.amazon.tv.launcher.primefreetrial.FREETRIAL</string>
<string name="playback_streamingFutureBufferSizeSeconds">180</string>
<string name="predictiveCacheWatchlistEnabled">false</string>
<string name="reactiveCacheOnNextEpisode">CONTENTCACHE</string>
<string name="ads_isAVODEnabled">true</string>
<string name="minimumRequiredVersion">0</string>
<string name="ads_shouldShowSkipForDraper">false</string>
<string name="reactiveCacheOnSearchPage">CONTENTCACHE</string>
<string name="qos_fragmentBatchUploadProbability">100</string>
<string name="qos_fragmentBatchSize">50</string>
<string name="hasEthernet">true</string>
<string name="clientConsumeLicenseVersion">2</string>
<string name="deviceDebugMode">true</string>
<string name="qos_ReportingConfigVersion">cm12844378_3</string>
<string name="shouldSecondScreenBeEnabled">true</string>
<string name="playback_downloadServicePrimaryBufferBeforeSecondaryDownloadsSeconds">10</string>
<string name="playback_nativeMemoryAllocationMinInMegabytes_3">500</string>
<string name="heuristic_lowBufferControlDuration">4</string>
<string name="shouldCropToFitInImageGrid">false</string>
<string name="isMoreWaysToWatchEnabled">true</string>
<string name="disableYVLSeasonRecentSort">false</string>
<string name="shouldSeeWatchlistButton">true</string>
<string name="reactiveCacheOnDetailPage">PLAYERSTACK</string>
<string name="canPlayUltraHD">true</string>
<string name="shouldCacheEpisodeStartOverPoint">true</string>
<string name="playback_cappedHDStreamingHighVideoBitrate">10000000</string>
<string name="numPredictiveTitlesToCache">50</string>
<string name="rtw_minimumCacheRequiredForResumeInSec">8</string>
<string name="rtw_minimumCacheRequiredForPlaybackInSec">6</string>
<string name="supportsDownloading">false</string>
<string name="NativeBufferRequiredForContinueInMs">50</string>
<string name="streaming_MaximumSampleSizeBytes">8388608</string>
<string name="heuristic_maximumPlayableHorizontalResolution">3840</string>
<string name="playback_nativeMemoryAllocationMaxInMegabytes_2">400</string>
<string name="useGetStreamingUrlsWithUhdEnabled">true</string>
<string name="numReactiveTitlesToCache">10</string>
<string name="serverConfigRefreshTimerMinutes">240</string>
<string name="qos_enableMultiSessionReporting">false</string>
<string name="homescreenRefreshTimerMinutes">240</string>
<string name="reactiveCacheOnNextEpisodeLaunch">PLAYERSTACK</string>
<string name="heuristic_noDownshiftBufferDurationSeconds">40</string>
<string name="omxil_isLongLivedAIVPlayEnabled">true</string>
<string name="qos_FragmentDownloadTimeThreshold">100000</string>
<string name="categoryConfigRefreshTimerMinutes">480</string>
<string name="syncServiceTimerMinutes">5</string>
<string name="playback_pingServerAfterDownloadFailure">true</string>
<string name="isPrimeAcquisitionEnabled">true</string>
<string name="reactiveCacheOnUserActivity">CONTENTCACHE</string>
<string name="isGetStreamingUrlSetsEnabled">false</string>
<string name="drm_playreadyCallTimeoutMilliseconds">30000</string>
<string name="isGetPlaybackResourcesForAdsEnabled">true</string>
<string name="ClickstreamConfig">{"maxBatchSize":50,"maxBatchAgeMinutes":5,"eventExpiryAgeMinutes":1440,"maxRetries":2}</string>
<string name="supportsDolby5dot1">true</string>
<string name="ultra_hd_is_mode_switch_required">true</string>
<string name="playback_streamingSlowFragmentDownloadTimeoutMilliseconds">4000</string>
<string name="predictiveCacheGetContentFromSourceEnabled">true</string>
<string name="heuristic_noUpshiftBufferDurationSeconds">8</string>
<string name="player_IsInMemoryDriveEnabled">true</string>
<string name="heuristicsOverride_topVideobitrateAfterSeek">600000</string>
</map>
shadow# said:
Unfortunately I didn't make a backup - can anyone upload a pristine (preferably DE) version?
Click to expand...
Click to collapse
Here is the pristine file from my German AFTV2 (5.0.4): hxxp://pastebin.com/r6MzwDLn
Sorry, that I can't paste it directly here. The XML contains URLs, and I don't have the minimum of 10 posts now
How do you keep the file readonly? Because as @Ludacrisvp already said, the file is overwritten after a reboot.
androidfux said:
Here is the pristine file from my German AFTV2 (5.0.4): hxxp://pastebin.com/r6MzwDLn
Click to expand...
Click to collapse
Thanks! Messed up my root and had to clear my box, so I got it back anyway :crying:
How do you keep the file readonly? Because as @Ludacrisvp already said, the file is overwritten after a reboot.
Click to expand...
Click to collapse
Not on my box. Maybe because of this line?!
<string name="serverConfigRefreshTimerMinutes">9999999999</string>
shadow# said:
Thanks! Messed up my root and had to clear my box, so I got it back anyway :crying:
Click to expand...
Click to collapse
You're welcome
shadow# said:
Not on my box. Maybe because of this line?!
<string name="serverConfigRefreshTimerMinutes">9999999999</string>
Click to expand...
Click to collapse
Hm, I think I've tried that before, but I will try it again and let you know the results.
Is a reboot needed after editing the file? Or do I have to restart a service?
shadow# said:
Not on my box. Maybe because of this line?!
<string name="serverConfigRefreshTimerMinutes">9999999999</string>
Click to expand...
Click to collapse
Okay, it works now, thanks for the hint!
On my first try I updated the wrong variable to 9999999999, so the settings file was reset after a reboot.
androidfux said:
Okay, it works now, thanks for the hint!
On my first try I updated the wrong variable to 9999999999, so the settings file was reset after a reboot.
Click to expand...
Click to collapse
still wipes out and replaces at reboot for me. some other setting must be overriding this.
[email protected]:/data/data/com.amazon.avod/shared_prefs # ls -l
-rw-rw---- 1 app_2203 app_2203 65 Jan 1 2010 Experiments.xml
-rw-rw---- 1 app_2203 app_2203 205 Jan 1 2010 IdentityPreferences.xml
-rw-rw---- 1 app_2203 app_2203 879 Jan 21 04:32 InternalPreferences.xml
-rw-rw---- 1 app_2203 app_2203 114 Jan 21 04:32 SSOInfo.config.xml
-rw-rw---- 1 root root 6050 Jan 21 04:34 ServerPreferences.xml
-rw-rw---- 1 root root 6050 Jan 21 04:27 ServerPreferences.xml.mod
-rw-rw---- 1 root root 6353 Jan 21 03:44 ServerPreferences.xml.orig
-rw-rw---- 1 app_2203 app_2203 125 Jan 1 2010 WebViewChromiumPrefs.xml
-rw-rw---- 1 app_2203 app_2203 601 Jan 21 04:32 com.amazon.avod_preferences.xml
[email protected]:/data/data/com.amazon.avod/shared_prefs # shutdownalertdialog.sh
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.mediatek.thermalmanager/.ShutDownAlertDialogActivity }
[email protected]:/data/data/com.amazon.avod/shared_prefs # packet_write_wait: Connection to 10.10.10.96: Broken pipe
macbookpro:~ user$ ssh [email protected]
Warning: Permanently added 'firetv' (RSA) to the list of known hosts.
[email protected]'s password:
[email protected]:/data/data/berserker.android.apps.sshdroid/home # cd /data/data/com.amazon.avod/shared_prefs
[email protected]:/data/data/com.amazon.avod/shared_prefs # ls -l
-rw-rw---- 1 app_2203 app_2203 65 Jan 1 2010 Experiments.xml
-rw-rw---- 1 app_2203 app_2203 205 Jan 1 2010 IdentityPreferences.xml
-rw-rw---- 1 app_2203 app_2203 879 Jan 21 04:37 InternalPreferences.xml
-rw-rw---- 1 app_2203 app_2203 114 Jan 21 04:37 SSOInfo.config.xml
-rw-rw---- 1 app_2203 app_2203 6353 Jan 21 04:37 ServerPreferences.xml
-rw-rw---- 1 root root 6050 Jan 21 04:27 ServerPreferences.xml.mod
-rw-rw---- 1 root root 6353 Jan 21 03:44 ServerPreferences.xml.orig
-rw-rw---- 1 app_2203 app_2203 125 Jan 1 2010 WebViewChromiumPrefs.xml
-rw-rw---- 1 app_2203 app_2203 601 Jan 21 04:37 com.amazon.avod_preferences.xml
In fact it seems that even if I don't reboot the file gets updated.
[email protected]:/data/data/com.amazon.avod/shared_prefs # cp ServerPreferences.xml.mod ServerPreferences.xml
[email protected]:/data/data/com.amazon.avod/shared_prefs # ls -l
-rw-rw---- 1 app_2203 app_2203 65 Jan 1 2010 Experiments.xml
-rw-rw---- 1 app_2203 app_2203 205 Jan 1 2010 IdentityPreferences.xml
-rw-rw---- 1 app_2203 app_2203 879 Jan 21 04:37 InternalPreferences.xml
-rw-rw---- 1 app_2203 app_2203 114 Jan 21 04:37 SSOInfo.config.xml
-rw-rw---- 1 root root 6050 Jan 21 04:39 ServerPreferences.xml
-rw-rw---- 1 root root 6050 Jan 21 04:27 ServerPreferences.xml.mod
-rw-rw---- 1 root root 6353 Jan 21 03:44 ServerPreferences.xml.orig
-rw-rw---- 1 app_2203 app_2203 125 Jan 1 2010 WebViewChromiumPrefs.xml
-rw-rw---- 1 app_2203 app_2203 601 Jan 21 04:37 com.amazon.avod_preferences.xml
[email protected]:/data/data/com.amazon.avod/shared_prefs # ls -l |grep Server
-rw-rw---- 1 app_2203 app_2203 6353 Jan 21 04:39 ServerPreferences.xml
-rw-rw---- 1 root root 6050 Jan 21 04:27 ServerPreferences.xml.mod
-rw-rw---- 1 root root 6353 Jan 21 03:44 ServerPreferences.xml.orig
Ludacrisvp said:
still wipes out and replaces at reboot for me. some other setting must be overriding this.
Click to expand...
Click to collapse
Maybe it has to do with the wrong owner/group of the file.
Try this after copying your ServerPreferences.xml:
Code:
chown --reference=Experiments.xml ServerPreferences.xml
And then just simple type "reboot".
androidfux said:
Maybe it has to do with the wrong owner/group of the file.
Try this after copying your ServerPreferences.xml:
Code:
chown --reference=Experiments.xml ServerPreferences.xml
And then just simple type "reboot".
Click to expand...
Click to collapse
just typing reboot doesn't work for me it just sits there forever. thats why i invoke that thermal shutdown script, it prompts the user saying it needs to cool down then after you hit OK its reboots.
I tried it with the original owner (by editing the file in place), then since it had deleted my changes i made a copy of the file that i used to replace it with and left owner as root hoping that it wouldn't have permissions to be replaced again.
Ludacrisvp said:
just typing reboot doesn't work for me it just sits there forever. thats why i invoke that thermal shutdown script, it prompts the user saying it needs to cool down then after you hit OK its reboots.
I tried it with the original owner (by editing the file in place), then since it had deleted my changes i made a copy of the file that i used to replace it with and left owner as root hoping that it wouldn't have permissions to be replaced again.
Click to expand...
Click to collapse
Found out why my reboot command wasn't working ... SSHDroid has a symlink to reboot via busybox which doesn't work...
[email protected]:/ # reboot
[email protected]:/ # which reboot
/data/data/berserker.android.apps.sshdroid/home/.bin/reboot
[email protected]:/data/data/berserker.android.apps.sshdroid/home # ls -l .bin/reboot
lrwxrwxrwx 1 app_33 app_33 59 Dec 18 05:23 reboot -> /data/data/berserker.android.apps.sshdroid/dropbear/busybox
[email protected]:/ # find /system |grep reboot
/system/bin/reboot
[email protected]:/ # /system/bin/reboot
packet_write_wait: Connection to 10.10.10.96: Broken pipe
but its still being overwritten, maybe its a 5.0.3.1 issue.
Just updated my ATV2 for the first time since the original post.
The default audio language change still works the same with 5.2.4.0
(I had to look for this post to find the file again...)
I'm sorry for *necroposting* in here but I can't find anything similar anywhere else.
I live in Italy and I just rooted my Pendant. Unfortunately the Pendant is georestricted. to the first installation boot (which was in USA so with US settings and locale). I was told by customer care that I need to factory reset and after that the box will receive the correct regional settings to make my Amazon Video app work. Of course I cant factory reset otherwise the box will permanently lose root or even worse start bootlooping. Is there a way to change regional settings for AVOD to my correct Italian ones?
Thanks.
Pino.