Android development experience and development environment considerations

Source: Internet
Author: User
Tags time in milliseconds

 

 

I. development environment considerations

 

When Elipse is used for development, it will not be compiled as long as Eclipse is used for import, prompting that class R is redefined because the R will be automatically generated after Elipse is imported into the android project. java, so you only need to delete the gen folder, such:

Gen folder under gingerbread \ packages \ apps \ internettv \

 

 

 

2. Google weather APK

See http://www.eoeandroid.com/thread-42450-1-1.html

 

 

3. tablelayout Layout

 

Location defined in Java: setgravity (gravity.Right/left/center_horizontal ....)

As follows:

Tablerow ROW =NewTablerow (This);

 

Row. setlayoutparams (NewLayoutparams (layoutparams.Fill_parent,

Layoutparams.Wrap_content));

 

Row. setgravity (gravity.Right);

 

XML layout: Android: paddingright = "30px", set the content and right margin of 30px

As follows:

<Tablelayout

Android: Id ="@ + ID/table"

Android: layout_width ="Fill_parent"

Android: layout_height ="Wrap_content"

Android: stretchcolumns ="1, 2, 3, 4"

Android: paddingright ="30px"

>

</Tablelayout>

 

 

5. Modify the default language, country, and Time Zone

 

If you want to set the language to Korean by default, make the following changes:

Modify rk29sdk. mk under device \ rockchip \ rk29sdk

Product_property_overrides + = \

Dalvik. VM. heapsize = 48 m \

Wifi. Interface = wlan0 \

Wifi. supplicant_scan_interval = 15 \

Persist. webview. minscale = 0.5 \

Persist. webview. maxscale = 2 \

Persist. webview. WML = Disable \

Product. Version = rk29_gingerbread_v1.28_0701 \

External_storage_state = removed \

Persist. SYS. timezone = Asia/Seoul \ // set the time zone to Seoul. The default value is Shanghai, China.

// If you want to add options to select timezone in setting, add them to timezone. XML in XML under setting.

Persist. SYS. Language = Ko // sets the language

Persist. SYS. Country = Kr // set the country

Modify this file, make clean during compilation, and then make.

 

 

Turn on WiFi

Extract the compressed package in the attachment.

1. Replace the drivers/NET/wireless/rtl8192c/directory under the kernel directory. In make menuconfig, set the WiFi driver to 8192c and regenerate kernel. IMG.

2. Disable. combo_scan = wpa_driver_wext_combo_scan In the gingerbread \ external \ wpa_supplicant_6 \ wpa_supplicant \ SRC \ drivers \ driver_wext.c file,

Regenerate the system. imgfile. The rtl8188.

 

 

 

7. Change Frequency

 

The disconnection and horizontal stripe of your board may be caused by the CPU power supply voltage being too low or the ddr3 hardware wiring being unqualified. Follow the steps below to modify and test.

First

Modify/home/chenxiao/rk_pro/RK2918_R-BOX_SDK_V1.06_110817/itv-kernel-2-2-1/ARCH/ARM/mach-rk29/cpufreq. c

 

Static struct cpufreq_frequency_table default_freq_table [] = {

// {. Index = 950000,. frequency = 204000 },

// {. Index = 1050000,. frequency = 300000 },

{. Index = 1200000,. frequency = 408000 },

// {. Index = 1125000,. frequency = 600000 },

// {. Index = 1200000,. frequency = 816000 },

{. Index = 1350000,. frequency = 1008000 },

// {. Index = 1250000,. frequency = 912000 },

// {. Index = 1250000,. frequency = 1008000 },

// {. Index = 1300000,. frequency = 1104000 },

// {. Index = 1300000,. frequency = 1128000 },

// {. Index = 1325000,. frequency = 1152000 },

// {. Index = 1350000,. frequency = 1176000 },

// {. Index = 1460000,. frequency = 1200000 },

{. Frequency = cpufreq_table_end },

};

 

If this still happens, you can reduce the memory frequency to 406 MHz in the configuration file.

 

In addition, change r149 to 1.5 kb on the hardware.

 

8. Added APK application software.

1. Z: \ RK2918_R-BOX_SDK_V1.06_110817 \ gingerbread \ build \ target \ productdirectory to modify the generic.mkfile, such as add googleweather.apk, as follows: product_packages: = \

Accountandsyncsetask \

Deskclock \

Alarmprovider \

Bluetooth \

Calculator \

Calendar \

Camera \

Certinstaller \

Drmprovider \

Email \

Gallery3d \

MMS \

Music \

Provision \

Protips \

Quicksearchbox \

Settings \

Sync \

Systemui \

Updater \

Desktop2d_mbx \

Vpadmonitor \

