Related
So now that we have been able to root the alltel hero, we seem to have an issue with mms sending... while everything else works great in all roms tested thus far...
While I am quite experienced in winmo, I am not in android...
Any help with a patch or fix ideas that might help us alltel users or input would be appreciated!!!
cd C:\android-sdk\tools
adb shell
cd /data/data/com*telephony/databases
sqlite3 telephony.db
update carriers set mmsc='http://mms.alltelpcs.net/?X-MDN=YOUR11DIGITNUMBER' where name='Production';
or
cd C:\android-sdk\tools
adb shell
cd /data/data/com*telephony/databases
sqlite3 telephony.db
update carriers set mmsc='http://mms.alltel.net/?X-MDN=YOUR11DIGITNUMBER' where name='Production';
try one of those........I could be wrong though...
Working with darchster last night, we got it working on my alltel hero by adding:
Code:
<apn mcc="000" mmsc="http://mms.alltel.com/servlets/mms" mmsprotocol="2.0" mmsport="8080" type="mms" mmsproxy="mms.alltel.com" carrier="Production" apn="1" port="" mnc="00" />
to the end of /system/etc/apns-conf.xml, and deleting /data/data/com.android.providers.telephony/databases/telephony.db
then rebooting
s0be said:
Working with darchster last night, we got it working on my alltel hero by adding:
Code:
<apn mcc="000" mmsc="http://mms.alltel.com/servlets/mms" mmsprotocol="2.0" mmsport="8080" type="mms" mmsproxy="mms.alltel.com" carrier="Production" apn="1" port="" mnc="00" />
to the end of /system/etc/apns-conf.xml, and deleting /data/data/com.android.providers.telephony/databases/telephony.db
then rebooting
Click to expand...
Click to collapse
Thanks for all of the hard work on this!!!
I'm still not able to get it to go through it is stuck on sending.... can you please post the apns that you used.
racer67h said:
Thanks for all of the hard work on this!!!
I'm still not able to get it to go through it is stuck on sending.... can you please post the apns that you used.
Click to expand...
Click to collapse
Sure... one sec...
This sends, but I've not confirmed receipt by the recipient yet.
I must be pushing it wrong. I am getting file read only error. Rooted on darchstar.
halfevildruid said:
I must be pushing it wrong. I am getting file read only error. Rooted on darchstar.
Click to expand...
Click to collapse
adb remount
Fix still needed... none of these work. I have tried every possible configuration I can think of for the apn file. The answer must be in the stock rom somewhere since it sends with it and no other rom... just where????
no good for me
So has any of you managed to get them to go yet?
halfevildruid said:
no good for me
So has any of you managed to get them to go yet?
Click to expand...
Click to collapse
So far fresh based roms, (fresh, zen, etc work for me when I update the server with ##3282#
all other roms without this capability I cant get to go. This includes the voice open apns dialer when available and the apn backup restore tool from market.
I have as well pulled the apn files from the stock rom and used them, however still can not get them to work. The stock apn from the alltel rom is as follows, if it helps anyone else:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <apns count="3">
<apn name="CDMA" numeric="00000" mcc="000" mnc="00" apn="0" user="null" server="null" password="null" proxy="null" port="" mmsproxy="" mmsport="" mmsprotocol="" mmsc="" type="*" />
<apn name="Production" numeric="00000" mcc="000" mnc="00" apn="1" user="null" server="null" password="null" proxy="null" port="" mmsproxy="mms.alltel.com" mmsport="8080" mmsprotocol="2.0" mmsc="http://mms.alltel.com/servlets/mms" type="mms" />
<apn name="Android" numeric="310995" mcc="310" mnc="995" apn="internet" user="*" server="*" password="*" proxy="null" port="null" mmsproxy="null" mmsport="null" mmsprotocol="null" mmsc="null" type="null" />
</apns>
well. i hope this helps you guys, I know i dont have any previous posts but heres my /system/etc/apns-conf.xml i pulled from my Alltel Hero. There's an "spn-conf.xml" i noticed too so i pulled that as well just in case
Code:
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2008 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
[http]apache.org/licenses/LICENSE-2.0 <-- had to edit link of course. :P
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- This file contains fake APNs that are necessary for the emulator
to talk to the network. It should only be installed for SDK builds.
This file is not installed by the local Android.mk, it's installed using
a PRODUCT_COPY_FILES line in the sdk section of the toplevel Makefile.
-->
<!-- use empty string to specify no proxy or port -->
<!-- This version must agree with that in apps/common/res/apns.xml -->
<apns version="6">
<apn carrier="Android"
mcc="310"
mnc="995"
apn="internet"
user="*"
server="*"
password="*"
mmsc="null"
/>
<!--apn carrier="TelKila"
mcc="310"
mnc="260"
apn="internet"
user="*"
server="*"
password="*"
mmsc="null"
/-->
</apns>
i was able to pull this after restoring my pre-rooted/stock BART backup then reflashing the recovery to ClockworkMod and using that to mount /data and /system folders (also pulled telephony.db and mmssms.db from the databases dir)
im still in the process of getting things figured out with all this too, been trying to send mms using CM6 and came across all this just hours ago.
hoping someone might be able to help...
been working on getting mms send to work for alltel, and was hoping to get some input... below is what is read when I send mms, I have also done logcats for sending from a working rom and don't get what below... anyone have some input or ideas that might help?
logcat:
E/SendTransaction( 335): java.lang.NullPointerException: uriString
E/SendTransaction( 335): at android.net.Uri$StringUri.<init>(Uri.java:420)
E/SendTransaction( 335): at android.net.Uri$StringUri.<init>(Uri.java:410)
E/SendTransaction( 335): at android.net.Uri.parse(Uri.java:382)
E/SendTransaction( 335): at com.android.mms.transaction.Transaction.ensureRout eToHost(Transaction.java:218)
E/SendTransaction( 335): at com.android.mms.transaction.Transaction.sendPdu(Tr ansaction.java:165)
E/SendTransaction( 335): at com.android.mms.transaction.Transaction.sendPdu(Tr ansaction.java:150)
E/SendTransaction( 335): at com.android.mms.transaction.SendTransaction.run(Se ndTransaction.java:118)
E/SendTransaction( 335): at java.lang.Thread.run(Thread.java:1096)
E/SendTransaction( 335): Delivery failed.
this is all that fails or is in read in the logcat, everything else seems ok. I have the entire log if needed
dont know... but maybe this will help you?
http: //forum.xda-developers.com/showpost.php?p=7916563&postcount=1523
are you disabling wifi before you try sending the mms messages, i know with my carrier you can't send or recieve mms messages if wifi is enabled even with the stock rom.
I am currently working on a solution to fix 4.4 with more stable results.
I have created a flashable zip that works in an aftermarket recovery. It replaces the platform.xml file with modified file that has the necessary permission line to make the sd card writable now. That is the only thing changed. I added the under WRITE_EXTERNAL_STORAGE.
You need to be on a custom recovery. This update only applies to I9505G. If you do not have an S4 GOOGLE EDITION PHONE, then please disregard and move on.
Warning; You are flashing this at your own risk. I am not responsible for broken devices, deleted memory cards, phones thrown from raging, or WW3.
Download the flashable from here: http://d-h.st/Eif
Download the modified platform.xml to replace the original from here if you would rather push it: http://d-h.st/ooU
(this is not needed with zip, already included)
1. Place the zip the on your internal or external drive.
2. Reboot to your custom recovery, ie ( twrp, cwm)
3. Create a backup, have a restore point if it does not work.
4. Wipe dalvik and cache
5. Install the zip file
6. Wipe the dalvik and cache just to be sure.
7. Reboot phone.
Test to make sure it worked by using any file explorer, ie(solid explorer, root explorer, etc.) and creating a new folder, text document, or whatever. Do this through the phone, not a p.c. If it does not work, reboot to recovery, restore back to previous point and let me know asap.
I like it
Sent from my SGH-I317 using Tapatalk 2
cdshepherd said:
I like it
Sent from my SGH-I317 using Tapatalk 2
Click to expand...
Click to collapse
Thanks I will incorporate this on the 4.3 if you don't mind with credit.
Sent from my GT-I9505G using Tapatalk 2
I don't mind at all. Use what ya need.
Sent from my GT-I9505G using Tapatalk 4
I did use Samurai's Odin package to update to mh5. I figures it would revert the permissions. My zip still works.
And TWRP 2.6.3.0 is out.
Sent from my GT-I9505G using Tapatalk 4
occupational_hazard said:
I have created a flashable zip that works in an aftermarket recovery. It replaces the platform.xml file with modified file that has the necessary permission line to make the sd card writable now. That is the only thing changed. I added the <group gid="media_rw"/> under WRITE_EXTERNAL_STORAGE.
You need to be on a custom recovery. This update only applies to I9505G. If you do not have an S4 GOOGLE EDITION PHONE, then please disregard and move on. This is only for the MH1 4.3 firmware that does not allow you to write to the sdcard.
Warning; You are flashing this at your own risk. I am not responsible for broken devices, deleted memory cards, phones thrown from raging, or WW3.
Download the flashable from here: http://d-h.st/Eif
Download the modified platform.xml to replace the original from here if you would rather push it: http://d-h.st/ooU
(this is not needed with zip, already included)
1. Place the zip the on your internal or external drive.
2. Reboot to your custom recovery, ie ( twrp, cwm)
3. Create a backup, have a restore point if it does not work.
4. Wipe dalvik and cache
5. Install the zip file
6. Wipe the dalvik and cache just to be sure.
7. Reboot phone.
Test to make sure it worked by using any file explorer, ie(solid explorer, root explorer, etc.) and creating a new folder, text document, or whatever. Do this through the phone, not a p.c. If it does not work, reboot to recovery, restore back to previous point and let me know asap.
Click to expand...
Click to collapse
You're welcome.
http://forum.xda-developers.com/showthread.php?p=44370296
When dialog fails, it's time for violence.
Really I would have never thought of doing that. That's ground breaking. Extraordinary!
Now do more research and you will see people have trouble writing to that file with root and trying a multitude of file explorers. And mounting system r/w. I still couldn't. Hence the links to the flashable in the op.
So....
Your welcome.
Sent from my GT-I9505G using Tapatalk 4
occupational_hazard said:
Really I would have never thought of doing that. That's ground breaking. Extraordinary!
Now do more research and you will see people have trouble writing to that file with root and trying a multitude of file explorers. And mounting system r/w. I still couldn't. Hence the links to the flashable in the op.
So....
Your welcome.
Sent from my GT-I9505G using Tapatalk 4
Click to expand...
Click to collapse
My sincere apologies. I'm having a bad day. I'm glad I could contribute to your work.
When dialog fails, it's time for violence.
Its all good and understandable.
Sent from my GT-I9505G using Tapatalk 4
That worked great, thank you!
Sent from my GT-I9505G using Tapatalk 2
apollokid said:
That worked great, thank you!
Sent from my GT-I9505G using Tapatalk 2
Click to expand...
Click to collapse
Works well on 4.4 also.
This is good to know
Sent from my GT-I9505G using Tapatalk
wilbarger said:
Works well on 4.4 also.
Click to expand...
Click to collapse
I had read that some folks were having troubles with the 4.4 update, can you update and then edit that file again the same way as before?
Prior to updating, I was running CM 10.2. I flashed back to stock 4.3 from here http://forum.xda-developers.com/showthread.php?t=2442445 and then flashed 4.4 from here http://forum.xda-developers.com/showthread.php?t=2544056. After that (which went flawlessly), I copied the SD card fix from this thread and then installed it. No issues at all and everything works perfectly.
We are lucky to have SamuriHL and MJHawaii helping us out with our phones. Sorry, left out occupational_hazard. No disrespect meant.
Below is the text from the platform.xml that is on my phone after I updated. There shouldn't be any need to flash on 4.4. But please let me know if I am wrong. I also can make the original 4.3 platform.xml file to flash so you can update through recovery of that is the issue
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2008 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- This file is used to define the mappings between lower-level system
user and group IDs and the higher-level permission names managed
by the platform.
Be VERY careful when editing this file! Mistakes made here can open
big security holes.
-->
<permissions>
<!-- ================================================================== -->
<!-- ================================================================== -->
<!-- ================================================================== -->
<!-- The following tags are associating low-level group IDs with
permission names. By specifying such a mapping, you are saying
that any application process granted the given permission will
also be running with the given group ID attached to its process,
so it can perform any filesystem (read, write, execute) operations
allowed for that group. -->
<permission name="android.permission.BLUETOOTH_ADMIN" >
<group gid="net_bt_admin" />
</permission>
<permission name="android.permission.BLUETOOTH" >
<group gid="net_bt" />
</permission>
<permission name="android.permission.BLUETOOTH_STACK" >
<group gid="net_bt_stack" />
</permission>
<permission name="android.permission.NET_TUNNELING" >
<group gid="vpn" />
</permission>
<permission name="android.permission.INTERNET" >
<group gid="inet" />
</permission>
<permission name="android.permission.READ_LOGS" >
<group gid="log" />
</permission>
<permission name="android.permission.READ_EXTERNAL_STORAGE" >
<group gid="sdcard_r" />
</permission>
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
<group gid="sdcard_r" />
<group gid="sdcard_rw" />
</permission>
<permission name="android.permission.ACCESS_ALL_EXTERNAL_STORAGE" >
<group gid="sdcard_r" />
<group gid="sdcard_rw" />
<group gid="sdcard_all" />
</permission>
<permission name="android.permission.WRITE_MEDIA_STORAGE" >
<group gid="media_rw" />
</permission>
<permission name="android.permission.ACCESS_MTP" >
<group gid="mtp" />
</permission>
<permission name="android.permission.NET_ADMIN" >
<group gid="net_admin" />
</permission>
<!-- The group that /cache belongs to, linked to the permission
set on the applications that can access /cache -->
<permission name="android.permission.ACCESS_CACHE_FILESYSTEM" >
<group gid="cache" />
</permission>
<!-- RW permissions to any system resources owned by group 'diag'.
This is for carrier and manufacture diagnostics tools that must be
installable from the framework. Be careful. -->
<permission name="android.permission.DIAGNOSTIC" >
<group gid="input" />
<group gid="diag" />
</permission>
<!-- Group that can read detailed network usage statistics -->
<permission name="android.permission.READ_NETWORK_USAGE_HISTORY">
<group gid="net_bw_stats" />
</permission>
<!-- Group that can modify how network statistics are accounted -->
<permission name="android.permission.MODIFY_NETWORK_ACCOUNTING">
<group gid="net_bw_acct" />
</permission>
<permission name="android.permission.LOOP_RADIO" >
<group gid="loop_radio" />
</permission>
<!-- ================================================================== -->
<!-- ================================================================== -->
<!-- ================================================================== -->
<!-- The following tags are assigning high-level permissions to specific
user IDs. These are used to allow specific core system users to
perform the given operations with the higher-level framework. For
example, we give a wide variety of permissions to the shell user
since that is the user the adb shell runs under and developers and
others should have a fairly open environment in which to
interact with the system. -->
<assign-permission name="android.permission.MODIFY_AUDIO_SETTINGS" uid="media" />
<assign-permission name="android.permission.ACCESS_SURFACE_FLINGER" uid="media" />
<assign-permission name="android.permission.WAKE_LOCK" uid="media" />
<assign-permission name="android.permission.UPDATE_DEVICE_STATS" uid="media" />
<assign-permission name="android.permission.UPDATE_APP_OPS_STATS" uid="media" />
<assign-permission name="android.permission.ACCESS_SURFACE_FLINGER" uid="graphics" />
<!-- This is a list of all the libraries available for application
code to link against. -->
<library name="android.test.runner"
file="/system/framework/android.test.runner.jar" />
<library name="javax.obex"
file="/system/framework/javax.obex.jar"/>
</permissions>
Sent from my GT-I9505G using Tapatalk
I think you may be mistaken. After flash, it is as you stated. From what I understand, you will need to add (either by editing or by using your file in this thread) to change platform.xml to have <group gid="media_rw" /> statement under WRITE_EXTERNAL_STORAGE
Are you saying that you can store to external SD without this statement? I could not until I made the change.
occupational_hazard said:
Below is the text from the platform.xml that is on my phone after I updated. There shouldn't be any need to flash on 4.4. But please let me know if I am wrong. I also can make the original 4.3 platform.xml file to flash so you can update through recovery of that is the issue
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2008 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- This file is used to define the mappings between lower-level system
user and group IDs and the higher-level permission names managed
by the platform.
Be VERY careful when editing this file! Mistakes made here can open
big security holes.
-->
<permissions>
<!-- ================================================================== -->
<!-- ================================================================== -->
<!-- ================================================================== -->
<!-- The following tags are associating low-level group IDs with
permission names. By specifying such a mapping, you are saying
that any application process granted the given permission will
also be running with the given group ID attached to its process,
so it can perform any filesystem (read, write, execute) operations
allowed for that group. -->
<permission name="android.permission.BLUETOOTH_ADMIN" >
<group gid="net_bt_admin" />
</permission>
<permission name="android.permission.BLUETOOTH" >
<group gid="net_bt" />
</permission>
<permission name="android.permission.BLUETOOTH_STACK" >
<group gid="net_bt_stack" />
</permission>
<permission name="android.permission.NET_TUNNELING" >
<group gid="vpn" />
</permission>
<permission name="android.permission.INTERNET" >
<group gid="inet" />
</permission>
<permission name="android.permission.READ_LOGS" >
<group gid="log" />
</permission>
<permission name="android.permission.READ_EXTERNAL_STORAGE" >
<group gid="sdcard_r" />
</permission>
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
<group gid="sdcard_r" />
<group gid="sdcard_rw" />
</permission>
<permission name="android.permission.ACCESS_ALL_EXTERNAL_STORAGE" >
<group gid="sdcard_r" />
<group gid="sdcard_rw" />
<group gid="sdcard_all" />
</permission>
<permission name="android.permission.WRITE_MEDIA_STORAGE" >
<group gid="media_rw" />
</permission>
<permission name="android.permission.ACCESS_MTP" >
<group gid="mtp" />
</permission>
<permission name="android.permission.NET_ADMIN" >
<group gid="net_admin" />
</permission>
<!-- The group that /cache belongs to, linked to the permission
set on the applications that can access /cache -->
<permission name="android.permission.ACCESS_CACHE_FILESYSTEM" >
<group gid="cache" />
</permission>
<!-- RW permissions to any system resources owned by group 'diag'.
This is for carrier and manufacture diagnostics tools that must be
installable from the framework. Be careful. -->
<permission name="android.permission.DIAGNOSTIC" >
<group gid="input" />
<group gid="diag" />
</permission>
<!-- Group that can read detailed network usage statistics -->
<permission name="android.permission.READ_NETWORK_USAGE_HISTORY">
<group gid="net_bw_stats" />
</permission>
<!-- Group that can modify how network statistics are accounted -->
<permission name="android.permission.MODIFY_NETWORK_ACCOUNTING">
<group gid="net_bw_acct" />
</permission>
<permission name="android.permission.LOOP_RADIO" >
<group gid="loop_radio" />
</permission>
<!-- ================================================================== -->
<!-- ================================================================== -->
<!-- ================================================================== -->
<!-- The following tags are assigning high-level permissions to specific
user IDs. These are used to allow specific core system users to
perform the given operations with the higher-level framework. For
example, we give a wide variety of permissions to the shell user
since that is the user the adb shell runs under and developers and
others should have a fairly open environment in which to
interact with the system. -->
<assign-permission name="android.permission.MODIFY_AUDIO_SETTINGS" uid="media" />
<assign-permission name="android.permission.ACCESS_SURFACE_FLINGER" uid="media" />
<assign-permission name="android.permission.WAKE_LOCK" uid="media" />
<assign-permission name="android.permission.UPDATE_DEVICE_STATS" uid="media" />
<assign-permission name="android.permission.UPDATE_APP_OPS_STATS" uid="media" />
<assign-permission name="android.permission.ACCESS_SURFACE_FLINGER" uid="graphics" />
<!-- This is a list of all the libraries available for application
code to link against. -->
<library name="android.test.runner"
file="/system/framework/android.test.runner.jar" />
<library name="javax.obex"
file="/system/framework/javax.obex.jar"/>
</permissions>
Sent from my GT-I9505G using Tapatalk
Click to expand...
Click to collapse
Are you sure about this? I think this is wrong and that the platform.xml file does not have that line in 4.4
That's the platform.XML I have after updating to 4.4 with no sdcard fix.
Sent from my GT-I9505G using Tapatalk
You can check it under /etc/permissions/platform.xml
Sent from my GT-I9505G using Tapatalk
Maybe since I did not use your file on 4.3 and did the text edit of the file instead, it didn't carry forward when I upgraded. I do know that when I flashed your file, it changed the statement to "media" instead of <group gid="sdcard_r" />.
Here is what I now have <permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
<group gid="sdcard_rw" />
<groud gid="media_rw" />
</permission>
Just to clarify, you can create a new folder on the SD card without the "media" statement??
does anyone has experienced this?
seems no problem when write on internal
I had that problem too... Decided to try KitKat External SD Card Patch from Google Play to see if it would work and it did. Requires Root, though, as I'm sure any sort of fix for this would.
I used ES file explorer, I had to allow SD card access before I was able to use it normally. No root require. I tried to moved some apps to my sd card works too. You should try to move apps to sd. If that doesn't work then its either your SD card is dead or the writer is dead.
nyongrand said:
does anyone has experienced this?
seems no problem when write on internal
Click to expand...
Click to collapse
If you have root access.
1. As Root, Browse to "system/etc/permissions" (I recommend using FX File Explorer)
2. Open the file "platform.xml" for Edit.
3. Under "android.permission.WRITE_EXTERNAL_STORAGE", add the line "<group gid="media_rw" />".
From:
Code:
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
<group gid="sdcard_r" />
<group gid="sdcard_rw" />
</permission>
to:
Code:
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
<group gid="sdcard_r" />
<group gid="sdcard_rw" />
<group gid="media_rw" />
</permission>
4. Save and reboot.
You'll have normal SD card access for all your apps.
IaguCool said:
If you have root access.
1. As Root, Browse to "system/etc/permissions" (I recommend using FX File Explorer)
2. Open the file "platform.xml" for Edit.
3. Under "android.permission.WRITE_EXTERNAL_STORAGE", add the line "<group gid="media_rw" />".
From:
Code:
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
<group gid="sdcard_r" />
<group gid="sdcard_rw" />
</permission>
to:
Code:
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
<group gid="sdcard_r" />
<group gid="sdcard_rw" />
<group gid="media_rw" />
</permission>
4. Save and reboot.
You'll have normal SD card access for all your apps.
Click to expand...
Click to collapse
Hi @LaguCool, I decided to do what you write, unfortunately I can't save the file after I edit the file, I use ES File explorer, I swear I have root, is this called half root?
nyongrand said:
Hi @LaguCool, I decided to do what you write, unfortunately I can't save the file after I edit the file, I use ES File explorer, I swear I have root, is this called half root?
Click to expand...
Click to collapse
Before you open the file for edit, you need to "remount system as R/W". I'm not sure where to do that in ES, but it's really straightforward in FX.
EDIT: See here how to do that:
http://www.guidingtech.com/14709/es-file-explorer-edit-modify-system-files-android/
IaguCool said:
Before you open the file for edit, you need to "remount system as R/W". I'm not sure where to do that in ES, but it's really straightforward in FX.
EDIT: See here how to do that:
http://www.guidingtech.com/14709/es-file-explorer-edit-modify-system-files-android/
Click to expand...
Click to collapse
I have never experienced this before, FS always work for me,
I already do the step on the link too, maybe I should try other file explorer.
nyongrand said:
I have never experienced this before, FS always work for me,
I already do the step on the link too, maybe I should try other file explorer.
Click to expand...
Click to collapse
Well, in FX File Explorer you just go into "System (Root)", then to "system" folder and click the lock icon on the action bar to remount as read/write. After editing you click that icon again to remount as read-only. Really simple.
IaguCool said:
Well, in FX File Explorer you just go into "System (Root)", then to "system" folder and click the lock icon on the action bar to remount as read/write. After editing you click that icon again to remount as read-only. Really simple.
Click to expand...
Click to collapse
OK, thats working, thanks..
IgorEisberg said:
If you have root access.
1. As Root, Browse to "system/etc/permissions" (I recommend using FX File Explorer)
2. Open the file "platform.xml" for Edit.
3. Under "android.permission.WRITE_EXTERNAL_STORAGE", add the line "<group gid="media_rw" />".
From:
Code:
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
<group gid="sdcard_r" />
<group gid="sdcard_rw" />
</permission>
to:
Code:
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
<group gid="sdcard_r" />
<group gid="sdcard_rw" />
<group gid="media_rw" />
</permission>
4. Save and reboot.
You'll have normal SD card access for all your apps.
Click to expand...
Click to collapse
in my htc M8 i have not <permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
i have only <permission name="android.permission.WRITE_MEDIA_STORAGE" >
so i add the llines manually and save chmod 0644 restare the phone but not work
any suggestion ?
Samy6699 said:
in my htc M8 i have not <permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
i have only <permission name="android.permission.WRITE_MEDIA_STORAGE" >
so i add the llines manually and save chmod 0644 restare the phone but not work
any suggestion ?
Click to expand...
Click to collapse
If your file don't have it you could inject these lines in to your file at
Code:
Starting at line 65 or 66
<permission name=android.permission.WRITE_EXTERNAL_STORAGE >
<group gid="sdcard_r" />
<group gid="sdcard_rw" />
<group gid="media_rw" />
</permission>
Starting at line 76
<permission name="android.permission.WRITE_MEDIA_STORAGE" >
<group gid="sdcard_rw" />
<group gid="media_rw" />
</permission>
I looked at platform.xml on both my honami and Endeavoru (HTC) and they are very similar, the HTC starts one line below each 65.
If you keep those lines inside the same area I think it will be okay.
source:
https://android.stackexchange.com/q...ternal-sd-card-on-htc-one-m8-running-lollipop
https://forum.xda-developers.com/xp...ailed-to-write-external-t3083401/post75536106
https://forum.xda-developers.com/showthread.php?t=2687734
SUPERUSER said:
If your file don't have it you could inject these lines in to your file at
Code:
Starting at line 65 or 66
<permission name=android.permission.WRITE_EXTERNAL_STORAGE >
<group gid="sdcard_r" />
<group gid="sdcard_rw" />
<group gid="media_rw" />
</permission>
Starting at line 76
<permission name="android.permission.WRITE_MEDIA_STORAGE" >
<group gid="sdcard_rw" />
<group gid="media_rw" />
</permission>
I looked at platform.xml on both my honami and Endeavoru (HTC) and they are very similar, the HTC starts one line below each 65.
If you keep those lines inside the same area I think it will be okay.
source:
https://android.stackexchange.com/q...ternal-sd-card-on-htc-one-m8-running-lollipop
https://forum.xda-developers.com/xp...ailed-to-write-external-t3083401/post75536106
https://forum.xda-developers.com/showthread.php?t=2687734
Click to expand...
Click to collapse
It work for lollipop and kitkat but not in android 6
Samy6699 said:
It work for lollipop and kitkat but not in android 6
Click to expand...
Click to collapse
Yes I know. In marshmallow it changed to per-app basis prompt when the request is sent.
https://developer.android.com/training/permissions/requesting.html
I want to build 12.1 CAF
this way is right?
Code:
Checking out files: 100% (13/13), done.king out files: 30% (4/13)
Checking out files: 100% (168/168), done.
Syncing work tree: 100% (556/556), done.
[email protected] ~/cm12.1 $ . build/envsetup.sh
including device/generic/mini-emulator-armv7-a-neon/vendorsetup.sh
including device/generic/mini-emulator-mips/vendorsetup.sh
including device/generic/mini-emulator-x86_64/vendorsetup.sh
including device/generic/mini-emulator-arm64/vendorsetup.sh
including device/generic/mini-emulator-x86/vendorsetup.sh
including vendor/cm/vendorsetup.sh
including sdk/bash_completion/adb.bash
including vendor/cm/bash_completion/git.bash
including vendor/cm/bash_completion/repo.bash
[email protected] ~/cm12.1 $ lunch
You're building on Linux
Lunch menu... pick a combo:
1. aosp_arm-eng 54. cm_kltechnduo-userdebug
2. aosp_arm64-eng 55. cm_kltespr-userdebug
3. aosp_mips-eng 56. cm_l900-userdebug
4. aosp_mips64-eng 57. cm_m7-userdebug
5. aosp_x86-eng 58. cm_m7vzw-userdebug
6. aosp_x86_64-eng 59. cm_m8-userdebug
7. m_e_arm-userdebug 60. cm_mako-userdebug
8. mini_emulator_mips-userdebug 61. cm_manta-userdebug
9. mini_emulator_x86_64-userdebug 62. cm_maserati-userdebug
10. mini_emulator_arm64-userdebug 63. cm_mb886-userdebug
11. mini_emulator_x86-userdebug 64. cm_mondrianwifi-userdebug
12. cm_acclaim-userdebug 65. cm_n3-userdebug
13. cm_amami-userdebug 66. cm_n5100-userdebug
14. cm_bacon-userdebug 67. cm_n5110-userdebug
15. cm_castor-userdebug 68. cm_nicki-userdebug
16. cm_castor_windy-userdebug 69. cm_obake-userdebug
17. cm_condor-userdebug 70. cm_peregrine-userdebug
18. cm_d2att-userdebug 71. cm_picassowifi-userdebug
19. cm_d2spr-userdebug 72. cm_quark-userdebug
20. cm_d2tmo-userdebug 73. cm_scorpion-userdebug
21. cm_d2vzw-userdebug 74. cm_scorpion_windy-userdebug
22. cm_d850-userdebug 75. cm_serrano3gxx-userdebug
23. cm_d851-userdebug 76. cm_serranoltexx-userdebug
24. cm_d852-userdebug 77. cm_shamu-userdebug
25. cm_d855-userdebug 78. cm_sirius-userdebug
26. cm_deb-userdebug 79. cm_spyder-userdebug
27. cm_dlx-userdebug 80. cm_superior-userdebug
28. cm_e975-userdebug 81. cm_t0lte-userdebug
29. cm_e980-userdebug 82. cm_t6-userdebug
30. cm_evita-userdebug 83. cm_t6spr-userdebug
31. cm_falcon-userdebug 84. cm_t6vzw-userdebug
32. cm_find7-userdebug 85. cm_targa-userdebug
33. cm_find7s-userdebug 86. cm_tf300t-userdebug
34. cm_flo-userdebug 87. cm_thea-userdebug
35. cm_fugu-userdebug 88. cm_tilapia-userdebug
36. cm_ghost-userdebug 89. cm_titan-userdebug
37. cm_grouper-userdebug 90. cm_togari-userdebug
38. cm_hammerhead-userdebug 91. cm_togari_gpe-userdebug
39. cm_hammerheadcaf-userdebug 92. cm_trltetmo-userdebug
40. cm_hlte-userdebug 93. cm_trltexx-userdebug
41. cm_hltespr-userdebug 94. cm_umts_spyder-userdebug
42. cm_hltetmo-userdebug 95. cm_v410-userdebug
43. cm_i605-userdebug 96. cm_v500-userdebug
44. cm_i925-userdebug 97. cm_victara-userdebug
45. cm_honami-userdebug 98. cm_ville-userdebug
46. cm_jflteatt-userdebug 99. cm_vs985-userdebug
47. cm_jfltespr-userdebug 100. cm_xt897-userdebug
48. cm_jfltetmo-userdebug 101. cm_xt907-userdebug
49. cm_jfltevzw-userdebug 102. cm_xt925-userdebug
50. cm_jfltexx-userdebug 103. cm_xt926-userdebug
51. cm_klimtwifi-userdebug 104. cm_z3-userdebug
52. cm_klte-userdebug 105. cm_z3c-userdebug
53. cm_kltechn-userdebug
Which would you like? [aosp_arm-eng] 39
ls: невозможно получить доступ к device/*/hammerheadcaf/cm.mk: Нет такого файла или каталога
build/core/product_config.mk:234: *** Can not locate config makefile for product "cm_hammerheadcaf". Останов.
Device hammerheadcaf not found. Attempting to retrieve device repository from CyanogenMod Github ([url]http://github.com/CyanogenMod[/url]).
Found repository: android_device_lge_hammerheadcaf
Default revision: cm-12.1
Checking branch info
Adding dependency: CyanogenMod/android_device_lge_hammerheadcaf -> device/lge/hammerheadcaf
Using default branch for android_device_lge_hammerheadcaf
Syncing repository to retrieve project.
Fetching project CyanogenMod/android_device_lge_hammerheadcaf
Fetching projects: 100% (1/1), done.
Repository synced!
Looking for dependencies
Adding dependencies to manifest
Adding dependency: CyanogenMod/android_kernel_lge_hammerhead -> kernel/lge/hammerhead
Adding dependency: CyanogenMod/android_device_qcom_common -> device/qcom/common
Using default branch for android_device_qcom_common
Syncing dependencies
Fetching project CyanogenMod/android_device_qcom_common
Fetching project CyanogenMod/android_kernel_lge_hammerhead
Fetching projects: 100% (2/2), done.
Checking out files: 100% (41719/41719), done.
Looking for dependencies
Dependencies file not found, bailing out.
Looking for dependencies
Dependencies file not found, bailing out.
Done
build/core/product_config.mk:239: *** _nic.PRODUCTS.[[device/lge/hammerheadcaf/cm.mk]]: "vendor/lge/hammerheadcaf/hammerheadcaf-vendor.mk" does not exist. Останов.
** Don't have a product spec for: 'cm_hammerheadcaf'
** Do you have the right repo manifest?
then open
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="CyanogenMod/android_device_lge_hammerheadcaf" path="device/lge/hammerheadcaf" remote="github" />
<project name="CyanogenMod/android_kernel_lge_hammerhead" path="kernel/lge/hammerhead" remote="github" revision="cm-12.1-caf" />
<project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" />
</manifest>
and add this
https://github.com/TheMuppets/proprietary_vendor_lge/tree/cm-12.1
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="CyanogenMod/android_device_lge_hammerheadcaf" path="device/lge/hammerheadcaf" remote="github" />
<project name="TheMuppets/proprietary_vendor_lge" remote="github" revision="cm-12.1" />
<project name="CyanogenMod/android_kernel_lge_hammerhead" path="kernel/lge/hammerhead" remote="github" revision="cm-12.1-caf" />
<project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" />
</manifest>
and again repo sync -j5
right ? or need something else to fix for a good build? if need,please show me example ...
thx.
I think so right
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="CyanogenMod/android_device_lge_hammerheadcaf" path="device/lge/hammerheadcaf" remote="github" />
<project name="CyanogenMod/android_kernel_lge_hammerhead" path="kernel/lge/hammerhead" remote="github" revision="cm-12.1-caf" />
<project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" />
<project name="myfluxi/proprietary_vendor_lge" path="vendor/lge" remote="github" revision="cm-12.1" />
</manifest>
not build
Code:
target SharedLib: libRSDriver (/home/garynych/cm12.1/out/target/product/hammerheadcaf/obj/SHARED_LIBRARIES/libRSDriver_intermediates/LINKED/libRSDriver.so)
prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8/arm-linux-androideabi/bin/ld: error: /home/garynych/cm12.1/out/target/product/hammerheadcaf/obj/SHARED_LIBRARIES/libRSDriver_intermediates/driver/rsdAllocation.o: file is empty
prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8/arm-linux-androideabi/bin/ld: error: /home/garynych/cm12.1/out/target/product/hammerheadcaf/obj/SHARED_LIBRARIES/libRSDriver_intermediates/driver/rsdBcc.o: file is empty
prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8/arm-linux-androideabi/bin/ld: error: /home/garynych/cm12.1/out/target/product/hammerheadcaf/obj/SHARED_LIBRARIES/libRSDriver_intermediates/driver/rsdCore.o: file is empty
prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8/arm-linux-androideabi/bin/ld: error: /home/garynych/cm12.1/out/target/product/hammerheadcaf/obj/SHARED_LIBRARIES/libRSDriver_intermediates/driver/rsdElement.o: file is empty
prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8/arm-linux-androideabi/bin/ld: error: /home/garynych/cm12.1/out/target/product/hammerheadcaf/obj/SHARED_LIBRARIES/libRSDriver_intermediates/driver/rsdFrameBuffer.o: file is empty
prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8/arm-linux-androideabi/bin/ld: error: /home/garynych/cm12.1/out/target/product/hammerheadcaf/obj/SHARED_LIBRARIES/libRSDriver_intermediates/driver/rsdFrameBufferObj.o: file is empty
prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8/arm-linux-androideabi/bin/ld: error: /home/garynych/cm12.1/out/target/product/hammerheadcaf/obj/SHARED_LIBRARIES/libRSDriver_intermediates/driver/rsdGL.o: file is empty
prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8/arm-linux-androideabi/bin/ld: error: /home/garynych/cm12.1/out/target/product/hammerheadcaf/obj/SHARED_LIBRARIES/libRSDriver_intermediates/driver/rsdMesh.o: file is empty
prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8/arm-linux-androideabi/bin/ld: error: /home/garynych/cm12.1/out/target/product/hammerheadcaf/obj/SHARED_LIBRARIES/libRSDriver_intermediates/driver/rsdMeshObj.o: file is empty
prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8/arm-linux-androideabi/bin/ld: error: /home/garynych/cm12.1/out/target/product/hammerheadcaf/obj/SHARED_LIBRARIES/libRSDriver_intermediates/driver/rsdPath.o: file is empty
prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8/arm-linux-androideabi/bin/ld: error: /home/garynych/cm12.1/out/target/product/hammerheadcaf/obj/SHARED_LIBRARIES/libRSDriver_intermediates/driver/rsdProgram.o: file is empty
prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8/arm-linux-androideabi/bin/ld: error: /home/garynych/cm12.1/out/target/product/hammerheadcaf/obj/SHARED_LIBRARIES/libRSDriver_intermediates/driver/rsdProgramRaster.o: file is empty
prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8/arm-linux-androideabi/bin/ld: error: /home/garynych/cm12.1/out/target/product/hammerheadcaf/obj/SHARED_LIBRARIES/libRSDriver_intermediates/driver/rsdProgramStore.o: file is empty
prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8/arm-linux-androideabi/bin/ld: error: /home/garynych/cm12.1/out/target/product/hammerheadcaf/obj/SHARED_LIBRARIES/libRSDriver_intermediates/driver/rsdRuntimeStubs.o: file is empty
prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8/arm-linux-androideabi/bin/ld: error: /home/garynych/cm12.1/out/target/product/hammerheadcaf/obj/SHARED_LIBRARIES/libRSDriver_intermediates/driver/rsdSampler.o: file is empty
prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8/arm-linux-androideabi/bin/ld: error: /home/garynych/cm12.1/out/target/product/hammerheadcaf/obj/SHARED_LIBRARIES/libRSDriver_intermediates/driver/rsdScriptGroup.o: file is empty
prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8/arm-linux-androideabi/bin/ld: error: /home/garynych/cm12.1/out/target/product/hammerheadcaf/obj/SHARED_LIBRARIES/libRSDriver_intermediates/driver/rsdShader.o: file is empty
prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8/arm-linux-androideabi/bin/ld: error: /home/garynych/cm12.1/out/target/product/hammerheadcaf/obj/SHARED_LIBRARIES/libRSDriver_intermediates/driver/rsdShaderCache.o: file is empty
prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8/arm-linux-androideabi/bin/ld: error: /home/garynych/cm12.1/out/target/product/hammerheadcaf/obj/SHARED_LIBRARIES/libRSDriver_intermediates/driver/rsdType.o: file is empty
prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8/arm-linux-androideabi/bin/ld: error: /home/garynych/cm12.1/out/target/product/hammerheadcaf/obj/SHARED_LIBRARIES/libRSDriver_intermediates/driver/rsdVertexArray.o: file is empty
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [/home/garynych/cm12.1/out/target/product/hammerheadcaf/obj/SHARED_LIBRARIES/libRSDriver_intermediates/LINKED/libRSDriver.so] Ошибка 1
make: *** Ожидание завершения заданий...
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
[email protected] ~/cm12.1 $
tell me what's wrong? how fix?
Delete the folder local_manifests in .repo and do the following:
$ . build/envsetup.sh
$ lunch -> and choose the number that matches with cm_hammerhead-userdebug
Wait for the roomservice.xml sync and when it's done open the file and add at the top: <project name="TheMuppets/proprietary_vendor_lge" path="vendor/lge" remote="github" revision="cm-12.1" />
$ repo sync
and
$ brunch hammerhead
Your roomservice needs to look like this:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="TheMuppets/proprietary_vendor_lge" path="vendor/lge" remote="github" revision="cm-12.1" />
<project name="CyanogenMod/android_device_lge_hammerhead" path="device/lge/hammerhead" remote="github" />
<project name="CyanogenMod/android_kernel_lge_hammerhead" path="kernel/lge/hammerhead" remote="github" />
<project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" />
</manifest>
Next time just do:
$ . build/envsetup.sh
$ breakfast hammerhead
$ brunch hammerhead
PS: WHIT THIS STEPS YOU'LL BUILD NON CAF. FOR CAF CHECK IN LUNCH MENU FOR IT
Be happy!
Cristiano Matos
how to build cm12.1 i`m know
me need build exactly CAF variant,but after 2h build is error
garynych said:
Cristiano Matos
how to build cm12.1 i`m know
me need build exactly CAF variant,but after 2h build is error
Click to expand...
Click to collapse
Which linux distro do you use?
garynych said:
Cristiano Matos
how to build cm12.1 i`m know
me need build exactly CAF variant,but after 2h build is error
Click to expand...
Click to collapse
You're a smart person may i presume. The answer lies in my post. Regards
Snoop05 said:
Which linux distro do you use?
Click to expand...
Click to collapse
mint 17.1 rebecca (x64)
Cristiano Matos said:
You're a smart person may i presume. The answer lies in my post. Regards
Click to expand...
Click to collapse
sorry,maybe that's the problem with online translator google
am try
1
Delete the folder local_manifests in .repo and do the following:
$ . build/envsetup.sh
$ lunch -> and choose the number that matches with cm_hammerhead-userdebug
Click to expand...
Click to collapse
yes
2
Wait for the roomservice.xml sync and when it's done open the file and add at the top: <project name="TheMuppets/proprietary_vendor_lge" path="vendor/lge" remote="github" revision="cm-12.1" />
$ repo sync
Click to expand...
Click to collapse
yes
3
Next time just do:
$ . build/envsetup.sh
$ breakfast hammerhead
$ brunch hammerhead
Click to expand...
Click to collapse
$ . build/envsetup.sh
$ breakfast hammerheadcaf
$ brunch hammerheadcaf
no build
or
$ . build/envsetup.sh
$ lunch cm_hammerheadcaf-user
$ make -j3 otapackage
or
$ . build/envsetup.sh
$ lunch cm_hammerheadcaf-user
$ mka -j3 otapackage
no build
or
$ . build/envsetup.sh
$ lunch cm_hammerheadcaf-userdebug
$ mka -j3 otapackage
no build
all time ,this error
Which python version you use?
when my aosp buildbox is ready, i will try to build a cm12.1 caf... my build time is only 20min so that helps
Snoop05 said:
Which python version you use?
Click to expand...
Click to collapse
Python 2.7.6 (default, Mar 22 2014, 22:59:56)
[GCC 4.8.2] on linux2
now I did so
make clobber
ccache -C
and start build
already it's been 3 hours,I think must collect
Try it like this:
. build/envsetup.sh
lunch
39
breakfast hammerheadcaf
brunch hammerheadcaf
because i followed what Cristiano Matos sed and it works for me...
build.sh
Code:
#!/bin/bash
make clobber
repo sync -j16
source build/envsetup.sh
breakfast hammerheadcaf
mka bacon
cd $OUT
.repo/local_manifests/roomservice.xml
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" />
<project name="CyanogenMod/android_device_lge_hammerhead" path="device/lge/hammerhead" remote="github" />
<project name="CyanogenMod/android_kernel_lge_hammerhead" path="kernel/lge/hammerhead" remote="github" revision="cm-12.1-caf" />
<project name="CyanogenMod/android_device_lge_hammerheadcaf" path="device/lge/hammerheadcaf" remote="github" />
<project name="TheMuppets/proprietary_vendor_lge" path="vendor/lge" remote="github" revision="cm-12.1"/>
</manifest>
This worked for me. If problem persist try to reinstall all dependencies (check cm build wiki), gcc, g++, python and openjdk
garynych said:
now I did so
make clobber
ccache -C
and start build
already it's been 3 hours,I think must collect
Click to expand...
Click to collapse
this help me
build completed successfully
to everyone who helped,thank you
I'm happy
Hello well.. I am starting developing, so I took 2 apps that coming with MultiWindow feature, after looking about the things similar in the androidmanifest.xml I took 1 app that come without MultiWindow feature, added the similar things and recompiled, signed, installed and there it was.. MultiWindow feature
SO... Tools needed:
Apktool.bat
Apktool.jar
Signapk.zip
Step 1
Create your apktool.bat file as I cannot upload it, bat files can be viruses so it is not allowed.
Create txt file, paste this code inside:
Code:
@echo off
if "%PATH_BASE%" == "" set PATH_BASE=%PATH%
set PATH=%CD%;%PATH_BASE%;
java -jar -Duser.language=en "%~dp0\apktool.jar" %1 %2 %3 %4 %5 %6 %7 %8 %9
Save, change the extension from txt to bat.
Step 2
Download apk file, paste it in the same folder with apktool.bat and apktool.jar, call this folder Apktool
Press Shift + empty space inside the folder and then choose open cmd here / open cmd and navigate to this folder using the line "cd C:\Users\....."
in the cmd type "Apktool d yourappname.apk" this will decompile the app and create a new folder named "yourappname" inside it there will be androidmanifest.xml , edit it (recommending notepad++).
Step 3
Modifying the androidmanifest file.
Scroll down as you can before the line closing application (looks like "</Application>")
add this lines:
Code:
<uses-library android:name="com.sec.android.app.multiwindow" android:required="false"/>
<meta-data android:name="com.sec.android.support.multiwindow" android:value="true"/>
<meta-data android:name="com.sec.android.multiwindow.DEFAULT_SIZE_W" android:resource="@dimen/app_defaultsize_w" />
<meta-data android:name="com.sec.android.multiwindow.DEFAULT_SIZE_H" android:resource="@dimen/app_defaultsize_h" />
<meta-data android:name="com.sec.android.multiwindow.MINIMUM_SIZE_W" android:resource="@dimen/app_minimumsize_w" />
<meta-data android:name="com.sec.android.multiwindow.MINIMUM_SIZE_H" android:resource="@dimen/app_minimumsize_h" />
I don't know if the last four are necessary, you can test
and also search for this lines:
Code:
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
And change them to this lines:
Code:
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
<category android:name="android.intent.category.MULTIWINDOW_LAUNCHER"/>
</intent-filter>
Save the androidmanifest file.
Step 4
recompile the app,
Press Shift + empty space inside the folder and then choose open cmd here / open cmd and navigate to this folder using the line "cd C:\Users\....."
in the cmd type "Apktool b yourappname" this will recompile the folder and create a new apk inside the folder, inside folder dist.
Step 5
signing the app, transfer the apk from "yourappname/dist" to a folder named "signapk" and place all the zip content there.
Press Shift + empty space inside the folder and then choose open cmd here / open cmd and navigate to this folder using the line "cd C:\Users\....."
type inside the cmd:
"cd C:\SignApk
java -jar signapk.jar certificate.pem key.pk8 your-app.apk your-app-signed.apk
Example - java -jar signapk.jar certificate.pem key.pk8 D:\Users\xxx\Desktop\signapk\yourappname.apk D:\Users\xxx\Desktop\signapk\yourappname-signed.apk"
this will create a new apk file called yourappname-signed.apk which can be installed and should support multiwindow feature.
Guys this is my first guide,mod edit, my first everything, consider this thx xda , also thx to @v6ser
NON GALAXY S6 USERS, Please Test AND UPDATE