Header Ads

Qpython Bluetooth parche permiso de administrador

Qpython para android es muy útil para conseguir una idea en funcionamiento rápidamente. Hay un problema con sus permisos bluetooth aunque lo que significa que cada vez que se ejecuta ninguna función relacionada con Bluetooth, se produce un error de permisos. A veces, el mensaje de error dice algo sobre Bluetooth que requiera permiso de administrador para ser usada, pero en este caso he recibido un mensaje conexión rechazada:
SC20140330-181316
Después de buscar en línea, sólo había un mensaje relacionado con este en un foro. Por suerte un usuario sugirió que descompilación el archivo APK, editando el archivo AndroidManifest.xml para dar el App Qpython los permisos correctos y luego reconstruir el archivo .apk debe solucionar el problema. Para trabajar con el archivo apk utilicé apktool para la descompilación y la reconstrucción. Estos son los comandos utilizados:
Coloque el archivo .apk (en este caso Retitulé mina para test.apk) en el mismo directorio que el archivo apktool.jar y ejecute el siguiente comando para descompilar el archivo apk:
java-jar d test.apk
Después se descompila el archivo, abrir el AndroidManifest.xml y añadir en la línea siguiente:
<Usa-permiso android: name = "android.permission.BLUETOOTH_ADMIN" />
Así que ahora queremos reconstruir el archivo APK. Esto se hace con el comando siguiente: (Sólo asegúrese de puntos dada la dirctory a la carpeta que contiene el archivo .apk descompilada)
java-jar apktool.jar b / usr / local / bin / test
Así que ahora el archivo .apk ha sido reconstruido. Ahora se necesita ser firmado antes de que pueda ser instalado en un teléfono Android. SignAPK se utilizó para esto. Este es el comando utilizado:
java-jar signapk.jar certificate.pem key.pk8 test.apk test_signed.apk
Esto se llevará a test.apk, firmarlo y test_signed.apk salida. Ahora, la aplicación puede ser transferida a un teléfono inteligente e instalado. Después de que se instala la aplicación modificada he conseguido encontrar y conectarse con mi computadora sin errores. Aquí es lo que parecía en el terminal:
Selection_067
Aquí está la secuencia de comandos Qpython utilizado:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#qpy:console
from androidhelper import Android
 
droid = Android()
 
droid.toggleBluetoothState(True)# turn on bluetooth
if droid.checkBluetoothState().result == True:
    print 'Bluetooth is on'
else:
    print "could not turn on bluetooth"
 
print " Phone info:" + str(droid.bluetoothGetLocalName())
print "Computer info: " + str(droid.bluetoothGetRemoteDeviceName(address='88:53:2E:E8:65:4C'))
droid.bluetoothConnect(address='88:53:2E:E8:65:4C') # connect to computer
print "Active connections : " + str(droid.bluetoothActiveConnections())


No hay comentarios:

Con la tecnología de Blogger.