Calendarprovider \

Filebrowser \

Googleweather \

Rockchipsskypetest \

Commwebsite \

Syncprovider

2. Add the corresponding APK file in the Z: \ RK2918_R-BOX_SDK_V1.06_110817 \ gingerbread \ device \ rockchip \ sdkdemo \ APK directory

 

IX precautions for pre-installed APK

Hello, for the pre-installed APK you mentioned, the situation is as follows: for the kind of problem that requires calling other dynamic libraries. so APK (usually Calling C or C ++ code through JNI), pre-installation usually has problems, because during the pre-Installation of APK, the directory for storing the dynamic library in your project does not need this APK. so file. Once you click these pre-installed icons, The so file fails to be loaded. In the UI, the image is flashing, and nothing is executed or an error is reported. Different from pre-installation, the installer obtains the APK information during manual installation. so dynamic library, will take the initiative to copy so to the directory where the dynamic library is stored. If you want to pre-install these APK files that require dynamic library loading, you must manually copy the so files and place them in out \ target \ product \ rk29sdk (sdkdemp) \ System \ Lib.

Extract APK. so: switch to the APK directory in the serial port. Take skeype as an example and input CD/data/COM. rk. skype/, here com. rk. skype is the package name. You can see a lib folder under this directory. Enter this folder and you will find libskypekitvideodemo. so,

The dynamic library used for loading the javasrockchipsskypetest.apk. For more information, see the following name: busybox CP libskypekitvideodemo. so/flash/, here is the libskypekitvideodemo. so copy it to flash, and then you can copy libskypekitvideodemo. so, put it into out \ target \ product \ rk29sdk (sdkdemp) \ System \ Lib, and then generate the firmware. For other APK that need to load the dynamic library, this is also required.

 

 

10. Modify the version display in the "about R-box" option.

The model number, kernel version, and build number are displayed in

Under the gingerbread \ packages \ apps \ Settings \ SRC \ com \ Android \ settings directory

Modify the deviceinfosettings. Java file as follows:

 

Setstringsummary ("device_model", "123itv"); // build. model); // Jason Wang

Setstringsummary ("build_number", product_version); // + "\ n") + build. Display); // Jason Wang

 

And the private string getformattedkernelversion () function can modify the corresponding version information, you can also modify this information in the corresponding MK File

 

11. Delete the display. The default value is hdmi and the output is 1080 p 60Hz.

Because it is the default HDMI, P output, you only need

Under the gingerbread \ packages \ apps \ Settings \ res \ XML directory

Delete the display layout in the display_settings.xml file.

Delete the following parts:

<! -- Display interface and Mode settings

<Preferencescreen

Android: Title = "@ string/display_output_settings"

Android: Summary = "@ string/display_output_settings_summary">

<Intent

Android: Action = "android. Intent. Action. Main"

Android: targetpackage = "com. rockchip. displayoutputsettings"

Android: targetclass = "com. rockchip. displayoutputsettings. displayoutputsettings"/>

</Preferencescreen -->

 

 

12 "no service" under notifications is not displayed"

In the carrierlabel. Java file under the gingerbread \ frameworks \ base \ packages \ systemui \ SRC \ com \ Android \ systemui \ statusbar directory, delete the following red parts:

If (something ){

Settext (Str. tostring ());

} Else {

// Settext (COM. Android. Internal. R. String. lockscreen_carrier_default); // Jason Wang

}

 

 

Thirteen keypad Map

There is a Qwerty. KL in gingerbread \ device \ rockchip \ sdkdemo \ proprietary \ internettv;

 

 

14. Modify the dynamic image anim

Directly replace the image in drawable, and then call the corresponding image in RES/anim.

1. For example: <? XML version = "1.0" encoding = "UTF-8"?>

2. <set xmlns: Android = "http://schemas.android.com/apk/res/android">

3. <alpha

4. Android: fromalpha = "0.1"

5. Android: toalpha = "1.0"

6. Android: duration= "3000"

7./>

8. <! -- Transparency controls the animation effect alpha

9. floating point value:

10. The fromalpha attribute is the transparency when the animation starts.

11. The toalpha attribute is the transparency when the animation ends.

12. Note:

13. 0.0 indicates completely transparent

14. 1.0 indicates completely opaque

15. The above value is a float data type number between 0.0 and 1.0.

16.

17. long integer value:

18. The duration attribute is the animation duration.

19. Note:

20. Time in milliseconds

 

 

15. Modify the display patch of memory 512

 

Replace meminfo. c file under \ itv-kernel-2-2-1 \ FS \ proc

 

16. The updated code can be changed to scale.

After the code is updated, you only need to modify board_default_screen_scale defined in boardconfig. mk.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.